サーバー設定 · 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 onApacheを起動します:
/etc/init.d/httpd start11.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に埋め込まれたスクリプト言語で、 # 開発者が動的に生成されたウェブページを書くのを簡単にすることを目的としています。 # |
その後、Apacheを再起動します:
/etc/init.d/httpd restart11.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 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を開き、次の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 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には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-Tar16 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 ApacheISPConfigのインストールが成功した後は、/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 リンク
- Fedora: http://fedoraproject.org/
- ISPConfig: http://www.ispconfig.org/
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。