こんにちわ、どばきちです。
前回はLightsailのご紹介と実際にインスタンスの起動までを記載させて頂きました。今回はその続きとして、Laravelの導入についてやっていきたいと思います!
前編については以下の記事をご覧ください。
[AWS]1コインサーバーでLAMP(Laravel8)を使う<後編>
実践!
基本的なLaravelの導入手順としては以下の資料にまとまっていてそれを実施していくのみです!
導入手順のパターン確認
導入手順として2パターン(A, B)があるらしく、サーバー環境がどちらのパターンで対応する必要があるのかを特定するために以下のコマンドを実行しています。今回はパターンAでした。
bitnami@ip-xxx-xx-x-xx:~$ test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."
Approach A: Using system packages.
Laravelのインストール
インストール
bitnami@ip-xxx-xx-x-xx:~$ composer global require laravel/installer
Changed current directory to /home/bitnami/.config/composer
Info from https://repo.packagist.org: #StandWithUkraine
Using version ^4.2 for laravel/installer
./composer.json has been created
Running composer update laravel/installer
Loading composer repositories with package information
Updating dependencies
(省略)
パスの追加
bitnami@ip-xxx-xx-x-xx:~$ echo 'PATH=$PATH:$HOME/.config/composer/vendor/bin' | sudo tee -a /etc/profile
PATH=$PATH:$HOME/.config/composer/vendor/bin
bitnami@ip-xxx-xx-x-xx:~$ export PATH=PATH=$PATH:$HOME/.config/composer/vendor/bin
アプリケーション配布先の用意
アプリケーション配布先のディレクトリ作成とディレクトリに対する権限の変更をします。
bitnami@ip-xxx-xx-x-xx:~$ sudo mkdir -p /opt/bitnami/projects
bitnami@ip-xxx-xx-x-xx:/opt/bitnami$ sudo chown $USER /opt/bitnami/projects
Laravelプロジェクトの作成
laravel newコマンドでプロジェクトを作成します。
bitnami@ip-xxx-xx-x-xx:/opt/bitnami$ cd /opt/bitnami/projects
bitnami@ip-xxx-xx-x-xx:/opt/bitnami/projects$ laravel new myapp
_ _
| | | |
| | __ _ _ __ __ ___ _____| |
| | / _` | '__/ _` \ \ / / _ \ |
| |___| (_| | | | (_| |\ V / __/ |
|______\__,_|_| \__,_| \_/ \___|_|
Creating a "laravel/laravel" project at "./myapp"
(省略)
デーモンからのアクセス権限を付与します。
bitnami@ip-xxx-xx-x-xx:/opt/bitnami/projects/myapp$ sudo chown daemon:daemon /opt/bitnami/projects/myapp/storage
bitnami@ip-xxx-xx-x-xx:/opt/bitnami/projects/myapp$ ls -l | grep storage
drwxr-xr-x 5 daemon daemon 4096 Feb 8 14:36 storage
Webサーバ(apache)の設定
80番ポート(http)に対するバーチャルホスト設定をします。
bitnami@ip-xxx-xx-x-xx:/opt/bitnami/apache2/conf/vhosts$ cat myapp-vhost.conf
<VirtualHost 127.0.0.1:80 _default_:80>
ServerAlias *
DocumentRoot /opt/bitnami/projects/myapp/public
<Directory "/opt/bitnami/projects/myapp/public">
Options -Indexes +FollowSymLinks -MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
443ポート(https)に対するバーチャルホスト設定もします。
bitnami@ip-xxx-xx-x-xx:/opt/bitnami/apache2/conf/vhosts$ cat myapp-https-vhost.conf
<VirtualHost 127.0.0.1:443 _default_:443>
ServerAlias *
DocumentRoot /opt/bitnami/projects/myapp/public
SSLEngine on
SSLCertificateFile "/opt/bitnami/apache2/conf/bitnami/certs/server.crt"
SSLCertificateKeyFile "/opt/bitnami/apache2/conf/bitnami/certs/server.key"
<Directory "/opt/bitnami/projects/myapp/public">
Options -Indexes +FollowSymLinks -MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
apacheを起動して設定を反映します。
bitnami@ip-172-26-2-75:/opt/bitnami/apache2/conf/vhosts$ sudo /opt/bitnami/ctlscript.sh restart apache
Restarted apache
ログ出力先に対する権限設定
上記ドキュメントには特に記載はないですがstorage配下の権限をしておく必要があります。
bitnami@ip-172-26-2-75:/opt/bitnami/projects/myapp$ sudo chmod -R 777 storage
bitnami@ip-172-26-2-75:/opt/bitnami/projects/myapp$ ls -l | grep storage
drwxrwxrwx 5 daemon daemon 4096 Feb 8 14:36 storage
疎通確認
上記諸々設定できると疎通確認ができます。Lightsailインスタンスのpublic ipにアクセスします。以下の様な画面が表示されればOKです!
LightsailのインストールからLaravelの導入までやってみました。VPSが月額500円未満固定で利用できるって改めてよき時代になったなって思いますね。どう活用するかは色々あるとは思いますが、そもそも個人では高くて利用を諦めていた人にとってもワンチャンあるのではないですかね。僕もLightsailを使って何をするか改めて考えてみたいなと思います。
それでは、また!
この記事へのコメントはありません。