初めてのUbuntu

晴れサーバー系で苦戦中。 今日はさくらのクラウドに新しいインスタンス作成して、Ubuntu20.04というのを入れて、ウェブアプリケーションが動くようにする作業の、手順確認をしている。 ローカルに入れてやれって話だけど、Dockerの登場でVagrant消してしまったし、WindowsのWSL2がUbuntuだというが、それを同じように扱えるのかわからないし、扱えたとしても環境汚したくないので、多少のお金がかかるけど、実際にインスタンス作ってやるのがベストと判断して。
ディスクは、今が20GBだけど、使用率が85%くらいになっていてこの先怖いので、今はまだ最小の20GBで作るけど、本番時は40GBにするつもり。 Ubuntu使うの初めてで、yumじゃなくてaptだったり、firewalldじゃなくてufwだったりするが、基本的にはLinuxなので、これくらいの違いしか自分にはわからず。
とりあえずPHPは8.0.0を入れたが、昨日か今日に、8.0.1というのがリリースされているので、本番時はそれを入れたいので、自動的に落ちて来なかったら入れる方法探さなくてはならない。
あとはnginxやImageMagick入れたのだけど、ImageMagicで待望のWebPが扱えるようになっていて素晴らしい。 今動いているCentOS7のyumから入れられるImageMagickはWebPに対応しておらず、やるとしたら自分でコンパイルしないといけなくて、それはリスクが高すぎるのでずっとWebP対応ができていなかった。 iOSでもWebPが扱えるようになった今、対応しない理由はない。

今まではpostfix+dovecotでメールサーバーも立てていたが、メールサーバーはもういらないかな…… 独自ドメインのメール使うことほとんどないし、もし使うならSESとか外のサービス使おうと思う。
eth1の追加はCentOS7よりわかりやすい感じだった、yml編集するだけだったので。

色々設定して、いざアプリケーションを動かしてみようと思ったら、PHPのエラーで動かない。 色々調べていたが、PHP8からの「後方互換性のない変更点」に引っかかっていた。 このページの

多くの notice が警告に変換されるようになりました:

未定義の変数を読み取ろうとした場合
未定義のプロパティを読み取ろうとした場合
未定義の配列のキーを読み取ろうとした場合
オブジェクトでない値のプロパティを読み取ろうとした場合
配列でない値のインデックスにアクセスしようとした場合
配列を文字列に変換しようとした場合
リソースを配列のキーとして使おうとした場合
null や bool 値や float の値を文字列オフセットとして使おうとした場合
境界を超えて文字列のオフセットを読み取ろうとした場合
文字列のオフセットに空文字列を割り当てようとした場合


の、特に先頭から3つ目までに。 これはコード自体をかなり修正しないといけないので、手元で検証してからじゃないとできなさそうだ。
php-fpmの設定で、php7系とphp8系を、ドメインを区別して、同じnginxで処理したいのだけど、Dockerで出来るかな。 ポート変えれば簡単にできるが、出来るならポート変えずに処理したい。
fastcgi_pathで、php-fpmのソケットを指定しているので、そこを変えれば多分行けるので、これは明日以降で要検証だ。

あとは公開鍵認証、Mackerelくらいだろうか。 今はMunin入れてるけど、これももういらないかな。
今まで1年掛かって取り掛かりすらしなかったプロジェクトに、ここ数日で取り組んでいて、やる気になれば1週間もあれば終わりそうなので、今までどれだけ逃げてきたかっていうのが分かる。

夜はジョギングには行かずランジジャンプ30回×5セットのトレーニング。 1セット目で膝とか痛かったが、2セット目以降で痛みが消えて、筋肉と心臓が鍛えられた。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です