PHPの無料お試しサーバを探したらAzureAppServiceに行き着いたメモ


概要

PHPのslimフレームワークを少し試したいなと考えて無料サーバを探したけれど、
検索上位の環境はのきなみHTTPS化できなかった。
最終的にAzureにたどり着いたのでそこに至るメモ。

この時点のソース

対象読者

MySQL使わなくてもよい、PHPの勉強中の人。お金のない学生とか。

WordPressを無料で使いたい人は対象外。
調べたり勉強する手間より、有料プランにして無料SSL一発適用がコスパよいと思う。
今まで無料範囲で構築できたGCPも規約変更で月300円くらいかかるそうですし。

やりたいこと

  • PHPの動作環境
  • HTTPSでのアクセス
    • 最近はHTTPでは使えないjavascript apiもあったりするので。(例: clipboardの操作)

比較検討

  • 無料PHPはWordPressをメインの対象にしているっぽい
  • MySQLが入っているのはAMP(Apache,MySQL,PHP)環境が一時期流行ってたからかと
  • xfreeはphp用とwordpress用でスペックに差があった。もうwordpressしか力を入れていないのかもしれない。
  • △ ... xreaは1年間は.shopドメインでhttps可能
    • 1年後は.shopドメインが有料になるため、完全無料とは言えない
サービス 容量 PHP MySQL HTTPS
netowl 2000M 7.4 5.7 ×
xfree - PHP 1000M 7.1 5.0 ×
xfree- WordPress 2000M 7.4 5.7 ×
xrea 2000M 8.0 5.7
AppService 1000M 7.4 -

Azure APP ServiceでSlimを動かしてみたメモ

以下のドキュメントに従って構築した。

前提条件

ログインしておくこと

az login

デプロイユーザの構成

gitでデプロイするためのユーザを作成する。

az webapp deployment user set --user-name hogeDeployUser --password fugapasssword

Resouce Groupの作成

AppServicePlan,AppSeriveをまとめるためのコンテナを作成。

az group create --name freeHogeGroup --location "Japan East"

App Service Planの作成

アプリケーションの動作環境を作成

az appservice plan create --name freeHogeAppServicePlan --resource-group freeHogeGroup --sku FREE

App Serviceの作成

アプリケーションを作成

az webapp create --resource-group freeHogeGroup --plan freeHogeAppServicePlan --name freeHogeAppService --runtime "PHP|7.4" --deployment-local-git

実行すると、以下のようにgitのパスが表示されるので控えておく。

Local git is configured with url of 'https://[email protected]/freeHogeAppService.git'

gitからAzureへのpush

ファイルの準備

Azure App Service 向けの PHP アプリを構成するを参考にgitに必要なファイルをコミットしておく。

  • リポジトリサンプル
    • .htaccessの設定で、publicフォルダをwwwルートにしている
    • slim,twigのインストール(composerに書かれたライブラリはgit push するとサーバ側で自動的にインストールされる)

リモートリポジトリの登録

デプロイ用のgitリポジトリを登録する。

git remote add azure https://[email protected]/freeHogeAppService.git

デプロイ

初回はパスワードを求められる

git push azure

確認

作成されたAPPServiceをみると、デプロイ先のURLを確認できる。
デプロイされたHPの確認

デプロイ先のフォルダ確認

以下のコマンドを入れると、ブラウザが立ち上がり、
デプロイ先のAppServiceのコンソールにアクセスできる。
/home/site/wwwroot/ディレクトリにgitでpushした中身が入っている。
vendorディレクトリがあるので、きちんとcomposerが動作していることが分かる。

az webapp ssh -n freeHogeAppService -g freeHogeGroup 

なお、gitのコミットで消したファイルも、デプロイ先では残っていたりするので時々様子見したほうがいいかも。

余談

netowlの無料プランの管理画面の入り口って初見殺しじゃないですかね

参考

無料レンタルサーバーXFREEで無料SSL化は可能か?【WordPress・ブログ作成初心者】②

Azure App Service に PHP Web アプリを作成する
Azure App Service 向けの PHP アプリを構成する
az webapp sshService
slim