サーバー設定 · 2 min read · Dec 12, 2025

完璧なサーバー - Fedora 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 on

Apacheを起動します:

/etc/init.d/httpd start

11.1 PHPをグローバルに無効にする

(このサーバーにISPConfigをインストールする予定がない場合は、このセクションをスキップしてください!)

ISPConfigでは、ウェブサイトごとにPHPを設定します。つまり、どのウェブサイトがPHPスクリプトを実行できるか、どのウェブサイトが実行できないかを指定できます。PHPがグローバルに無効になっている場合にのみ機能します。そうでないと、すべてのウェブサイトが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 LoadModule php5_module modules/libphp5-zts.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 restart

11.2 Ruby

バージョン2.2.20から、ISPConfigはRubyの組み込みサポートを提供しています。CGI/FastCGIを使用する代わりに、ISPConfigはサーバーのApacheにmod_rubyが利用可能であることに依存しています。

Fedora 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 restart

mod_rubyに関する詳細はこの記事で見つけることができます。

11.3 mod_pythonのインストール

mod_pythonをインストールするには、単に次のコマンドを実行します…

yum install mod_python

… その後、Apacheを再起動します:

/etc/init.d/httpd restart

11.4 WebDAV

WebDAVはすでに有効になっているはずですが、これを確認するには、/etc/httpd/conf/httpd.confを開き、次の2つのモジュールがアクティブであることを確認します:

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 restart

12 ProFTPd

ISPConfigはvsftpdよりもproftpdのサポートが優れているため、vsftpdを削除してproftpdをインストールしましょう:

yum remove vsftpd
yum install proftpd

これで、Proftpdのシステム起動リンクを作成し、起動できます:

chkconfig --levels 235 proftpd on  
/etc/init.d/proftpd start

13 Webalizer

webalizerをインストールするには、次のコマンドを実行します

yum install webalizer

14 システムクロックの同期

システムクロックをNTPサーバーと同期させたい場合は、次のようにします:

yum install ntp
chkconfig --levels 235 ntpd on  
ntpdate 0.pool.ntp.org  
/etc/init.d/ntpd start

15 一部のPerlモジュールをインストール

ISPConfigにはSpamAssassinが付属しており、動作するためにいくつかのPerlモジュールが必要です。必要なPerlモジュールを1つのコマンドでインストールします:

yum install perl-HTML-Parser perl-DBI perl-Net-DNS perl-Digest-SHA1 perl-ExtUtils-AutoInstall perl-NetAddr-IP perl-Archive-Tar

16 ISPConfig

サーバーの設定はこれで完了です。次に、ISPConfigをインストールできます。これらの指示に従ってください: http://www.ispconfig.org/manual_installation.htm

ISPConfigをインストールする前に、1つ重要なことを行う必要があります。/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 Apache

ISPConfigのインストールが成功した後は、/usr/include/stdio.hの変更を元に戻すことができます(ただし、ISPConfigを更新する際には必ず元に戻すことを忘れないでください!)。

16.1 SuExecに関する注意

CGIスクリプトをsuExecの下で実行したい場合は、ISPConfigによって作成されたウェブサイトのウェブルートとして/var/wwwを指定する必要があります。Fedoraの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 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。