サーバー設定 · 2 min read · Nov 24, 2025

完璧なサーバー - Mandriva 2010.0 Free (x86_64) [ISPConfig 2] - ページ 6

12 Apache2 With PHP5, Ruby, And Python

Apache2、PHP5、およびRubyをインストールするには、次のコマンドを実行します(1行で):

urpmi apache-mod_suexec apache-mod_ssl apache-mod_php apache-mod_ruby apache-mod_python lib64php5_common5 php-bz2 php-calendar php-ctype php-curl php-devel php-dio php-dom php-eaccelerator php-enchant php-esmtp php-event php-exif php-fam php-ffmpeg php-fileinfo php-filepro php-ftp php-gd php-gettext php-gmp php-iconv php-id3 php-idn php-imap php-imlib2 php-mailparse php-mbstring php-mcache php-mcrypt php-ming php-mysql php-mysqli php-newt php-odbc php-oggvorbis php-pcntl php-pcre php-pear-Net_IDNA php-posix php-pspell php-readline php-recode php-session php-shmop php-simplexml php-snmp php-soap php-sockets php-sqlite php-ssh2 php-suhosin php-sysvmsg php-sysvsem php-sysvshm php-tclink php-tcpwrap php-tidy php-xml php-xmlrpc php-zip php-ini curl lib64curl4-devel perl-libwww-perl ImageMagick

Apacheのシステム起動リンクを作成します…

chkconfig httpd on

… そして起動します:

/etc/init.d/httpd restart

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

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

ISPConfigでは、ウェブサイトごとにPHPを設定します。つまり、どのウェブサイトがPHPスクリプトを実行できるか、どのウェブサイトができないかを指定できます。これは、PHPがグローバルに無効になっている場合にのみ機能します。そうでないと、すべてのウェブサイトがPHPスクリプトを実行できるため、ISPConfigで指定した内容に関係なくなります。

/etc/httpd/modules.d/70_mod_php.confを編集し、AddType行をコメントアウトします:

vi /etc/httpd/modules.d/70_mod_php.conf

| LoadModule php5_module extramodules/mod_php5.so # AddType application/x-httpd-php .php # AddType application/x-httpd-php .phtml # AddType application/x-httpd-php-source .phps DirectoryIndex index.php index.phtml |

/etc/httpd/conf/httpd.confを編集し、LoadModuleセクションに次の行を追加します:

vi /etc/httpd/conf/httpd.conf

| [...] LoadModule php5_module extramodules/mod_php5.so [...] |

(この行はすでに/etc/httpd/modules.d/70_mod_php.confにありますが、これは非常に重要です。そうでないと、コマンド

httpd -t

は、ISPConfigによって作成された仮想ホストにphp_admin_flag safe_mode Onのような行が含まれている場合、Syntax OKの代わりにエラーを報告します!)

Apacheを再起動します:

/etc/init.d/httpd restart

12.2 Rubyをグローバルに無効にする

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

ISPConfigでは、ウェブサイトごとにRubyを設定します。つまり、どのウェブサイトがRubyスクリプトを実行できるか、どのウェブサイトができないかを指定できます。これは、Rubyがグローバルに無効になっている場合にのみ機能します。そうでないと、すべてのウェブサイトがRubyスクリプトを実行できるため、ISPConfigで指定した内容に関係なくなります。

vi /etc/httpd/modules.d/20_mod_ruby.conf

そのファイル内の次の行を除いて、すべてをコメントアウトまたは削除します:

| LoadModule ruby_module extramodules/mod_ruby.so |

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

/etc/init.d/httpd restart

12.3 WebDAVサポートを有効にする

ISPConfigのバージョン2.2.30以降、ISPConfigを通じてWebDAVを管理できます。もちろん、これはWebDAVがApacheにインストールされ、有効になっている場合にのみ機能します。WebDAVをインストールするには、次のコマンドを実行します。

urpmi apache-mod_dav

次に、/etc/httpd/conf/httpd.confを開き、LoadModuleセクション内の次の3行のコメントを解除します(これらの行の末尾にある次の文字列を削除することを確認してください。そうでないと、Apacheが構文エラーについて不満を言う可能性があります:-> apache-mod_davパッケージで利用可能):

vi /etc/httpd/conf/httpd.conf

| [...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule dav_lock_module modules/mod_dav_lock.so [...] |

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

/etc/init.d/httpd restart

13 Proftpd

Proftpdを次のようにインストールします:

urpmi proftpd

セキュリティ上の理由から、次の行を/etc/proftpd.confに追加できます(Reinaldo Carvalhoに感謝;詳細情報はここで見つけることができます:http://www.proftpd.org/localsite/Userguide/linked/userguide.html):

vi /etc/proftpd.conf

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

ftpユーザーがCHMODを許可されるようにするために、/etc/proftpd.confの最後にある次の行をコメントアウトすることを忘れないでください:

| [...] # Bar use of SITE CHMOD by default # # DenyAll # |

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

/etc/init.d/proftpd restart

14 Webalizer

Webalizerは次のようにインストールできます:

urpmi webalizer
ln -s /usr/bin/awffull /usr/bin/webalizer

15 SpamAssassinに必要なPerlモジュールのインストール(ISPConfigに付属)

必要なすべてのPerlモジュールをインストールするには、適切なMandrivaパッケージを使用し、urpmiを使用してインストールできます:

urpmi perl-HTML-Parser perl-Digest-SHA1 perl-DB_File perl-Net-DNS perl-NetAddr-IP perl-Archive-Tar

16 終わり

サーバーの設定は完了しました。希望があれば、ISPConfigをインストールできます。インストール手順はここにあります:http://www.ispconfig.org/manual_installation.htm。最初のステップのチュートリアルはここにあります:https://www.howtoforge.com/ispconfig-2.x-first-steps

ISPConfigをインストールする前に、1つ重要なことを行う必要があります。/usr/include/stdio.hを開き、651行目のgetlineをparselineに置き換えます:

vi /usr/include/stdio.h

| [...] この関数は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:651: note: previous declaration of âgetlineâ was here  
make[2]: * [htpasswd.o] Error 1  
make[2]: Leaving directory `/home/administrator/install_ispconfig/compile_aps/apache_1.3.41/src/support'  
make[1]: * [build-support] Error 1  
make[1]: Leaving directory `/home/administrator/install_ispconfig/compile_aps/apache_1.3.41'  
make: *** [build] Error 2  
ERROR: Could not make Apache

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

17 SuExecに関する注意

CGIスクリプトをsuExecの下で実行したい場合は、ISPConfigによって作成されたウェブサイトのウェブルートとして/var/wwwを指定する必要があります。Mandrivaの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_SUEXEC_UMASK=077  
 -D AP_UID_MIN=100  
 -D AP_USERDIR_SUFFIX="public_html"  
[root@server1 ~]#

したがって、ISPConfigでsuExecを使用したい場合は、ISPConfigのインストール中にエキスパートモードを使用する場合は、デフォルトのウェブルート(/var/www)を変更しないでください(標準モードでは、ウェブルートを変更できないため、いずれにせよsuExecを使用できます)。

18 リンク

Share: X/Twitter LinkedIn

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

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