サーバー設定 · 1 min read · Jan 11, 2026
CentOS 5.1 サーバーセットアップ: LAMP, メール, DNS, FTP, ISPConfig (別名: 完璧なサーバー) - ページ 6
12 Apache2 With PHP
今、PHPを使ってApacheをインストールします(これはPHP 5.1.6です):
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc 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 start12.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に埋め込まれたスクリプト言語で、 # 開発者が動的に生成されたウェブページを書くことを容易にすることを目的としています。 # LoadModule php5_module modules/libphp5.so # # PHPインタープリタが.php拡張子のファイルを処理するようにします。 # #AddHandler php5-script .php #AddType text/html .php # # index.phpをディレクトリインデックスとして提供されるファイルのリストに追加します。 # DirectoryIndex index.php # # 次の行のコメントを外して、PHPが.phpsファイルをPHPソースコードとしてきれいに表示できるようにします: # #AddType application/x-httpd-php-source .phps |
その後、Apacheを再起動します:
/etc/init.d/httpd restart13 ProFTPd
ISPConfigはvsftpdよりもproftpdのサポートが優れているため、vsftpdを削除します:
yum remove vsftpdCentOSにはproftpdパッケージがないため、Proftpdを手動でコンパイルする必要があります:
cd /tmp/
wget --passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.1.tar.gz
tar xvfz proftpd-1.3.1.tar.gz
cd proftpd-1.3.1/
./configure --sysconfdir=/etc
make
make install
cd ..
rm -fr proftpd-1.3.1*proftpdバイナリは/usr/local/sbinにインストールされますが、/usr/sbinに必要なので、シンボリックリンクを作成します:
ln -s /usr/local/sbin/proftpd /usr/sbin/proftpd次に、initスクリプト/etc/init.d/proftpdを作成します:
vi /etc/init.d/proftpd| #!/bin/sh # $Id: proftpd.init,v 1.1 2004/02/26 17:54:30 thias Exp $ # # proftpd このシェルスクリプトは、 # proftpdの起動と停止を管理します。 # # chkconfig: - 80 30 # description: ProFTPDは、シンプルさ、セキュリティ、設定の容易さに焦点を当てた強化されたFTPサーバーです。\ # 非常にApacheに似た設定構文を特徴としており、\ # 複数の「仮想」FTPサーバー、\ # 匿名FTP、および権限ベースのディレクトリの可視性をサポートする\ # 高度にカスタマイズ可能なサーバーインフラストラクチャを提供します。\ # processname: proftpd # config: /etc/proftp.conf # pidfile: /var/run/proftpd.pid # 関数ライブラリをソースします。 . /etc/rc.d/init.d/functions # ネットワーキング設定をソースします。 . /etc/sysconfig/network # ネットワーキングが起動していることを確認します。 [ ${NETWORKING} = "no" ] && exit 0 [ -x /usr/sbin/proftpd ] || exit 0 RETVAL=0 prog="proftpd" start() { echo -n "$"Starting $prog: " daemon proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd } stop() { echo -n "$"Shutting down $prog: " killproc proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd } # どのように呼び出されたかを確認します。 case "$1" in start) start ;; stop) stop ;; status) status proftpd RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f /var/lock/subsys/proftpd ]; then stop start fi ;; reload) echo -n "$"Re-reading $prog configuration: " killproc proftpd -HUP RETVAL=$? echo ;; *) echo "Usage: $prog {start|stop|restart|reload|condrestart|status}" exit 1 esac exit $RETVAL |
次に、initスクリプトを実行可能にします:
chmod 755 /etc/init.d/proftpd次に、/etc/proftpd.confを開き、Groupをnobodyに変更します:
vi /etc/proftpd.conf| [...] Group nobody [...] |
セキュリティ上の理由から、/etc/proftpd.confに次の行を追加することもできます(Reinaldo Carvalhoに感謝します。詳細情報はここにあります: http://proftpd.org/localsite/Userguide/linked/userguide.html):
vi /etc/proftpd.conf| [...] DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." [...] |
これで、Proftpdのシステム起動リンクを作成できます:
chkconfig --levels 235 proftpd onそして、最後にProftpdを開始します:
/etc/init.d/proftpd start新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。