CentOS 6.5上にPHPで実装されたWikiクローンであるDokuWikiをインストールする。

まずDokuWikiをダウンロード。download.dokuwiki.orgにアクセス。VersionでStableを選択。ブログを書いた時点では2013-12-08 "Binky"。Languagesは自分に必要な言語を選ぶ。今回はenとjaだけを選択。そして上部のDownloadボタンを押せばダウンロードが開始される。

DokuWikのインストール方法はDokuWiki のインストールに書かれている。特にセキュリティをしっかり読む。

まずはダウンロードされたファイルを/var/www/htmlに展開。

tar x -C/var/www/html -f path/dokuwiki-d597bb16624b692de7808b763b2abd86.tgz

path/dokuwiki-d597bb16624b692de7808b763b2abd86.tgzは実際にダウンロードしたファイルへのパス。今回はdokuwikiにhttp://host/wiki/でアクセスさせたいので

mv /var/www/html/dokuwiki /var/www/html/wiki

次に展開したファイル・ディレクトリのアクセス権を設定する(参考)。CentOS 6.5ではhttpdはユーザapache、グループapacheで実行されるので、/var/www/html/wikiとその配下の所有者を変更。

chown -R apache:apache /var/www/html/wiki

同じくファイルのアクセス権を0600、ディレクトリのアクセス権を0700に設定。

find /var/www/html/wiki -type f -exec chmod 0600 \{\} \;

find /var/www/html/wiki -type d -exec chmod 0700 \{\} \;

次にウェブアクセス制限の設定。/var/www/html/wikiの下のdata, conf, bin, incをウェブからアクセスできないようにする。 Apacheのアクセス権をディレクトリ単位で設定するためのファイル.htaccessは展開したファイル階層に既に含まれているが、Apacheの初期設定では.htaccessが無効化されているので有効にする必要がある。その方法として、いくつものウェブページでは /etc/httpd/conf/httpd.conf

<Directory "/var/www/html">
    (略)
    AllowOverride None
    (略)
</Directory>
AllowOverride NoneAllowOverride Allに書き換えろと書かれているが、意味も分からずそのままやっては絶対にいけない。この設定だと/var/www/html配下の全てのディレクトリで、.htaccessを使ったどんな設定も有効になってしまう。必要最低限のことだけ許可する設定にするのがサーバ設定の基本。今回は /var/www/html/wiki配下だけでアクセス制限を設定できさえすれば良い。そこで /etc/httpd/conf.d/dokuwiki.confという以下のファイルを作成する。(参照
<Directory "/var/www/html/wiki">
    Options None
    AllowOverride Limit
    Order allow,deny
    Allow from all
</Directory>

そして更新したApacheの設定を有効化。

service httpd reload

Reloading httpd:

これでひとまずDokuWikiがアクセスできるようになった。次につづく