📌

WSL2のubuntuにapacheとphpをインストールしてバージョン管理

2021/11/27に公開

さこつです。無事退職しました。

XAMPPのアップデートめんどくさい!でも自分のPC環境でphpのバージョン管理したい!!と試行錯誤した結果、
WSL2のubuntuにapacheとphpをインストールすることになったお話。

ubuntuのapacheならラクそう

こういう記事があった。ubuntu20.04.1 phpのバージョンを切り替える

そうだ、WSL2のubuntuにapacheを入れて管理しよう

1.上記をもとにphpをインストール

ただし、2021年11月27日時点でphp8.1をインストールするとapacheが503エラーで動かなくなるので注意。 → 動くようになりました(2021/12/20 追記)
7.3、7.4、8.0くらいにしとく。

その後、apacheインストール。

apacheのphpバージョン変更はこちら。https://mebee.info/2021/08/02/post-29391/

2.ドキュメントルート変更

ユーザーディレクトリ内にあったほうがテスト環境としては何かと便利である。
apache2.conf、000-default.conf(のコピー)、default-ssl.conf(のコピー)のドキュメントルートを、
/home/ユーザー名/wwwなどに変更する。

3.ssl設定

せっかくなのでhttpsでアクセスできるようにする。

default-ssl.conf(のコピー)

SSLCertificateFile	/etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

SSLCertificateFile	/etc/ssl/myssl.crt
SSLCertificateKeyFile /etc/ssl/myssl.key

とかに変更。

こちら XAMPP for WindowsでSSLを有効にする を参考に、
/etc/ssl/内でopenssl-san.cnfを作成、

$ openssl req \
    -newkey     rsa:4096 \
    -keyout     myssl.key \
    -x509 \
    -nodes \
    -out        myssl.crt \
    -subj       "/CN=localhost" \
    -reqexts    SAN \
    -extensions SAN \
    -config     openssl-san.cnf \
    -days       365000

などとした。

※daysが3650のままでは現状で証明書の期限が切れている。またWSL内なので//CNのバックスラッシュは1つで良い。

4.apache再起動

sudo a2dissite 000-default.conf
sudo a2dissite default-ssl.conf
sudo a2ensite 000-default(のコピー).conf
sudo a2ensite default-ssl(のコピー).conf

のあと

sudo service apache2 restart

5.OKだ

所感

ubuntuだとphpのバージョンアップも apt update でできてホントよい。

なお、ファイルとフォルダのパーミッションに注意。

Discussion