背景
既存のシステムがamazon linux2だったがもうそろそろサービスが終了するということで、amazon linux 2023に移行しますのでとりあえず既存システム同じ環境を用意してください~となり見てみたところPHP5.6が使われてるじゃないですか~~~
ほなじゃあphp入れるのにまずepel君入れますか~
sudo amazon-linux-extras install epel
すると
amazon-linux-extras command not found
amazon-linux-extras君はいないって怒られた(´・ω・`)
なななんとamazon linux 2023には搭載してないらしい…
やったこと
epelが入れられないのでremiリポジトリからインストールを断念してソースコードを入れてビルドする方針に変えてやります
まずビルドに必要なパッケージを入れるとこから始めよう
sudo yum install -y gcc gcc-c++ make automake autoconf kernel-devel libxml2-devel libcurl-devel openssl-devel bzip2-devel libjpeg-devel libpng-devel freetype-devel readline-devel libxslt-devel libmcrypt-devel libmcrypt
そしたらlibmcrypt-devel libmcryptこの2つがないらしいので以下を参考に別から入れることにした
https://repost.aws/questions/QUQFr6C5zeQMyXHG6kz6WO9w/need-detailed-steps-to-install-mcrypt-1-0-6-or-1-0-7-for-php8-2-on-amazon-linux-2023
[fedora]
name=Fedora 36 - $basearch
#baseurl=http://download.example/pub/fedora/linux/releases/36/Everything/$basearch/os/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-36&arch=$basearch
enabled=1
countme=1
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=0
gpgkey=https://getfedora.org/static/fedora.gpg
skip_if_unavailable=False
Fedoraリポジトリからmcryptライブラリをインストールする
sudo dnf clean all
sudo dnf install libmcrypt-devel libmcrypt -y
Fedoraリポジトリを無効にする
sudo dnf config-manager --disable fedora
sudo dnf clean all
その他の必要ライブラリを入れる
sudo yum install -y gcc gcc-c++ make automake autoconf kernel-devel libxml2-devel libjpeg-devel libpng-devel freetype-devel readline-devel libxslt-devel
phpのソースコードをダウンロード
mkdir ~/php5.6
cd ~/php5.6
wget https://www.php.net/distributions/php-5.6.40.tar.gz
tar -xzf php-5.6.40.tar.gz
cd php-5.6.40
ビルド(必要な拡張機能を設定する)
bash configure --prefix=/usr/local/php-5.6 --with-config-file-path=/usr/local/php-5.6/etc --enable-mbstring
make
sudo make install
phpの設定(パスなど)
sudo cp php.ini-production /usr/local/php-5.6/etc/php.ini
echo "export PATH=/usr/local/php-5.6/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
これでPFP5.6が使えるようになった!!
おわり
ぶっちゃけdockerとか使った方が鬼楽
なんかの縛りプレイかなって思うくらいamazon linux2との差があり、amazon linux2023からなくなったモジュールとか多いから参考資料探すのも大変だった…
余談ですが、最近ブログとか書くのが楽しくなってきたので、技術系メモ以外でも書いてみたいなって思ってきたw
そのうち会話風のブログとかも書きたいね
最後まで読んでいただきありがとうございました。今回の記事が皆さんのお役に立てましたら幸いです。またのご訪問をお待ちしております!