概要
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
ドメインが有料になるため、完全無料とは言えない
- 1年後は
サービス | 容量 | 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を動かしてみたメモ
以下のドキュメントに従って構築した。
前提条件
- Azureの無料アカウントを取得していること。
-
azure-cliがインストールされていること
- 割と頻繁に更新されるので、chocolateyでのインストールがおススメ
- gitが使えること
ログインしておくこと
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://hogeDeployUser@freeHogeAppService.scm.azurewebsites.net/freeHogeAppService.git'
gitからAzureへのpush
ファイルの準備
Azure App Service 向けの PHP アプリを構成するを参考にgitに必要なファイルをコミットしておく。
-
リポジトリサンプル
-
.htaccess
の設定で、publicフォルダをwwwルートにしている - slim,twigのインストール(composerに書かれたライブラリはgit push するとサーバ側で自動的にインストールされる)
-
リモートリポジトリの登録
デプロイ用のgitリポジトリを登録する。
git remote add azure https://hogeDeployUser@freeHogeAppService.scm.azurewebsites.net/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