KaliLinux 2018.2: ウィキソフトウェアのDokuWikiをインストールする

DokuWikiのインストール方法を記載します。

1 Dokuwikiのインストール

  • この記事ではhttpsの為にデフォルトのSSL/TLS証明書を使っています。別にSSL/TLS証明書を用意している場合はそちらをお使いください。
  • httpではなくhttpを使用する場合は、/etc/httpd/conf.d/dokuwiki.conf にて、443を80にしてSSLXXXのディレクティブを削除してください。
#!/bin/sh -e


PHP_VERSION=7.2
[ -z "${DOKUWIKI_PASSWD}" ] && DOKUWIKI_PASSWD=dokuwiki

dokuwiki_install()
{
  cat <<EOF | sudo debconf-set-selections
dokuwiki dokuwiki/wiki/password password ${DOKUWIKI_PASSWD}
dokuwiki dokuwiki/wiki/confirm password ${DOKUWIKI_PASSWD}
dokuwiki dokuwiki/system/purgepages boolean false
EOF

  sudo apt install -y dokuwiki

  # BUG: DokuWiki upstream has fixed this error.
  sudo cp /usr/share/dokuwiki/lib/exe/css.php \
       /usr/share/dokuwiki/lib/exe/css.php.orig
  sudo sed -i /usr/share/dokuwiki/lib/exe/css.php \
-e 's;$less->importDir\[\] = DOKU_INC;$less->importDir = array(DOKU_INC);g'
}

apache_install()
{
  sudo apt install -y \
       apache2 libapache2-mod-php${PHP_VERSION} \
       php${PHP_VERSION}-xml php${PHP_VERSION}-mbstring

  sudo chown -R www-data:www-data /usr/share/dokuwiki

  cat <<EOF | sudo tee /etc/apache2/sites-available/dokuwiki.conf
<VirtualHost _default_:443>
  SSLEngine on
  SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
  SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

  Alias /dokuwiki /usr/share/dokuwiki

  <Directory /usr/share/dokuwiki>
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>
EOF

  sudo a2enmod ssl
  sudo a2enmod php${PHP_VERSION}
  sudo a2ensite dokuwiki
  sudo systemctl enable apache2
  sudo systemctl restart apache2
}

dokuwiki_main()
{
  dokuwiki_install
  apache_install
}

dokuwiki_main

2 DokuWikiへアクセスする

以下のURLへアクセスします。ブラウザでこのページの証明書を許可してください。

https://<server>/dokuwiki

DokuWikiのページが表示されました。右上のLoginからユーザをadminで、パスワードDOKUWIKI_PASSWDにしてログインします。

0001_Dokuwiki.png