서버 설정 · 2 min read · Nov 04, 2025

완벽한 서버 - 우분투 매버릭 미어캣 (우분투 10.10) [ISPConfig 2] - 페이지 6

17 Apache/PHP5/Ruby/Python/WebDAV

이제 Apache를 설치합니다:

aptitude install apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2-suexec libexpat1 ssl-cert

다음으로 PHP5, Ruby 및 Python을 설치합니다 (모두 Apache 모듈로):

aptitude install libapache2-mod-php5 libapache2-mod-ruby libapache2-mod-python php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

다음으로 /etc/apache2/mods-available/dir.conf를 편집합니다:

vi /etc/apache2/mods-available/dir.conf

그리고 DirectoryIndex 줄을 변경합니다:

| #DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml |

이제 몇 가지 Apache 모듈(SSL, rewrite, suexec, include 및 WebDAV)을 활성화해야 합니다:

a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include
a2enmod dav_fs
a2enmod dav

Apache를 재시작합니다:

/etc/init.d/apache2 restart

Ruby와 관련된 작은 문제를 해결해야 합니다. ISPConfig를 설치하고 웹사이트에 대해 Ruby를 활성화하면, .rbx 파일은 잘 실행되고 브라우저에 표시되지만, .rb 파일은 다운로드하라는 메시지가 표시됩니다 - 이는 Ruby를 수동으로 vhost에 대해 구성할 때도 마찬가지입니다 (즉, ISPConfig와는 관련이 없습니다). 이를 해결하기 위해 /etc/mime.types를 엽니다…

vi /etc/mime.types

… 그리고 application/x-ruby 줄을 주석 처리합니다:

| [...] #application/x-ruby rb [...] |

Apache를 재시작합니다:

/etc/init.d/apache2 restart

이제 .rb 파일도 .rbx 파일처럼 실행되고 브라우저에 표시됩니다.

다음 장(17.1)에서는 PHP를 비활성화할 것입니다 (이는 이 서버에 ISPConfig를 설치하려는 경우에만 필요합니다). PHP와 달리 Ruby와 Python은 기본적으로 비활성화되어 있으므로, 우리는 이를 수행할 필요가 없습니다.

17.1 PHP 전역 비활성화

(이 서버에 ISPConfig를 설치할 계획이 없다면 이 섹션을 건너뛰세요!)

ISPConfig에서는 웹사이트별로 PHP를 구성할 수 있습니다. 즉, 어떤 웹사이트가 PHP 스크립트를 실행할 수 있고 어떤 웹사이트가 실행할 수 없는지를 지정할 수 있습니다. PHP가 전역적으로 비활성화되어 있어야만 이 기능이 작동합니다. 그렇지 않으면 모든 웹사이트가 ISPConfig에서 지정한 것과 관계없이 PHP 스크립트를 실행할 수 있습니다.

PHP를 전역적으로 비활성화하려면 /etc/mime.types를 편집하고 application/x-httpd-php 줄을 주석 처리합니다:

vi /etc/mime.types

| [...] #application/x-httpd-php phtml pht php #application/x-httpd-php-source phps #application/x-httpd-php3 php3 #application/x-httpd-php3-preprocessed php3p #application/x-httpd-php4 php4 #application/x-httpd-php5 php5 [...] |

/etc/apache2/mods-enabled/php5.conf를 편집하고 SetHandler 줄을 주석 처리합니다:

vi /etc/apache2/mods-enabled/php5.conf

| #SetHandler application/x-httpd-php #SetHandler application/x-httpd-php-source # 사용자 디렉토리에서 php를 다시 활성화하려면 다음 줄을 주석 처리하십시오 # (에서 까지). On으로 설정하지 마십시오 # .htaccess 파일이 이를 비활성화하는 것을 방지합니다. php_admin_value engine Off |

그런 다음 Apache를 재시작합니다:

/etc/init.d/apache2 restart

18 Proftpd

Proftpd를 설치하려면 다음을 실행합니다:

aptitude install proftpd ucf

질문이 표시됩니다:

Run proftpd: <– standalone

보안상의 이유로 /etc/proftpd/proftpd.conf에 다음 줄을 추가합니다 (Reinaldo Carvalho에게 감사드립니다; 더 많은 정보는 여기에서 확인할 수 있습니다: http://proftpd.org/localsite/Userguide/linked/userguide.html):

vi /etc/proftpd/proftpd.conf

| [...] DefaultRoot ~ ServerIdent on "FTP Server ready." [...] |

ISPConfig는 구성이 /etc/proftpd/proftpd.conf가 아닌 /etc/proftpd.conf에 있을 것으로 예상하므로, 심볼릭 링크를 생성합니다 (ISPConfig를 설치할 계획이 없다면 이 명령을 건너뛰어도 됩니다):

ln -s /etc/proftpd/proftpd.conf /etc/proftpd.conf

그런 다음 Proftpd를 재시작합니다:

/etc/init.d/proftpd restart
Share: X/Twitter LinkedIn

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

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