MediaWikiの導入手順
本ページでは、ウィキソフトウェアである「MediaWiki」の導入手順を記述します。
環境
- OS : CentOS 5.2
- Web Server : Apache 2.2.11
- Database : MySQL 5.1.30
- Other : PHP 5.2.8
インストール
MySQL
$ tar zxvf mysql-5.1.30.tar.gz $ cd mysql-5.1.30 $ ./configure $ make # make install # /usr/local/bin/mysql_install_db --user=<ユーザ名> # /usr/local/bin/mysqld_safe --user=<ユーザ名> & # /usr/local/bin/mysqladmin -u root password <パスワード>
Apache
入手先 : http://httpd.apache.org/
$ tar jxvf httpd-2.2.11.tar.bz2 $ cd httpd-2.2.11 $ ./configure $ make # make install
PHP
入手先 : http://www.php.net/
$ tar jxvf php-5.2.8.tar.bz2 $ cd php-5.2.8 $ ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql $ make # make install # cp php.ini-dist /usr/local/lib/php.ini
MediaWiki
入手先 : http://www.mediawiki.org/wiki/MediaWiki
$ tar zxvf mediawiki-1.13.4.tar.gz # mv mediawiki-1.13.4/* /usr/local/apache2/htdocs/
設定
Apache
ApacheにてPHPの設定を行う。「httpd.conf」を下記のように編集します。
# DirectoryIndex index.html DirectoryIndex index.html index.php index.php5 AddType application/x-httpd-php .php .phtml .php5 AddType application/x-httpd-php-source .phps Alias /w/index.php /usr/local/apache2/htdocs/w/index.php Alias /wiki /usr/local/apache2/htdocs/w/index.php Alias /index.php /usr/local/apache2/htdocs/w/index.php
Memo: 2014/10/13 Alias 設定が抜けていたので追記しました。
下記設定は必須ではありませんが、セキュリティ上の理由から変更します。
<Directory "/usr/local/apache2/htdocs"> # Options Indexes FollowSymLinks Options FollowSymLinks
MySQL
データベースアクセス用のアカウントに権限を付与する。
$ mysql -u root -p
mysql> grant all privileges on *.* to wikiuser@localhost identified by '<パスワード>' with grant option;
MediaWiki
MediaWikiの初期設定を行うため、下記コマンドを実行します。初期設定を行うためには、MySQLとApacheが起動している必要がああります。
# chmod a+w config
MediaWikiのページへWebブラウザを使用してアクセスし、初期設定を実行します。初期設定の詳細は省略します。初期設定が終了したら、「config/LocalSettings.php」ファイルを1階層上のディレクトリ(/usr/local/apache2/htdocs)に移動します。
設定完了後、「config」ディレクトリは不要であるため、削除します。
「LocalSettings.php」を必要に応じて修正します。下記は、ロゴを消去し、管理者以外の権限をWikiページ読み取り専用にする設定です。
$wgLogo = "";
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createpage'] = false;
$wgGroupPermissions['*']['createtalk'] = false;
$wgGroupPermissions['*']['writeapi'] = false;
「$wgGroupPermissions」の仕様については、下記URLを参照してください。
Manual:User rights : http://www.mediawiki.org/wiki/Manual:User_rights
起動
MySQL
# /usr/local/bin/mysqld_safe --user=<ユーザ名> &
Apache
/usr/local/apache2/bin/apachectl start
トラブルシューティング
Apache起動時に「libphp5.so: undefined symbol: OnUpdateLong」が表示される
※PHP5.3.4のみ確認できたエラーです
# bin/apachectl start
httpd: Syntax error on line 53 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: undefined symbol: OnUpdateLong
make clean後、再度configureからやり直したらエラーは消えました。原因は、configureが完了しないままmakeしたためである想定します。
付録
PostgreSQLの導入手順を下記に示します。バージョン8.3.5では、日本語検索ができないという問題があります。(ただし、ソースコードの変更やDBファンクションの追加で対応可能という情報有り)
メモ
MySQL 5.5系
MySQL 5.5.8では、configureがcmakeに変更されています。
phpのconfigureを
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql
とする必要有
参考
- http://www.postgresql.org/ftp/source/v8.3.5/
- http://www.mediawiki.org/wiki/Download/ja
- MediaWiki / Daniel J. Barrett / ISBN : 978-0-596-51979-7
更新履歴
- 2009/02/22
- ページ作成
- 2014/10/13
- Apache Alias 設定が抜けていたので追記しました。