서버 설정 · 3 min read · Dec 12, 2025
완벽한 서버 - 페도라 13 x86_64 [ISPConfig 2] - 페이지 5
11 Apache2 With PHP, Ruby, Python, WebDAV
이제 PHP5(버전 PHP 5.3.2)와 함께 Apache를 설치합니다:
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mapserver php-mbstring php-mcrypt php-mhash php-mssql php-shout php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel그런 다음 /etc/httpd/conf/httpd.conf를 편집합니다:
vi /etc/httpd/conf/httpd.conf그리고 DirectoryIndex를 다음으로 변경합니다:
| [...] DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl [...] |
이제 시스템을 구성하여 부팅 시 Apache가 시작되도록 설정합니다:
chkconfig --levels 235 httpd onApache를 시작합니다:
/etc/init.d/httpd start11.1 PHP 전역 비활성화
(이 서버에 ISPConfig를 설치할 계획이 없다면 이 섹션을 건너뛰세요!)
ISPConfig에서는 웹사이트별로 PHP를 구성할 수 있습니다. 즉, 어떤 웹사이트가 PHP 스크립트를 실행할 수 있고 어떤 웹사이트는 실행할 수 없는지를 지정할 수 있습니다. PHP가 전역적으로 비활성화되어 있어야만 이 기능이 작동합니다. 그렇지 않으면 모든 웹사이트가 ISPConfig에서 지정한 것과 관계없이 PHP 스크립트를 실행할 수 있습니다.
PHP를 전역적으로 비활성화하려면 /etc/httpd/conf.d/php.conf를 편집하고 AddHandler 및 AddType 줄을 주석 처리합니다:
vi /etc/httpd/conf.d/php.conf| # # PHP는 동적으로 생성된 웹페이지를 작성하기 쉽게 하려는 # HTML에 내장된 스크립팅 언어입니다. # |
그 후 Apache를 재시작합니다:
/etc/init.d/httpd restart11.2 루비
버전 2.2.20부터 ISPConfig는 루비에 대한 기본 지원을 제공합니다. CGI/FastCGI 대신 ISPConfig는 서버의 Apache에서 mod_ruby가 사용 가능해야 합니다.
페도라 13에는 mod_ruby 패키지가 없으므로 직접 컴파일해야 합니다. 먼저 몇 가지 필수 패키지를 설치합니다:
yum install httpd-devel ruby ruby-devel다음으로 mod_ruby를 다운로드하고 설치합니다:
cd /tmp
wget http://modruby.net/archive/mod_ruby-1.3.0.tar.gz
tar zxvf mod_ruby-1.3.0.tar.gz
cd mod_ruby-1.3.0/
./configure.rb --with-apr-includes=/usr/include/apr-1
make
make install마지막으로 mod_ruby 모듈을 Apache 구성에 추가해야 하므로 /etc/httpd/conf.d/ruby.conf 파일을 생성합니다…
vi /etc/httpd/conf.d/ruby.conf| LoadModule ruby_module modules/mod_ruby.so |
… 그리고 Apache를 재시작합니다:
/etc/init.d/httpd restartmod_ruby에 대한 자세한 내용은 이 문서에서 확인할 수 있습니다.
11.3 mod_python 설치
mod_python을 설치하려면 다음을 실행합니다…
yum install mod_python… 그리고 Apache를 재시작합니다:
/etc/init.d/httpd restart11.4 WebDAV
WebDAV는 이미 활성화되어 있어야 하지만, 이를 확인하려면 /etc/httpd/conf/httpd.conf를 열고 다음 두 모듈이 활성화되어 있는지 확인합니다:
vi /etc/httpd/conf/httpd.conf| [...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so [...] |
/etc/httpd/conf/httpd.conf를 수정해야 하는 경우, Apache를 재시작하는 것을 잊지 마세요:
/etc/init.d/httpd restart12 ProFTPd
ISPConfig는 vsftpd보다 proftpd에 대한 지원이 더 좋으므로 vsftpd를 제거하고 proftpd를 설치합니다:
yum remove vsftpdyum install proftpd이제 Proftpd의 시스템 시작 링크를 생성하고 시작할 수 있습니다:
chkconfig --levels 235 proftpd on
/etc/init.d/proftpd start13 Webalizer
webalizer를 설치하려면 다음을 실행합니다:
yum install webalizer14 시스템 시계 동기화
시스템 시계를 NTP 서버와 동기화하려면 다음을 수행합니다:
yum install ntpchkconfig --levels 235 ntpd on
ntpdate 0.pool.ntp.org
/etc/init.d/ntpd start15 일부 Perl 모듈 설치
ISPConfig는 작동하기 위해 몇 가지 Perl 모듈이 필요한 SpamAssassin을 포함하고 있습니다. 필요한 Perl 모듈을 한 번의 명령으로 설치합니다:
yum install perl-HTML-Parser perl-DBI perl-Net-DNS perl-Digest-SHA1 perl-ExtUtils-AutoInstall perl-NetAddr-IP perl-Archive-Tar16 ISPConfig
서버 구성은 이제 완료되었습니다. 이제 다음 지침에 따라 ISPConfig를 설치할 수 있습니다: http://www.ispconfig.org/manual_installation.htm
ISPConfig를 설치하기 전에 반드시 해야 할 중요한 작업이 있습니다. /usr/include/stdio.h를 열고 673번째 줄의 getline을 parseline으로 교체합니다:
vim /usr/include/stdio.h| [...] /* Like `getdelim', but reads up to a newline. 이 함수는 POSIX의 일부가 아니므로 공식적인 취소 지점이 없습니다. 그러나 POSIX 인터페이스와의 유사성으로 인해 또는 구현으로 인해 취소 지점이며 따라서 __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/install_ispconfig/compile_aps/apache_1.3.41/src/support'
make[1]: * [build-support] Error 1
make[1]: Leaving directory `/home/install_ispconfig/compile_aps/apache_1.3.41'
make: *** [build] Error 2
ERROR: Could not make ApacheISPConfig 설치가 성공적으로 완료된 후 /usr/include/stdio.h의 변경 사항을 되돌릴 수 있습니다(하지만 ISPConfig를 업데이트할 때마다 다시 변경하는 것을 잊지 마세요!).
16.1 SuExec에 대한 참고 사항
CGI 스크립트를 suExec 하에 실행하려면 ISPConfig에서 생성한 웹사이트의 웹 루트를 /var/www로 지정해야 합니다. 페도라의 suExec는 /var/www를 Doc_Root으로 컴파일되었습니다. 다음을 실행합니다:
/usr/sbin/suexec -V출력은 다음과 같아야 합니다:
[root@server1 ~]# /usr/sbin/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="public_html"
[root@server1 ~]#따라서 ISPConfig와 함께 suExec를 사용하려면 ISPConfig 설치 중 전문가 모드를 사용할 때 기본 웹 루트(즉, /var/www)를 변경하지 마세요(표준 모드에서는 웹 루트를 변경할 수 없으므로 어떤 경우에도 suExec를 사용할 수 있습니다).
17 링크
- 페도라: http://fedoraproject.org/
- ISPConfig: http://www.ispconfig.org/
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.