LoginSignup
10
6

More than 5 years have passed since last update.

Laravel5をAWS EC2にデプロイした時のメモ

Last updated at Posted at 2015-12-03

CLIでの操作

# 最初にインストール済みパッケージの更新(重要)
sudo yum -y update
# 関連するパッケージのインストール
sudo yum install -y httpd24 php56 php56-mbstring mysql55-server php56-mysqlnd

# Composerのインストール
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer


# ドキュメントルートをApacheとec2-userから、読み書きできるようにグループwwwを作成し、ユーザーapacheとec2-userを所属させる
sudo groupadd www
sudo usermod -a -G www ec2-user
sudo usermod -a -G www apache


# /var/www下をwwwグループの所有にする 
sudo chown -R ec2-user:www /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} +
find /var/www -type f -exec sudo chmod 0664 {} +

# Apache起動
sudo service httpd start


# ブートするごとにApcheが起動するように設定
sudo chkconfig httpd on

# MySQLの起動 
sudo service mysqld start
sudo mysql_secure_installation
sudo chkconfig mysqld on

httpd.confの設定

viで中身を書き換える

  • laravelファイル/publicにアクセスするとrootアクセスができるので、DocumentRootをその位置に設定する
  • .htaccessを有効にするためにAllOverrideをAllにする。

S3に画像をアップデートする

基本的にはIAMでユーザーを作ってポリシーでアタッチS3FullAccessをアタッチすれば良い
こちらのサイトに詳しく書いてあるので参照
http://joppot.info/2014/06/14/1621

バケットポリシーに以下を記述する

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject",
                "s3:PutObjectAcl",
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::BUCKET_NAME/*"
        }
    ]
}

Composer Updateした後にAPIを叩くとエラーが出る

以下のコマンドを叩いてアクセスしようとすると、Internal Server Errorが出る。

composer update

理由は謎だけど、以下のコマンドを一度起動したら治った。

php artisan ser

このコマンドでコードを一回読み込んでいるのかも

10
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6