雑記
2020年現在、10年以上前から続いているレンタルサーバーは未だにPHP5.1.6だったりするし、CMSが依存していることもあり案件になりえることに驚いている。 (ITやWebをただの告知ツールと認識しているのであれば、10年などまったく代謝の動機に至らないかもしれないが。そもそも予算もないだろう。)
レガシーと呼ばれるPHPフレームワークですら動かない環境は、再現するのも一苦労。 当時のオープンソースファミリーだったApacheやPHPはEOLとなり一部リポジトリからダウンロードできなくなり、i386アーキテクチャは消え失せ、3年前ではビルドできた環境も今や公式リポジトリの消滅によりもはや闇の中を手探りするしかない。
ならば、当時の英知にあやかるしかない、ということで、「XAMPP for Linux」というあらかじめApache、MySQLなどがビルドされたパッケージを用いたDockerファイルを作成。
自動テストができないならせめてE2Eを・・・と悩める同志(?)の一助になれば。
DockerFile
- Sourceforgeから、当時のバイナリをダウンロードする。
- Sourceforgeがサービス終了する、i386/centos:6 のDockerイメージがなくなるとこのスクリプトは動かなくなる。
# 32bit アーキテクチャじゃないと古いバージョンのxamppが動かない FROM i386/centos:6 WORKDIR /usr/local/src # TimeZoneの設定 RUN ln -sf /usr/share/zoneinfo/Japan /etc/localtime # Xampp for Linux 1.5.4aのintall RUN curl -L https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/1.5.4a/xampp-linux-1.5.4a.tar.gz/download>xampp-linux-1.5.4a.tar.gz \ && tar xvfz xampp-linux-1.5.4a.tar.gz && mv lampp /opt/lampp EXPOSE 80 ADD entrypoint.sh /app/entrypoint.sh CMD [ "/app/entrypoint.sh" ]
entrypoint.sh
#!/bin/sh # デーモン起動 /opt/lampp/lampp start # 無限ループ while true; do sleep 1000; done