Обновление с Debian 6 Squeeze с помощью ISPConfig и courier/postfix до Debian 7 Wheezy
На этой странице
- Часть первая: обновление Debian
- Часть вторая: обновление ISPconfig
- Часть третья: исправления
- mod_security
- Ошибка: синтаксическая ошибка, сбой proxy_html.load, сбой configtest...
- Ошибка: dpkg: предупреждения при выполнении команд с помощью sudo:
- Ошибка: предупреждения PHP при запуске Apache
- Ошибка: из-за устаревших пометок комментариев журналы разбухают.
- Ошибка: Saslauthd периодически дает сбой, и пользователи не могут войти в почтовый ящик или отправить почту.
- Ошибка: после обновления phpmyadmin не хочет входить в систему, а вместо этого предлагает загрузить файл index.php
- Ошибка: файлы журнала показывают ошибку аутентификации SASL
Это руководство было скомпилировано пользователем Howtoforge @manarak из следующих двух источников и дополнено дополнительными исправлениями.
- Falko: Как обновить Debian Squeeze до Wheezy
- Jeppe: Обновление Debian 6 Squeeze до Debian 7 Wheezy с помощью ISPConfig
Также спасибо Тиллю за помощь в решении проблемы с suphp.conf.
Это руководство предполагает, что ваш сервер работает:
- Debian 6 с Courier/Postfix
- Конфигурация ISP
по крайней мере, так бежал мой.
Часть первая: обновление Debian
Убедитесь, что ваш /etc/apt/sources.list выглядит довольно стандартно. Мой выглядит так:
deb http://ftp.no.debian.org/debian/ squeeze main contrib non-free deb-src http://ftp.no.debian.org/debian/ squeeze main contrib non-free deb http://security.debian.org/ squeeze/updates main contrib non-free deb-src http://security.debian.org/ squeeze/updates main contrib non-free #squeeze-updates, previously known as ‘volatile’ deb http://ftp.no.debian.org/debian/ squeeze-updates main contrib non-free deb-src http://ftp.no.debian.org/debian/ squeeze-updates main contrib non-free
Затем запустите текущее обновление, чтобы убедиться, что сжатие полностью обновлено:
apt-get update
apt-get upgrade
apt-get dist-upgrade
Теперь мы проверим, что ни один пакет не находится на удержании. Они не должны ничего возвращать:
dpkg -–audit
dpkg -–get-selections | grep hold
Последний запуск aptitude для проверки наличия каких-либо пакетов, ожидающих установки или удаления:
aptitude
Нажмите g, чтобы просмотреть список и исправить их. Список должен быть чистым, чтобы никакие пакеты не устанавливались, не удалялись и не обновлялись. Если какие-то пакеты показаны, заходим в меню «Действия» и выбираем первый пункт «Установить/удалить пакеты». Нажмите Q, чтобы выйти
Теперь отредактируйте файл /etc/apt/sources.list и обновите репозитории wheezy. Мой выглядит так:
deb http://ftp.no.debian.org/debian wheezy main contrib non-free deb-src http://ftp.no.debian.org/debian wheezy main contrib non-free deb http://ftp.no.debian.org/debian wheezy-updates main contrib non-free deb http://security.debian.org/ wheezy/updates main contrib non-free
Запустите команды для обновления вашей системы с помощью пакетов wheezy:
apt-get update
(Система жалуется на отсутствие открытых ключей... нет проблем)
apt-get upgrade
(система покажет некоторые текстовые стены, нажмите Q, чтобы выйти)
(сохранить установленный crontab)
(установите сопровождающую версию rkhunter config)
(сохраните мою версию конфигурации awstats)
(сохраните мою конфигурацию suphp)
(возьмите версию пакета phpmyadmin apache.conf)
apt-get dist-upgrade
(установить версию пакета RCS)
(установите пакетную версию my.cnf)
(не меняйте пароль mysql)
...и т.д... Я думаю, что это были все важные выборы
Я выбрал ответ по умолчанию для всех остальных вопросов.
Когда все будет сделано, сделайте
reboot.
Часть вторая: обновление ISPconfig
Войдите на свой сервер и убедитесь, что мы являемся пользователем root:
su -
Нам нужно убедиться, что apache получил все хриплые пакеты, которые нужны ISPConfig:
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby libapache2-mod-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl memcached
После этого выполните автоматическое удаление для очистки:
apt-get autoremove
Перейдите в каталог /tmp, загрузите архив ISPConfig, распакуйте и запустите update.php, чтобы убедиться, что ISPConfig правильно настроен для wheezy. Стандартный ответ на все вопросы. Самая важная часть - позволить ему перенастроить службы:
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xvfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/
php –q update.php
reboot.
Часть третья: исправления
mod_security
Если вы запустите mod_security (на самом деле вам следует это сделать), вам понадобится это для работы phpmyadmin:
в /etc/phpmyadmin/apache.conf добавить
<IfModule mod_security2.c> SecRuleEngine Off </IfModule>
Ошибка: синтаксическая ошибка, сбой proxy_html.load, сбой configtest...
После установки и включения proxy_html (libapache2-mod-proxy-html) на новой установке сервера 12.04 мы получаем следующую ошибку:
apache2: Syntax error on line 210 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/proxy_html.load: Cannot load /usr/lib/libxml2.so.2 into server: /usr/lib/libxml2.so.2: cannot open shared object file: No such file or directory Action 'configtest' failed. The Apache error log may have more information.
объяснение: libxml2 установлен, но, как и в архитектуре amd64, файл libxml2 находится в: /usr/lib/x86_64-linux-gnu/libxml2.so.2
Решение состоит в изменении /etc/apache2/mods-available/proxy_html.load
LoadFile /usr/lib/libxml2.so.2
в :
LoadFile /usr/lib/x86_64-linux-gnu/libxml2.so.2
ИЛИ (на мой взгляд, более простой и, вероятно, более устойчивый к обновлениям):
перейдите в /usr/lib и выполните
ln -s /usr/lib/x86_64-linux-gnu/libxml2.so.2 libxml2.so.2
источник: https://bugs.launchpad.net/ubuntu/+source/mod-proxy-html/+bug/964397
Ошибка: dpkg: предупреждения при выполнении команд с помощью sudo:
dpkg: warning: ‘ldconfig’ not found in PATH or not executable dpkg: warning: ‘start-stop-daemon’ not found in PATH or not executable dpkg: error: 2 expected programs not found in PATH or not executable Note: root’s PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin E: Sub-process /usr/bin/dpkg returned an error code (2)
Отредактируйте /etc/sudoers как root и вставьте эту строку после Defaults env_reset:
Defaults secure_path=“/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin”
Источник: http://blog.coffeebeans.at/?p=380
Ошибка: Предупреждения PHP при запуске Apache
При попытке запустить апач выдало:
PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php5/20100525/suhosin.so’ - /usr/lib/php5/20100525/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0
Решение состоит в том, чтобы удалить пакет сухосина.
apt-get purge php5-suhosin
Источник: http://blog.tordeu.com/?p=417
Ошибка: устаревшие пометки комментариев вызывают раздувание журналов.
Журнал ISPConfig Cron показывал это при каждом запуске cron каждую минуту:
PHP Deprecated: Comments starting with ‘#’ are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0
Решение. Запустите эту команду, чтобы найти комментарии во всех файлах .ini и заменить # на ;
find /etc/php5/cli/conf.d/ -name “*.ini” -exec sed -i -re ‘s/^(\s)#(.)/\1;\2/g’ {} \;
или
find /etc/php5/ -name “*.ini” -exec sed -i -re ‘s/^(\s)#(.)/\1;\2/g’ {} \;
Источник: http://stackoverflow.com/questions/14074101/getting-comments-starting-with-are-deprecated-message-via-cli
Ошибка: Saslauthd периодически дает сбой, и пользователи не могут войти в почтовый ящик или отправить почту.
Я понятия не имею, исправляет ли что-либо следующее исправление, проблема кажется сложной и, похоже, связана с ошибкой.
Вот этим я и пытался решить проблему, saslauthd сейчас все равно дает сбои, но гораздо реже.
Если вы хотите попробовать: в /etc/default/saslauthd измените параметры, чтобы они выглядели следующим образом:
OPTIONS="-n 0 -c -m /var/spool/postfix/var/run/saslauthd -r"
источники и обсуждения этой проблемы:
- https://linux-console.net/community/threads/saslauthd-stops-working-every-few-weeks.66123/
- https://github.com/webmin/webmin/issues/58
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758660
Ошибка: после обновления phpmyadmin не хочет вас логинить, а вместо этого предлагает скачать файл index.php
в /etc/apache2/mods-available/suphp.conf закомментируйте
<FilesMatch "\.ph(p3?|tml)$">
раздел и добавить строку
AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml
в противном случае все файлы PHP будут запускаться SuPHP.
(Спасибо, пока)
Ошибка: файлы журнала показывают ошибку аутентификации SASL
После обновления это может появиться в журналах:
... SASL PLAIN authentication failed: no mechanism available
решение: отредактируйте /etc/postfix/sasl/smtpd.conf и замените
auxprop_plugin: mysql
с
auxprop_plugin: sql sql_engine: mysql
и
%u
должен быть заменен на
%%r
источник: спасибо анонимный пользователь