技術

[AWS]1コインサーバーでLAMP(Laravel8)を使う<後編>

こんにちわ、どばきちです。

前回はLightsailのご紹介と実際にインスタンスの起動までを記載させて頂きました。今回はその続きとして、Laravelの導入についてやっていきたいと思います!

前編については以下の記事をご覧ください。

[AWS]1コインサーバーでLAMP(Laravel8)を使う<後編>

実践!

基本的なLaravelの導入手順としては以下の資料にまとまっていてそれを実施していくのみです!

Get Started With 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を使って何をするか改めて考えてみたいなと思います。

それでは、また!

[AWS]1コインサーバーでLAMP(Laravel8)を使う<前編>前のページ

Twitterをはじめました次のページ

関連記事

  1. 技術

    warpではzshのbindkeyが使えない

    こんにちわ。iterm2からwarpへの乗り換えをし…

  2. 技術

    HHKBでMacにログインできるようになった!

    こんにちわ、どばきちです。普段僕はHappy Hac…

  3. 技術

    [docker][PHP]Laravel開発テンプレを作ってみた

    こんにちわ、どばきちです。いざ新規に何かしらの開発を…

  4. 技術

    [AWS]1コインサーバーでLAMP(Laravel8)を使う<前編>

    こんにちわ、どばきちです。AWSにはLightsai…

  5. 技術

    [AWS]VPC消せないけど費用はかかる悪夢

    こんにちわ、どばきちです。先日個人用に作成したAWS…

  6. 技術

    [AWS]Amazon Linux2 カーネル4.14から5.10へ

    こんにちわ、どばきちです。Amazon Linux2…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

2025年1月
 12345
6789101112
13141516171819
20212223242526
2728293031  
  1. フリーランス

    エージェントからの紹介って実際どうなん?
  2. 技術

    スプレッドシートの内容をChatworkに定期通知する<前編>
  3. フリーランス

    フリーランス生活2ヶ月でわかったこと
  4. 技術

    [docker][PHP]Laravelでステップ実行してみる
  5. フリーランス

    2023年度分確定申告..今年も迷った..
PAGE TOP