ミドルウェアの設定
WIKIPLUSで使用するミドルウェアを設定し、起動します。ここではWIKIPLUSの動作に必須なミドルウェアの設定のみをご案内しています。FTPの有効化やMemcachedによる高速化などはカスタマイズマニュアルをご覧ください。
目次
PostgreSQLの設定
WIKIPLUS用のデータベースとユーザーを作成します。WIKIPLUSとPostgreSQLサーバーを別で構築する場合は、データベースサーバーにログインして操作します。
ここでは、PostgreSQL 9.4がインストールされた直後の状態を例として、初期設定を含めてご案内します。
データベースクラスタの初期化
# /etc/init.d/postgresql-9.4 initdb
設定ファイルの編集
/var/lib/pgsql/9.4/data/pg_hba.conf
以下はIPv4のみを設定した際の一例です。サーバーの設計やポリシーにより変更してください。
WIKIPLUSでは、全体で1つのデータベースを使用します。
local all postgres trust host all postgres 127.0.0.1/32 trust host sameuser all 127.0.0.1/32 password local sameuser all password
/var/lib/pgsql/9.4/data/postgresql.conf
TCPリスニングの設定を行います。
また、動作するApache / PHPのインスタンスの数に余裕を加えてmax_connectionの数を設定する必要があります。
... listen_addresses = '127.0.0.1' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all # (change requires restart) port = 5432 # (change requires restart) max_connections = 100 # (change requires restart) ...
PostgreSQLサーバーの起動と、データベース・ユーザーの作成
PostgreSQLを起動し、WIKIPLUS用のユーザーとデータベースを作成します。これは、/opt/JPC/wikiplus/conf/server-config.ymlで設定したものです。ここでは、例として「wikiplus」というユーザーと同名のデータベースを作成します。
# service postgresql-9.4 start # chkconfig postgresql-9.4 on $ /usr/pgsql-9.4/bin/createuser -e -h localhost -U postgres -D -E -P -R -S wikiplus $ /usr/pgsql-9.4/bin/createdb -e -h localhost -U postgres -E UTF8 -O wikiplus -T template0 wikiplus
接続の確認
WIKIPLUSサーバーからデータベースに接続できるかを確認します。
# /usr/pgsql-9.4/bin/psql -h 127.0.0.1 -U wikiplus -W ユーザ wikiplus のパスワード: psql (9.4.5) "help" でヘルプを表示します. wikiplus=> \q
PHPの設定
WIKIPLUS 4.0より、PHP 5.5が標準となりました。php.iniを編集し、設定を変更します。規模や設計により最適な値は異なります。
- Red Hat Enterprise Linux 6の場合
- /etc/php.ini
- Oracle Solaris 11の場合
- /etc/php/5.5/php.ini
以下の項目の編集が必須です。
upload_max_size | アップロードできるファイルの最大値を指定します。21M以上で設定してください。 |
---|---|
post_max_size | POSTできる最大値の指定をします。upload_max_filesizeよりも大きくなくてはいけませんので、22M以上に設定します。 |
memory_limit | PHPが使うメモリの最大値を指定します。WIKIPLUSの最低必須メモリは24Mです。 |
date.timezone | 適したタイムゾーンを設定します。(例: Asia/Tokyo) |
Apacheの設定
WIKIPLUS 4.0より、ApacheとPHPは以下の動作モードが標準となりました。
- worker MPM + FastCGI
ここでは、Apacheの基本的な設定は完了しているとしてご案内します。また、Apacheは2.2系を例としています。
fcgid.confの設定
- Red Hat Enterprise Linux 6の場合
- /etc/httpd/conf.d/fcgid.conf
- Oracle Solaris 11の場合
- /etc/apache2/2.2/conf.d/fcgid.conf
以下はサンプルです。環境や設計により最適な設定は異なります。
LoadModule fcgid_module modules/mod_fcgid.so FcgidIPCDir /var/run/mod_fcgid FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm FcgidMaxRequestLen 20971520 FcgidMaxRequestInMem 131072 FcgidMaxProcesses 300 FcgidMaxRequestsPerProcess 128 FcgidIOTimeout 60
php.conf
- Red Hat Enterprise Linux 6の場合
- /etc/httpd/conf.d/php.conf
- Oracle Solaris 11の場合
- /etc/apache2/2.2/conf.d/php.conf
fcgid.confに沿った内容で作成または変更が必要です。以下はサンプルです。
<IfModule !mod_php5.c> <IfModule mod_fcgid.c> FcgidWrapper "/usr/bin/php-cgi" .php FcgidWrapper "/usr/bin/php-cgi" .php5 FcgidCmdOptions /usr/bin/php-cgi \ InitialEnv PHP_FCGI_MAX_REQUESTS=10000 \ InitialEnv PHP_FCGI_CHILDREN=0 \ MaxRequestsPerProcess 128 \ IOTimeout 1800 <Directory /var/www > <FilesMatch "\.php5?$"> SetHandler fcgid-script Options +ExecCGI </FilesMatch> </Directory> <Directory /opt/JPC/wikiplus/var/www > <FilesMatch "\.php5?$"> SetHandler fcgid-script Options +ExecCGI </FilesMatch> </Directory> <Directory /opt/JPC/wikiplus/libexec/program/whm > <FilesMatch "\.php5?$"> SetHandler fcgid-script Options +ExecCGI </FilesMatch> </Directory> DirectoryIndex index.php DirectoryIndex index.php5 </IfModule> </IfModule>
MPMの切り替え
Red Hat Enterprise Linux 6の場合
/etc/sysconfig/httpdを編集し、以下の行のコメントアウトを外します。
HTTPD=/usr/sbin/httpd.worker
Oracle Solaris 11の場合
svccfgコマンド・svcadmコマンドで変更します。こちらに操作例をご紹介しています。
WIKIPLUSの設定ファイルの書き出しとインクルード
Apacheで読み込む必要があるWIKIPLUSの設定ファイルは以下です。
wikiplus_open_http.conf | インスタンスの公開側URL(HTTP)用設定ファイルです。WIKIPLUSのパッケージで管理されます。 |
---|---|
wikiplus_open_https.conf | インスタンスの公開側URL(HTTPS)用設定ファイルです。WIKIPLUSのパッケージで管理されます。 |
ssl_settings_open_https.conf | インスタンスの公開側URL(HTTPS)で利用するSSLの設定が入ったファイルです。テンプレートから書き出したあと、サーバーにインストールしたSSL証明書の設定を記述する必要があります。 |
edit.conf | WIKIPLUSの編集側URL用設定ファイルです。テンプレートから書きだしたあと、環境に合わせて設定を記述する必要があります。 |
whm.conf | 廃止されたWPADMINに代わる新管理システム「WHM(WIKIPLUS Hosting Manager)」用の設定ファイルです。テンプレートから書きだしたあと、環境に合わせて設定を記述する必要があります。 |
wikiplus.conf | 上記のファイル群をまとめてインクルードするための設定ファイルです。テンプレートから書き出したあと、ファイル名を書きだした上記のファイル群に合わせて変更する必要があります。 |
ssl_settings_open_https.conf
テンプレートから設定ファイルを書き出します。ファイル名は任意で変更しても構いません。
# /opt/JPC/wikiplus/bin/wp_tf -t /opt/JPC/wikiplus/template/http/ssl_settings_open_https.conf.tmpl > /opt/JPC/wikiplus/conf/httpd/conf/ssl_settings_open_https.conf
書き出したファイルを編集し、公開側URL(HTTPS)のSSL証明書情報を記述します。
edit.conf
テンプレートから設定ファイルを書き出します。ファイル名は任意で変更しても構いません。
# /opt/JPC/wikiplus/bin/wp_tf -t /opt/JPC/wikiplus/template/http/httpd_edit.conf.tmpl > /opt/JPC/wikiplus/conf/httpd/conf/edit.conf
書き出したファイルを編集します。
- ServerName
- 編集用URLのFQDNを記述します。(例: edit.wp.example.jp)
- ログファイル
- サンプルとして、rotatelogsの場合とlogrotateの場合をコメントアウトで記載されています。サーバーの設計にあわせ、コメントアウトを外したり編集してください。
- IP制限
- 編集用URLにアクセスを許可するIPアドレスをApacheのバージョンにあわせて記述してください。
- SSL証明書情報
- 編集用URLのSSL証明書情報を「# Please modify paths」の下の項目に記述してください。
その他、待ち受けIPアドレスやSSLの設定等も設計やポリシーにあわせご変更ください。
whm.conf
テンプレートから設定ファイルを書き出します。ファイル名は任意で変更しても構いません。
# /opt/JPC/wikiplus/bin/wp_tf -t /opt/JPC/wikiplus/template/http/httpd_whm.conf.tmpl > /opt/JPC/wikiplus/conf/httpd/conf/whm.conf
書き出したファイルを編集します。
- ServerName
- WHM用URLのFQDNを記述します。(例: whm.wp.example.jp)
- ログファイル
- サンプルとして、rotatelogsの場合とlogrotateの場合をコメントアウトで記載されています。サーバーの設計にあわせ、コメントアウトを外したり編集してください。
- IP制限
- 編集用URLにアクセスを許可するIPアドレスをApacheのバージョンにあわせて記述してください。
その他、待ち受けIPアドレス等も設計やポリシーにあわせご変更ください。
wikiplus.conf
テンプレートから設定ファイルを書き出します。このファイルは、上記で書き出したファイルをインクルードするもののため、Apacheのconf.d下に書き出します。ファイル名は任意で変更しても構いません。
- Red Hat Enterprise Linux 6の場合
- /etc/httpd/conf.d/wikiplus.conf
- Oracle Solaris 11の場合
- /etc/apache2/2.2/conf.d/wikiplus.conf
# /opt/JPC/wikiplus/bin/wp_tf -t /opt/JPC/wikiplus/template/http/httpd_wikiplus.conf.tmpl > /etc/httpd/conf.d/wikiplus.conf
書き出したファイルを編集します。標準では、以下のようなファイルが書き出されます。
NameVirtualHost *:80 NameVirtualHost 192.0.2.1:443 Include /opt/JPC/wikiplus/conf/httpd/conf/00_default-server.conf Include /opt/JPC/wikiplus/conf/httpd/conf/00_default-server.ssl.conf Include /opt/JPC/wikiplus/conf/httpd/conf/edit.conf Include /opt/JPC/wikiplus/conf/httpd/conf/whm.conf Include /opt/JPC/wikiplus/libexec/httpd/conf/wikiplus_open_http.conf Include /opt/JPC/wikiplus/libexec/httpd/conf/wikiplus_open_https.conf
このうち、「00_default-server.conf」と「00_default-server.ssl.conf」は、存在しないVirtualHostにアクセスがあった場合に、どのVirtualHostを表示するかを設定する項目で、オプションとしてテンプレートを提供しています。
収容するサイトが1つしかなかったり、DNSのAレコードに*(アスタリスク)を使わない場合は特に必要ありません。不要な場合は、この2行をコメントアウトしてください。
詳しくはカスタマイズマニュアルにてご案内します。
コンフィグテストと起動
Apacheの設定に問題がないかを確認し、起動します。
- Red Hat Enterprise Linux 6の場合
- service httpd configtest
- Oracle Solaris 11の場合
- /usr/apache2/2.2/bin/64/apachectl configtest
(実行例)
# service httpd configtest [Wed Nov 25 14:55:50 2015] [warn] NameVirtualHost *:80 has no VirtualHosts [Wed Nov 25 14:55:50 2015] [warn] NameVirtualHost *:80 has no VirtualHosts Syntax OK
ここでは、Warningが表示されていますが、この動作は正常です。
問題がなければApacheを起動します。
Red Hat Enterprise Linux 6の場合
# service httpd start # chkconfig httpd on
Oracle Solaris 11の場合
# svcadm enable svc:/network/http:apache22