서버 업그레이드 · 4 min read · Nov 06, 2025
Debian 6 Squeeze에서 ISPConfig 및 courier/postfix를 사용하여 Debian 7 Wheezy로 업그레이드하기
이 How-To는 Howtoforge 사용자 @manarak에 의해 다음 두 출처에서 작성되었으며 추가 수정으로 보완되었습니다.
- Falko: Debian Squeeze를 Wheezy로 업그레이드하는 방법
- Jeppe: ISPConfig와 함께 Debian 6 Squeeze를 Debian 7 Wheezy로 업그레이드하기
또한 suphp.conf 문제를 도와준 Till에게 감사드립니다.
이 How-To는 귀하의 서버가 다음을 실행한다고 가정합니다:
- Courier/Postfix가 설치된 Debian 6
- ISPconfig
적어도, 제 서버는 그렇게 실행되었습니다.
1부: 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, 이전에 ‘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다음으로, 현재 업그레이드를 실행하여 squeeze가 완전히 최신 상태인지 확인하십시오:
apt-get updateapt-get upgradeapt-get dist-upgrade이제 패키지가 보류 중인지 확인합니다. 다음 명령은 아무것도 반환하지 않아야 합니다:
dpkg -–auditdpkg -–get-selections | grep hold마지막으로 aptitude를 실행하여 설치되거나 제거될 패키지가 있는지 확인합니다:
aptitudeg를 눌러 목록을 보고 이를 수정합니다. 설치, 제거 또는 업그레이드할 패키지가 없도록 목록이 깨끗해야 합니다. 패키지가 표시되면 “actions” 메뉴로 들어가 첫 번째 항목 “install/remove packages”를 선택합니다. 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-freewheezy 패키지로 시스템을 업그레이드하기 위한 명령을 실행합니다:
apt-get update(시스템이 공개 키가 없다고 불평합니다… 문제 없습니다)
apt-get upgrade(시스템이 몇 가지 텍스트 벽을 표시합니다. Q를 눌러 종료합니다)
(설치된 crontab 유지)
(패키지 유지 관리자의 rkhunter 구성 버전 설치)
(내 awstats 구성 버전 유지)
(내 suphp 구성 유지)
(패키지의 phpmyadmin apache.conf 버전 가져오기)
apt-get dist-upgrade(패키지의 Rcs 버전 설치)
(패키지의 my.cnf 버전 설치)
(mysql 비밀번호 변경하지 않기)
…기타 등등… 이 모든 것이 중요한 선택이었던 것 같습니다.
모든 것이 완료되면 다음을 실행합니다:
reboot.이제 wheezy 업그레이드가 완료되었습니다.
2부: ISPconfig 업그레이드
서버에 다시 로그인하고 root인지 확인합니다:
su -ISPConfig에 필요한 모든 wheezy 패키지가 apache에 설치되었는지 확인해야 합니다:
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 /tmpwget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gztar xvfz ISPConfig-3-stable.tar.gzcd ispconfig3_install/install/php –q update.php이제 ISPConfig가 적절하게 설정되어야 합니다. 다음을 실행합니다:
reboot.3부: 수정 사항
mod_security
mod_security를 실행하는 경우(정말로 실행해야 합니다), phpmyadmin이 작동하려면 다음이 필요합니다:
/etc/phpmyadmin/apache.conf에 추가합니다:
SecRuleEngine Off
오류: 구문 오류, 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또는 (제 생각에는 더 간단하고 아마도 더 업그레이드 저항성이 있을 것입니다):
/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
오류: 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 로그는 매 분마다 다음과 같은 내용을 표시했습니다:
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’ {} \;오류: saslauthd가 주기적으로 실패하고 사용자가 메일박스에 로그인하거나 메일을 보낼 수 없음.
다음 수정이 실제로 무엇인가를 수정하는지 모르겠습니다. 문제는 복잡해 보이며 버그와 관련이 있는 것 같습니다.
문제를 해결하기 위해 시도한 것은 saslauthd가 여전히 실패하지만 훨씬 덜 자주 발생합니다.
시도해 보려면: /etc/default/saslauthd에서 옵션을 다음과 같이 수정합니다:
OPTIONS="-n 0 -c -m /var/spool/postfix/var/run/saslauthd -r"이 문제에 대한 출처 및 논의:
- https://www.howtoforge.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에서 다음을 주석 처리합니다:
섹션을 추가하고 다음 줄을 추가합니다:
AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml그렇지 않으면 모든 PHP 파일이 SuPHP에 의해 실행됩니다.
(감사합니다, Till)
오류: 로그 파일에 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출처: 익명의 사용자에게 감사드립니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.