#注意
個人的なメモです。
#EC2インスタンスにログイン
各々に応じてログイン。
#EC2のセットアップ
[ec2-user ~]$ sudo yum update -y
[ec2-user ~]$ sudo yum install -y git
[ec2-user ~]$ sudo git clone git://github.com/creationix/nvm.git /opt/nvm
[ec2-user ~]$ sudo source /opt/nvm/nvm.sh
[ec2-user ~]$ sudo nvm install v8.11.3
[ec2-user ~]$ sudo yum install -y httpd24 php71 mysql56-server php71-mysqlnd php71-mbstring
node関連参考:https://www.yoheim.net/blog.php?q=20161202
私の場合phpのバージョンが7.1以下だと後々にcomposer installする時なぜだか怒られたので状況に応じてバージョンは管理する。
#custom.conf
※参考:https://qiita.com/atto/items/e1effd28c212c3829cb0
Apacheの設定ファイルである/etc/httpd/conf/httpd.conf
の最後にIncludeOptional conf.d/*.conf
とありカスタムのany.conf
を受け入れてくれるとあります。
この原理に基づき、
[ec2-user ~]$ sudo vim /etc/httpd/conf.d/custom.conf
上記のように、custom.confを設置する。
エラーログファイルの場所の変更なども上記参考URLにあるのでやるといい。
[ec2-user ~]$ sudo mkdir /var/www/log
# ドキュメントルート
DocumentRoot "/var/www/yourproject/public"
# .htaccess 有効化
<Directory /var/www/yourproject/public>
AllowOverride All
</Directory>
# エラーログ
ErrorLog "/var/www/log/error_log"
# アクセスログ
<IfModule log_config_module>
CustomLog "/var/www/log/access_log" combined
</IfModule>
#パーミッション設定
[ec2-user ~]$ sudo groupadd www
[ec2-user ~]$ sudo usermod -a -G www ec2-user
[ec2-user ~]$ exit
[ec2-user ~]$ groups // 確認
ec2-user wheel www と表示されればOK。
[ec2-user ~]$ sudo chown -R root:www /var/www
[ec2-user ~]$ sudo chmod 2775 /var/www
[ec2-user ~]$ find /var/www -type d -exec sudo chmod 2775 {} +
[ec2-user ~]$ find /var/www -type f -exec sudo chmod 0664 {} +
#Composer Install
- composer
[ec2-user ~]$ curl -sS https://getcomposer.org/installer | sudo php
// Downloading...
[ec2-user ~]$ sudo cp composer.phar /usr/local/bin/composer
[ec2-user ~]$ sudo ln -s /usr/local/bin/composer /usr/bin/composer
- 拡張ライブラリ
[ec2-user ~]$ sudo yum install -y php71-pdo php71-mysqlnd
#git clone
[ec2-user ~]$ cd /var/www
[ec2-user ~]$ mkdir yourproject
[ec2-user ~]$ cd yourproject
[ec2-user ~]$ git clone yourrepository
これでlaravel+reactのプロジェクトをEC2にクローンしましたが、.envと/venderがgitignoreのためこのままじゃ動きません。
[ec2-user ~ /youreproject]$ vim .env
上記で、.env設定します。(内容は当たり前すぎるので省略)
/venderを調達のため、自分のプロジェクトrootで
[ec2-user ~ /youreproject]$ composer install
php artisan -Vでバージョン出たら成功。
あとLaravel周りのmigrateとかは当たり前すぎるので省略
#Reactのnpm install及びnpm run prod
インストールとbuildやります。