Raspberry Pi 5にWikiサイトを構築する手順を備忘録としてここにメモする。今回、Wikiソフトウェアとしてデータベースを必要としないオープンソースのDokuWikiと呼ばれるものを用いることとする。
はじめにApacheと呼ばれるWebサーバを以下のコマンドでインストールする。
$ sudo apt install apache2
当環境の場合、以下のパッケージが新たにインストールされる。
- apache2
- apache2-bin
- apache2-data
- apache2-utils
- libapr1
- libaprutil1
- libaprutil1-dbd-sqlite3
- 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
当環境の場合、以下のパッケージがインストールされる。
- libapache2-mod-php
- libapache2-mod-php8.2
- libonig5
- php
- php-bz2
- php-common
- php-gd
- php-intl
- php-mbstring
- php-xml
- php8.2
- php8.2-bz2
- php8.2-cli
- php8.2-common
- php8.2-gd
- php8.2-intl
- php8.2-mbstring
- php8.2-opcache
- php8.2-readline
- 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」にアクセスし、画面の指示にしたがって初期設定をする。