Raspberry Pi 5にWikiサイトを構築する手順を備忘録としてここにメモする。今回、Wikiソフトウェアとしてデータベースを必要としないオープンソースのDokuWikiと呼ばれるものを用いることとする。
 
はじめにApacheと呼ばれるWebサーバを以下のコマンドでインストールする。
$ sudo apt install apache2
当環境の場合、以下のパッケージが新たにインストールされる。
  1. apache2
  2. apache2-bin
  3. apache2-data
  4. apache2-utils
  5. libapr1
  6. libaprutil1
  7. libaprutil1-dbd-sqlite3
  8. libaprutil1-ldap
インストール後、Edgeなどのブラウザから「http://<Raspberry Pi 5のIPアドレス>/index.html」にアクセスし、デフォルトのApache2のWebページが表示されることを確認する。
 
ここでDokuWikiでは、サイトの設定やデータを外部から直接見れてしまうことを防ぐため、.htaccessと呼ばれるファイルを用いてディレクトリ単位でWebサーバの動作を制御する。Apache2において.htaccessファイルによるフォルダ単位の動作の設定を有効とするため、apache2.conf(/etc/apache2/)を以下のように変更する。
<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
以下のコマンドで設定の変更を反映する。
$ sudo systemctl reload apache2
DokuWikiはPHPと呼ばれるプログラミング言語で作成されているため、PHPの実行環境をインストールする。ここで、PHP Configuration for DokuWikiによると、DokuWikiの動作にあたり、以下のPHPのモジュールをインストールする必要がある。
  • json: JSONフォーマットの符号化・復号化機能(デフォルトでインストールされる)
  • pcre: 正規表現機能(デフォルトでインストールされる)
  • session: セッション管理機能(デフォルトでインストールされる)
  • gd: 画像のリサイズ・サムネイル生成機能
  • mbstring: マルチバイト文字処理の高速化機能
  • openssl: SSL/TLS接続機能(デフォルトでインストールされる)
  • zlib: ファイルの圧縮・解凍機能(デフォルトでインストールされる)
  • intl: 国際化機能
  • bz2: ファイルの圧縮・解凍機能
  • xml: XMLフォーマットの符号化・復号化機能
したがって以下のコマンドでPHPの実行環境の本体と必要となる拡張モジュール、そしてWebサーバのPHPモジュールをそれぞれインストールする。
$ sudo apt install php libapache2-mod-php php-gd php-mbstring php-intl php-bz2 php-xml
当環境の場合、以下のパッケージがインストールされる。
  1. libapache2-mod-php
  2. libapache2-mod-php8.2
  3. libonig5
  4. php
  5. php-bz2
  6. php-common
  7. php-gd
  8. php-intl
  9. php-mbstring
  10. php-xml
  11. php8.2
  12. php8.2-bz2
  13. php8.2-cli
  14. php8.2-common
  15. php8.2-gd
  16. php8.2-intl
  17. php8.2-mbstring
  18. php8.2-opcache
  19. php8.2-readline
  20. php8.2-xml
ドキュメントルート(/var/www/html)にindex.phpという名前で以下の内容のファイルを作成する。
<?php phpinfo(); ?>
ブラウザから「http://<Raspberry Pi 5のIPアドレス>/index.php」にアクセスし、PHPの設定情報を見れることを確認する。その後、ここのサイトからDokuWikiをダウンロードし、Webサーバのドキュメントルートに展開する。
$ cd /var/www/html
$ sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
$ sudo tar zxvf dokuwiki-stable.tgz
$ sudo dokuwiki-20xx-xx-xx dokuwiki
Webサーバはwww-dataというユーザ及びグループで動作するため、www-dataがDokuWikiの各ファイルを読み書きできるようにするため、以下のコマンドでファイルの所有者を変更する。
$ sudo chown -R www-data:www-data dokuwiki
ブラウザから「http://<Raspberry Pi 5のIPアドレス>/dokuwiki/install.php」にアクセスし、画面の指示にしたがって初期設定をする。