Как установить dbmailadmin на Ubuntu 12.04

Posted by

Данной заметкой я хочю в первую очередь сформировать себе шпаргалку на будующее посредством выкладывания на своем блоге пошаговой работоспособной инструкции как установить 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._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 касательно dbmailadminplan_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-оснастку администрирования

Web-оснастка dbmail admin на системе Ubuntu 12.04

 

Работает, вроде бы функционал схож с тем как я использовал для управления почтовым сервером postfixadmin

На этом считаю в рамках той задачи которую преследовал оформляю данные пошаговые действия в виде заметки выполненной. Прощаюсь, до встречи, с уважением автор блога – ekzorchik. И конечно же у заметки будет продолжение.

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

7 + один =