서버 설정 · 2 min read · Sep 21, 2025
완벽한 서버 - OpenSUSE 11.3 x86_64 [ISPConfig 2] - 페이지 6
13 Webalizer
webalizer를 설치하려면 다음을 실행하십시오.
yast2 -i webalizer14 시스템 시계 동기화
시스템 시계를 NTP 서버와 동기화하려면 다음을 수행하십시오:
yast2 -i xntp그런 다음 ntp에 대한 시스템 시작 링크를 추가하고 ntp를 시작하십시오:
chkconfig –add ntp
/etc/init.d/ntp start
15 SpamAssassin에 필요한 Perl 모듈 설치 (ISPConfig와 함께 제공됨)
다음 명령을 실행하십시오.
yast2 -i perl-HTML-Parser perl-Net-DNS perl-Digest-SHA1 perl-NetAddr-IP perl-Archive-Tar16 AppArmor 비활성화
AppArmor는 SUSE의 보안 확장(페도라의 SELinux와 유사)으로, 확장된 보안을 제공해야 합니다. 제 생각에는 안전한 시스템을 구성하는 데 필요하지 않으며, 일반적으로 장점보다 더 많은 문제를 일으킵니다(어떤 서비스가 예상대로 작동하지 않아 일주일 동안 문제를 해결한 후, 모든 것이 괜찮았고 AppArmor가 문제를 일으켰다는 것을 알게 되는 경우를 생각해 보십시오). 따라서 저는 이를 비활성화합니다(나중에 ISPConfig를 설치하려면 반드시 필요합니다).
다음과 같이 비활성화할 수 있습니다:
/etc/init.d/boot.apparmor stop
chkconfig -d boot.apparmor
17 끝
서버 구성은 이제 완료되었으며, 원하신다면 이제 ISPConfig를 설치할 수 있습니다. 다음 지침을 따르십시오: http://www.ispconfig.org/manual_installation.htm
ISPConfig를 설치하기 전에 반드시 해야 할 중요한 일이 있습니다. /usr/include/stdio.h를 열고 653번째 줄에서 getline을 parseline으로 교체하십시오:
vi /usr/include/stdio.h| [...] /* Like `getdelim', but reads up to a newline. This function is not part of POSIX and therefore no official cancellation point. But due to similarity with an POSIX interface or due to the implementation it is a cancellation point and therefore not marked with __THROW. */ extern _IO_ssize_t parseline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) __wur; #endif [...] |
이 작업을 수행하지 않으면 다음 오류로 인해 설치가 실패합니다:
htpasswd.c:101: error: conflicting types for ‘getline’
/usr/include/stdio.h:653: note: previous declaration of ‘getline’ was here
make[2]: [htpasswd.o] Error 1
make[2]: Leaving directory `/home/ISPConfig-2.2.stable/install_ispconfig/compile_aps/apache_1.3.41/src/support’
make[1]: [build-support] Error 1
make[1]: Leaving directory `/home/ISPConfig-2.2.stable/install_ispconfig/compile_aps/apache_1.3.41’
make: * [build] Error 2
ERROR: Could not make Apache
ISPConfig 설치가 성공적으로 완료된 후 /usr/include/stdio.h에 대한 변경 사항을 되돌릴 수 있습니다(하지만 ISPConfig를 업데이트할 때마다 다시 변경하는 것을 잊지 마십시오!).
설치 후 ISPConfig 2.x - 첫 단계 가이드를 확인하십시오. OpenSUSE에서 ISPConfig와 함께 PHP를 작동시키기 위해 반드시 필요한 단계는 해당 가이드의 2.4.3 장에 설명되어 있습니다:
/home/admispconfig/ispconfig/lib/config.inc.php를 열고…
vi /home/admispconfig/ispconfig/lib/config.inc.php… $go_info[“server”][“apache2_php”]를 addhandler로 변경하십시오:
| [...] $go_info["server"]["apache2_php"] = 'addhandler'; [...] |
또한 ISPConfig 설치가 성공적으로 완료된 후 다음을 실행해야 합니다:
postconf -e ‘relay_domains = $mydestination, hash:/etc/postfix/relay’
/etc/init.d/postfix restart
17.1 SuExec에 대한 주의 사항
CGI 스크립트를 suExec 하에 실행하려면 ISPConfig에서 생성한 웹사이트의 웹 루트를 /srv/www로 지정해야 합니다. SUSE의 suExec는 /srv/www를 Doc_Root으로 컴파일했습니다. 다음을 실행하십시오:
/usr/sbin/suexec2 -V출력은 다음과 같아야 합니다:
server1:~ # /usr/sbin/suexec2 -V
-D AP_DOC_ROOT=”/srv/www”
-D AP_GID_MIN=96
-D AP_HTTPD_USER=”wwwrun”
-D AP_LOG_EXEC=”/var/log/apache2/suexec.log”
-D AP_SAFE_PATH=”/usr/local/bin:/usr/bin:/bin”
-D AP_UID_MIN=96
-D AP_USERDIR_SUFFIX=”public_html”
server1:~ #
따라서 ISPConfig와 함께 suExec를 사용하려면 ISPConfig 설치 중 전문가 모드를 사용할 때 기본 웹 루트(즉, /srv/www)를 변경하지 마십시오(표준 모드에서는 웹 루트를 변경할 수 없으므로 어떤 경우에도 suExec를 사용할 수 있습니다).
18 링크
- OpenSUSE: http://www.opensuse.org/
- ISPConfig: http://www.ispconfig.org/
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.