главная - Статьи - Почта - Postfix + Dovecot + MySQL
Как обновить Postfixadmin
Дата обновления: 05.03.2020Теги: Почтовый сервер Настройка сервера 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 на эту папку. На мой взгляд, такое надо делать в крайнем случае.
Или: "Invalid query: Unknown column 'superadmin' in 'field list postfixadmin ...".
В этом случае вам надо в браузере открыть "http://your_ip/postfixadmin/upgrade.php".
Вообще, как вы понимаете, проблем может быть сколь угодно много. И у каждого они могут быть свои, уникальные и такие родные ))
После того, как убедились, что все работает, удалите старую папку postfixadmin-2.3.7. Она вам ни к чему, к тому же может содержать уязвимости, исправленные в только скачанной новой версии.
Авторизуйтесь для добавления комментариев!
Из официального руководства руководства по настройке:
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