日: 2018年2月18日
ラズパイにopenssl0.9.8をインストール
raspbianでPound-2.7をコンパイルしたいのだが、またlibcryptとlibsslでエラーになる。dpkg -l libssl* で調べるとlibssl1.0.2とlibssl1.1が最初からインストールされている。ライブラリへのパスも張られている。これはlibsslのバージョン違いが原因のようだ。Pound-2.7が動いているCentOS5.11のopensslは0.9.8eだ。たぶんPoundはopensslが0.9.8なのを当てにしているのだろう。しかたないので、openssl0.9.8をラズパイへ入れることにした。0.9.8なら何でも良いだろうが、Pound-2.7のコンパイルの実績がある0.9.8kにした。
/usr/local/srcへopenssl-0.9.8k.tar.gzを解凍
./config zlib make make depend make install
/usr/local/sslにライブラリはインスト―ルされるが、なぜかスタティックライブラリの.a形式。.soはできなかった。ここでPoundをconfigureするときは
./configure --with-ssl=/usr/local/ssl
cryptoは通るけど、またsslが通らないので、configureをコメントアウトして、make。ここでなぜかSSL回りでエラーが出る。シンボルが宣言されてないというのが多数。どうせSSL接続は使わないので、全部適当に宣言し直して無理やりmakeを通す。これで何とかコンパイルできて、ラズパイでpoundが動くようになった。
ラズパイにapache2とPHP7とmariaDBをインストール
apache2
apt install apache2
PHP7.0
apt install php php-mysql php-gd php-mbstring
mariaDB
apt install mariadb-client mariadb-server
とりあえず、これで動くみたい。apache2は/var/log/apache2がないと起動時にエラーになるため、RAMディスクで/var/logを構築している場合は、apacheをrc.localより後に起動するように設定する。
ラズパイのext4ジャーナルを無効にする
ラズパイのSDメモリカードへの書き込みを減らすため、ファイルシステムのジャーナルを無効にする。
ラズパイで
tune2fs -o journal_data_writeback /dev/mmcblk0p7
/dev/mmcblk0p7は/にマウントされているデバイス。/etc/fstabを見ると分かる
ラズパイをシャットダウンしてSDメモリカードを外す。他のDebianのマシンにSDメモリーカードを差して、自動マウントされたらアンマウントしておく
tune2fs -O ^has_journal /dev/sdb7
/dev/sdb7はSDメモリカードの/の領域。SDメモリカードをラズパイに差して起動して、ラズパイで
debugfs -R features /dev/mmcblk0p7
で、結果にhas_journalがなくなっていれば、無事ジャーナルが無効になっている。