CentOSしか知らなくて、ほぼまっさらなUbuntuにPukiwikiをインストールするだけで嵌った

家庭内の情報をまとめておけるようにお家サーバにwikiを立てることにした。使えるwikiソフトウェアも色々あるけど、久しぶりに更新されたと話題?のPukiwikiを入れることにした。

PukiWikiサイト: https://pukiwiki.osdn.jp/?PukiWiki

あちこちで使われているからインストールは簡単だろう、と思っていたら、意外と大変だった。
情報がありそうで、無い。まぁあるんだけど、「わかっている人」向けな感じ。
元々CentOS系しかやっていないので、Ubuntuとの違いで嵌ったというのもある。

インストール環境

自宅サーバ NUC5PPYH
OS: Ubuntu 20.04.4 LTS
[過去記事]に書いた通り、Sambaでしか使用していない。

Sambaインストールしてから、アップデート以外で全く触っていないw

最初はアップデート

とりあえず、OS周りを綺麗にしておく。

sudo apt-get update
sudo apt-get upgrade

PHPとWebサーバであるApache httpdのインストール

次に、PHPとapacheをインストールする。もうすでに、この辺りから情報が怪しくなってくる・・・

Pukiwiki はphpで動作するのだけどhttpサーバの機能は搭載されていないので、前提環境としてWebサーバのソフトウェアが必要なんです。PHP単体ではダメなんです。
でも、そんなの当り前だろうって感じで、Pukiwikiのインストール紹介の多くのサイトでその一言すら書いてなかったりする。

Webサーバは、apache httpdで良いみたい。Nginxもあるけど記事量がちがう。
しかし、Ubuntu では、apache httpd とか、httpdとかで呼ばないらしい。
単純にApache か、Apache Webサーバとかならまだよいけど、Apahce2って・・・

いや、仕事でこの辺り少しやってるのだけど、Apacheってとにかくたくさんの種類があるのよね。なので、名称がちょっと違うと別のソフトウェアではないかと考えてしまう。
Ubuntu 使いの人がRHEL系に来たら同じように迷うんだろうな・・・

大元の apache がこういうことしているのかな、Linuxで方言きついのはやめてほしい。

前置き長くなったけど、やっとインストール(笑)

$sudo apt-get apache2 php7.4
インストール後のバージョン確認
$ php -v
PHP 7.4.3 (cli) (built: Mar  2 2022 15:36:52) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

$ apache2 -v
Server version: Apache/2.4.41 (Ubuntu)
Server built:   2022-03-16T16:52:53

Pukiwikiをダウンロード

Pukiwikiのサイトに記載のリンクから最新版をダウンロードして解凍する。
wget https://ja.osdn.net/projects/pukiwiki/downloads/77082/pukiwiki-1.5.4_utf8.zip
unzipが入ってなかったからインストールする。
sudo apt-get install unzip
 
ダウンロードしたファイルを解凍する。そして、webサーバのディレクトリにコピーする。
mv pukiwiki-1.5.4_utf8/ pukiwiki
sudo cp -R pukiwiki /var/www/html/

Apacheの設定(入れるだけでノーガード)

ここは、どこかのサイトに書いてあったものを再掲。もう一度探すのが大変なのでURL書けてません。ごめんなさいm(_ _)m
$ sudo a2enmod rewrite
Enabling module rewrite.
To activate the new configuration, you need to run:
  systemctl restart apache2
$ sudo service apache2 restart 
 で、ブラウザで、サーバアドレス/pukiwiki/ で表示されるのだけど
書き込み権限が無い、といった情報が表示される。
 Directory is not found or not writable
これもわかりやすい解決策が書かれていない。
権限ということでApache2の設定ファイルに書かているはずの権限設定を確認する。
CentOSでは /etc/httpd/conf.dの下に設定ファイルはあるだけど、そんなディレクトリは存在しない。
そう、素直にインストールしたapache2という名称。
$ less /etc/apache2/apache2.conf には書かれてなくて、
$ less /etc/apache2/envvars に書かれてた。
設定ファイルを確認すると、www-data:www-data と設定されている・・・
すると、/var/www配下の所有者が root:root になっているのが原因。
CentOSだと、この辺りは apache:apache に設定するのでここも違う。
素直に、ユーザとグループを変更してリスタート。 
$ sudo chown -R www-data:www-data /var/www
$ sudo service apache2 restart
なんとか、Pukiwikiの初期画面が表示された。
しかし、全部初期状態で完全ノーガード。自宅サーバだからできる技(笑)
とはいいつつも、きちんとapacheとPHPのセキュリティ設定を追加しなくてはいけない。
Apache2の設定ファイルの中身はhttpdと同じであってほしいと祈るばかり(笑)