Поиск по сайту:

Обновление с Debian 6 Squeeze с помощью ISPConfig и courier/postfix до Debian 7 Wheezy


На этой странице

  1. Часть первая: обновление Debian
  2. Часть вторая: обновление ISPconfig
  3. Часть третья: исправления
    1. mod_security
    2. Ошибка: синтаксическая ошибка, сбой proxy_html.load, сбой configtest...
    3. Ошибка: dpkg: предупреждения при выполнении команд с помощью sudo:
    4. Ошибка: предупреждения PHP при запуске Apache
    5. Ошибка: из-за устаревших пометок комментариев журналы разбухают.
    6. Ошибка: Saslauthd периодически дает сбой, и пользователи не могут войти в почтовый ящик или отправить почту.
    7. Ошибка: после обновления phpmyadmin не хочет входить в систему, а вместо этого предлагает загрузить файл index.php
    8. Ошибка: файлы журнала показывают ошибку аутентификации 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

    источник: спасибо анонимный пользователь