Данной заметкой я хочю в первую очередь сформировать себе шпаргалку на будующее посредством выкладывания на своем блоге пошаговой работоспособной инструкции как установить Web-ориентированную оснастку dbmailadmin на систему Ubuntu 12.04.5 Server amd64. Но перед этим, дам небольшой совет: всегда и везде советую перед разворачиванием в тестовых условиях, а после переноса на боевую систему обновлять систему до самого стабильного релиза текущей версии:
ekzorchik@srv-mon:~$ sudo apt-get update && sudo apt-get upgrade -y
Далее создаю новый системный аккаунт: dbmailadmin
После уменьшаю права для созданного системного аккаунта:
ekzorchik@srv-mon:~$ sudo useradd -m -s /sbin/nologin -d /home/dbmailadmin dbmailadmin
Доустановливаю в систему некоторые зависимости:
ekzorchik@srv-mon:~$ sudo apt-get install gcc python-setuptools python-dev libmysqlclient15-dev libapache2-mod-wsgi python-mysqldb -y
Доустановливаю python модули:
ekzorchik@srv-mon:~$ sudo easy_install web.py Jinja2 DBUtils
Следующим шагом загружаю оснастку: DBMailAdmin
ekzorchik@srv-mon:~$ wget https://bitbucket.org/zhb/dbmailadmin/downloads/DBMailAdmin-MySQL-1.1.1.tar.bz2
ekzorchik@srv-mon:~$ sudo tar xjf DBMailAdmin-MySQL-1.1.1.tar.bz2 -C /usr/share/apache2/
ekzorchik@srv-mon:~$ cd /usr/share/apache2/
ekzorchik@srv-mon:/usr/share/apache2$ sudo chown -R dbmailadmin:dbmailadmin DBMailAdmin-MySQL-1.1.1/
ekzorchik@srv-mon:/usr/share/apache2$ sudo chmod -R 0555 DBMailAdmin-MySQL-1.1.1/
ekzorchik@srv-mon:/usr/share/apache2$ sudo ln -s DBMailAdmin-MySQL-1.1.1 dbmailadmin
Далее на основе дефолтного конфигурационного файла создаю свой собственный:
ekzorchik@srv-mon:/usr/share/apache2$ cd /usr/share/apache2/dbmailadmin
ekzorchik@srv-mon:/usr/share/apache2/dbmailadmin$ sudo cp settings.ini.dbmail_mysql.sample settings.ini
ekzorchik@srv-mon:/usr/share/apache2/dbmailadmin$ sudo chown dbmailadmin:dbmailadmin settings.ini
ekzorchik@srv-mon:/usr/share/apache2/dbmailadmin$ sudo chmod 0400 settings.ini
ekzorchik@srv-mon:/usr/share/apache2/dbmailadmin$ cd ~/
ekzorchik@srv-mon:~$ sudo nano /usr/share/apache2/dbmailadmin/settings.ini
[dbmailadmin]
# Database used to store DBMailAdmin data. e.g. sessions, log.
host = 127.0.0.1
port = 3306
db = dbmailadmin
user = dbmailadmin
passwd = 612mbddr@
[dbmail]
host = 127.0.0.1
port = 3306
db = dbmail
user = dbmail
passwd = 612mbddr@
Следующим шагом создаю профиль на доступ к оснастке dbmailadmin из браузера:
ekzorchik@srv-mon:~$ sudo nano /etc/apache2/sites-available/dbmailadmin.conf
WSGIScriptAlias /dbmailadmin /usr/share/apache2/dbmailadmin/dbmailadmin.py/
Alias /dbmailadmin/static /usr/share/apache2/dbmailadmin/static/
WSGISocketPrefix /var/run/wsgi
WSGIDaemonProcess dbmailadmin user=dbmailadmin threads=15
WSGIProcessGroup dbmailadmin
AddType text/html .py
<Directory /usr/share/apache2/dbmailadmin/>
Order allow,deny
Allow from all
</Directory>
ekzorchik@srv-mon:~$ sudo service apache2 reload
Далее перезапускаю Web-сервер apache для активации модуля mod_wsgi:
ekzorchik@srv-mon:~$ sudo service apache2 restart
Следующим шагом создаю базу данных dbmailadmin и пользователя на эту базу:
ekzorchik@srv-mon:~$ sudo apt-get install mysql-server -y
New password for the MySQL “root” user:712mbddr@
Repeat password for the MySQL “root” user: 712mbddr@
ekzorchik@srv-mon:~$ mysql -uroot -p712mbddr@;
mysql> CREATE DATABASE dbmailadmin DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> USE dbmailadmin;
Database changed
mysql> SOURCE /usr/share/apache2/dbmailadmin/docs/samples/dbmailadmin.sql;
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.00 sec)
По умолчанию пароль на учетную запись mysql касательно dbmailadmin – plan_password, чтобы изменить пароль задействуем нижеследующий синтаксис:
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON dbmailadmin.* TO dbmailadmin@localhost IDENTIFIED BY '612mbddr@';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Следующим шагом будет создание базы данных dbmail и наполние ее содержимым определенных таблиц:
ekzorchik@srv-mon:~$ wget http://www.dbmail.org/download/3.2/dbmail-3.2.3.tar.gz
ekzorchik@srv-mon:~$ tar -zxf dbmail-3.2.3.tar.gz
ekzorchik@srv-mon:~$ mv dbmail-3.2.3 dbmail
ekzorchik@srv-mon:~$ mysql -u root -p712mbddr@;
mysql> CREATE DATABASE dbmail DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> GRANT ALL ON dbmail.* to dbmail@localhost identified by '612mbddr@';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
ekzorchik@srv-mon:~$ mysql -u dbmail dbmail -p612mbddr@ < dbmail/sql/mysql/create_tables.mysql
Далее создаю новую колонку в базе данных dbmail:
ekzorchik@srv-mon:~$ mysql -u dbmail dbmail -p612mbddr@ < /usr/share/apache2/dbmailadmin/docs/samples/dbmail_addition.mysql
ekzorchik@srv-mon:~$ mysql -u root -p712mbddr@;
mysql> use dbmail;
mysql> UPDATE dbmail_users SET domain = SUBSTRING_INDEX(userid, '@', -1) WHERE domain = '' AND user_idnr > 3";
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0
Следующим шагом создаю глобального администратора имеющего доступ к DBMailAdmin:
ekzorchik@srv-mon:~$ sudo openssl passwd -1 '712mbddr@'
$1$2.nRZT92$u9TPnhsrt/5LHd5t5Yc8g/
mysql> INSERT INTO dbmail_admins (username, password) VALUES ('ekzorchik', '$1$2.nRZT92$u9TPnhsrt/5LHd5t5Yc8g/');
Query OK, 1 row affected (0.02 sec)
mysql> INSERT INTO dbmail_domain_admins (username, domain) VALUES ('ekzorchik', 'ALL');
Query OK, 1 row affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
ekzorchik@srv-mon:~$ mysql -u root -p712mbddr@;
mysql> use dbmail;
mysql> INSERT INTO dbmail_admins (username, password) VALUES ('ekzorchik@polygon.local', '$1$2.nRZT92$u9TPnhsrt/5LHd5t5Yc8g/');
Query OK, 1 row affected (0.02 sec)
mysql> INSERT INTO dbmail_domain_admins (username, domain) VALUES ('ekzorchik@polygon.local', 'ALL');
Query OK, 1 row affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
Теперь чтобы получить доступ к Web-ориентированному доступу по управлению Вашими почтовыми аккаунтами в браузере открываем следующую строку:
http://IP&DNS/dbmailadmin
аутентифицируемся:
Username: ekzorchik@polygon.local
Password: 712mbddr@
и нажимаем login и попадаем в Web-оснастку администрирования
Работает, вроде бы функционал схож с тем как я использовал для управления почтовым сервером postfixadmin
На этом считаю в рамках той задачи которую преследовал оформляю данные пошаговые действия в виде заметки выполненной. Прощаюсь, до встречи, с уважением автор блога – ekzorchik. И конечно же у заметки будет продолжение.