Сервер в кармане, или просто о сложном!

главная - Статьи - Почта - Postfix + Dovecot + MySQL

Как обновить Postfixadmin

Теги: Linux Настройка сервера Почтовый сервер

Если у вас CentOS, вы устанавливали все не "make... make hardcor...", а примерно так, то скорее всего, postfixadmin у вас скачан в качестве архива, распакован в /var/www/html/postfixadmin-2.3.7 и сделана символьная ссылка ln -s /var/www/html/postfixadmin-2.3.7/ /var/www/html/postfixadmin/, заходите вы в postfixadmin примерно так "http://your_ip/postfixadmin/".

Так вот, чтобы обновить версию postfixadmin на новую, вы должны сделать так:

> cd /var/www/html
> ls -al

Увидите нечто вроде

...
postfixadmin -> /var/www/html/postfixadmin-2.3.7/
postfixadmin-2.3.7
...

Ок.

> wget http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.92/postfixadmin-2.92.tar.gz
> tar xvfz postfixadmin-2.92.tar.gz

Мы получили три директории с postfixadmin и скачанный архив:

...
postfixadmin -> /var/www/html/postfixadmin-2.3.7/
postfixadmin-2.3.7
postfixadmin-2.92
postfixadmin-2.92.tar.gz
...

Сам архив нам уже не нужен:

> rm postfixadmin-2.92.tar.gz

Теперь мы должны удалить старую символьную ссылку и заменить ее на новую:

> unlink postfixadmin
> ln -s /var/www/html/postfixadmin-2.92/ /var/www/html/postfixadmin

Только не торопитесь удалять старую директорию postfixadmin-2.3.7! В ее файле config.inc.php есть нужные нам параметры:

$CONF['configured']
$CONF['setup_password']
$CONF['database_type']
$CONF['database_host']
$CONF['database_user']
$CONF['database_password']
$CONF['database_name']
$CONF['encrypt']

Возможно, что-то еще. Скопируйте их в конфиг вновь скачанного postfixadmin:

nano /var/www/html/postfixadmin/config.inc.php

Возможные проблемы

Могут быть грабли.

Например, откроете веб-страницу "http://your_ip/postfixadmin/", а там тишина, пусто. Можно попробовать так: "http://your_ip/postfixadmin/setup.php". Вы можете увидеть такое сообщение: "Error: Smarty template compile directory templates_c is not writable. Please make it writable."

Это из того, что httpd не может произвести запись в папку "postfixadmin/templates_c". В папке пока ничего нет.

Лечится, например, так:

chown apache postfixadmin/templates_c

где apache - пользователь, из под которого запущен httpd (в моем случае это тоже apache). Кое-где народ ставит права 777 на эту папку. На мой взгляд, такое надо делать в крайнем случае.

Из официального руководства руководства по настройке:

PostfixAdmin does not require write access to any files except the tempates_c
directory (smarty cache). You can therefore leave the files owned as root (or
another user); as long as the web server user (e.g. www-data) can read them, it
will be fine.
For templates_c/, allow write access (only) for the web server user (e. g. www-data).
The easiest way to do this is   chown -R www-data templates_c

Это означает, что для папки postfixadmin можно ставить даже такие права:

chown -R nobody:nobody postfixadmin
chown -R apache:apache postfixadmin/templates_c

Или: "Invalid query: Unknown column 'superadmin' in 'field list postfixadmin ...".

В этом случае вам надо в браузере открыть "http://your_ip/postfixadmin/upgrade.php".

Вообще, как вы понимаете, проблем может быть сколь угодно много. И у каждого они могут быть свои, уникальные и такие родные ))

 

После того, как убедились, что все работает, удалите старую папку postfixadmin-2.3.7. Она вам ни к чему, к тому же может содержать уязвимости, исправленные в только скачанной новой версии.

Авторизуйтесь для добавления комментариев!


    забыли пароль?    новый пользователь?