Fedora 25: DokuWikiをインストールする

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

1 dokuwikiのインストール

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

set -e

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

fedora_install_dokuwiki()
{
  # BUG: https://bugzilla.redhat.com/show_bug.cgi?id=1372948
  R=https://bugzilla.redhat.com
  P="${R}/attachment.cgi?id=1251789&action=diff&context=patch&collapsed=&headers=1&format=raw"

  dnf download --source dokuwiki
  sudo dnf install -y rpmdevtools patch
  sudo dnf builddep -y dokuwiki-0-0.27.20150810a.fc24.src.rpm
  rpm -i dokuwiki-0-0.27.20150810a.fc24.src.rpm

  cd ~/rpmbuild/SPECS
  wget -q "${P}" -O - | patch -p0
  cd ..
  rpmbuild -ba SPECS/dokuwiki.spec
  cd ..

  pkgs=$(find ~/rpmbuild/RPMS -type f)
  # shellcheck disable=SC2086
  sudo dnf install -y ${pkgs}
  rm -rf ~/rpmbuild

  # Add ACL and admin user.
  passwd=$(printf "%s" "${DOKUWIKI_PASSWD}" | md5sum -b | cut -d' ' -f1)
  echo "admin:${passwd}:::admin,user" | \
    sudo tee /etc/dokuwiki/users.auth.php
  cat <<EOF | sudo tee /etc/dokuwiki/local.php
<?php
\$conf['useacl'] = 1;
\$conf['superuser'] = '@admin';
EOF
}

fedora_install_apache()
{
  sudo dnf install -y mod_ssl

  sudo mv /etc/httpd/conf.d/dokuwiki.conf \
       /etc/httpd/conf.d/dokuwiki.conf.orig

  cat <<EOF | sudo tee /etc/httpd/conf.d/dokuwiki.conf
<VirtualHost _default_:443>
  SSLEngine on
  SSLCertificateFile /etc/pki/tls/certs/localhost.crt
  SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

  Alias /dokuwiki /usr/share/dokuwiki

  <Directory /usr/share/dokuwiki>
    Require all granted
  </Directory>

  <Directory /usr/share/dokuwiki/inc>
    Require all denied
  </Directory>

  <Directory /usr/share/dokuwiki/inc/lang>
    Require all denied
  </Directory>

  <Directory /usr/share/dokuwiki/lib/_fla>
    Require all denied
  </Directory>

  <Directory /etc/dokuwiki>
    Require all denied
  </Directory>
</VirtualHost>
EOF

  sudo systemctl enable httpd
  sudo systemctl restart httpd
  sudo firewall-cmd --add-service=https --permanent
  sudo firewall-cmd --reload
}

fedora_main()
{
  fedora_install_dokuwiki
  fedora_install_apache
}

fedora_main

2 DokuWikiへアクセスする

以下のURLへブラウザへアクセスします。

https://<server>/dokuwiki

マシンの証明書を組み込んでいないので、Chromeの場合は以下の警告が出てアクセスできません。"ADVANCED"を表示させて"Proceed to <server> (unsafe)"をクリックすることで、このウェブサイトに例外的にアクセスするようにします。

Firefox等でも同様にこのウェブサイトを例外的にアクセスできるようにしてください。

0001_YourConnectionIsNotPrivate.png

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

0002_DokuWiki.png