서버 설정 · 2 min read · Sep 21, 2025

완벽한 서버 - OpenSUSE 11.3 x86_64 [ISPConfig 2] - 페이지 6

13 Webalizer

webalizer를 설치하려면 다음을 실행하십시오.

yast2 -i webalizer

14 시스템 시계 동기화

시스템 시계를 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-Tar

16 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 링크

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.