从Debian 6升级Squeeze with ISPConfig和courier / postfix到Debian 7 Wheezy

本文描述了一个具有Courier pop3 / imap的ISPConfig服务器从Debian 6到Debian 7的升级过程。

How-To由Howtoforge用户@manarak从以下两个来源编译,并补充了其他修补程序。

还要感谢你,直到帮助我的suphp.conf问题。

本手段假设您的服务器运行:

  • Debian 6与Courier / Postfix
  • ISPconfig

至少这就是我的跑步。

第一部分:升级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

按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配置)

(保持我的awstats配置版本)

(保持我的suphp配置)

(取包装版本的phpmyadmin apache.conf)

apt-get dist-upgrade

(安装包的版本的Rcs)

(安装包的my.cnf版本)

(不要更改mysql密码)

...等等...我认为这些都是重要的选择

我选择了所有其他问题的默认答案。

当一切都做完了

reboot.

Wheezy升级现已完成。

第二部分:升级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

之后,做一个autoremove来清理:

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

现在应该正确设置ISPConfig。 做一个

reboot.

第三部分:修复

mod_security

如果你运行mod_security(你真的应该),你需要这样才能使phpmyadmin工作:

/etc/phpmyadmin/apache.conf

<IfModule mod_security2.c>
   SecRuleEngine Off
</IfModule>

错误:语法错误,proxy_html.load失败,configtest失败...

在新的12.04服务器安装上安装并启用proxy_html(libapache2-mod-proxy-html)后,我们会收到以下错误信息:

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

OR(在我看来更简单,可能更加升级):

导航到/ 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)

以root身份编辑/ etc / sudoers ,并在Defaults env_reset之后插入此行:

Defaults secure_path=“/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin”

资料来源:http://blog.coffeebeans.at/?p=380

错误:启动Apache时的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

解决方案是删除suhosin包。

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://www.howtoing.com/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

必须被替换

%u@%r

来源:谢谢匿名用户