LoginSignup
0
2

More than 1 year has passed since last update.

【AWS】EC2にWEBサーバーを立てて表示されない場合確認箇所

Last updated at Posted at 2021-08-30

◆ 目的
EC2にWEBサーバーとDBサーバーを立てた時に、なかなか表示されず困ったことを今後のためにメモ。
確認手順や表示されない可能性を記述します。

何が問題か分割して原因を探る
・ネットワーク
・サーバー環境
・ミドルウェア(Apache、PHP、Composerインストールもれ、設定ミスなど)
・ソースコード

環境構築完了!でも...ドメインを叩いて想定している画面が表示されない時

1)ErasticIPをアドレスバーに入れて表示できるかチェック

表示されてたらAppacheの設定はOK
 (ドメインで叩くと表示されない場合以下チェック)
・DNSの設定
・Route53の設定
・セキュリティーグループ設定(HTTP 80/HTTPS 443)

ErasticIPで何も表示されてなかったらAppacheに問題があるかも。
・Appacheの設定ミスの可能性 → ②

2)Appacheの設定チェック

/var/www/sample_site/public/
ここに index.html 中に 「hello」 とか記述しといてちゃんと上記ドキュメントルートを閲覧できてるかチェックする。

↑Appacheの設定チェック&修正 「hello」は表示されるけど...プロジェクトは表示できない
・ミドルウェア(PHP、Composerインストールもれ、設定ミスなど) → 3)
・mysql → ④
・.env → ⑤
・ソースコード → ⑥

↑Appacheの設定チェック&修正 ErasticIPではOK!でも、ドメインではエラー
・DNSの設定
・Route53の設定

どちらでも表示されない
・Appacheエラーログチェック → ⑦

// Appache開くコマンド
sudo vi /etc/httpd/conf.d/custom.conf

例)
Alias /phpMyAdminSample "/var/www/html/tool/phpMyAdmin"

<VirtualHost *:80>
  ServerName domein.com
  DocumentRoot "/var/www/sample_site/public/"

  <Directory /var/www/sample_site/public/>
    AllowOverride All
  </Directory>
</VirtualHost>

※Appacheを触ったら必ず再起動マスト!!!!!
sudo service httpd restart
sudo systemctl restart php-fpm

3)ミドルウェア(PHP、Composerインストールもれ、設定ミスなど) 

自分の環境に必要な言語やパッケージ管理ファイルがちゃんと入っているかチェック

例)
// PHP
php -v

// composer
comporser

//node.js
node -v

4)mysql

この辺確認。
インストールできてなかったらそもそもインストール必要
ちゃんと動いてないとパッケージ足りないかな
接続できてなかったらまずは接続問題解決。

// インストールできているか
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
sudo yum install mysql-community-server -y
mysql -v

// ちゃんと起動しているか
sudo service mysqld start
sudo service mysqld status

// DBに接続できているか
mysql -u root -p
↑ 初期パスワード求められる
【初期パス確認方法】  https://qiita.com/miriwo/items/457d6dbf02864f3bf296


----------- ここから migrate できない時チェック -----------
// DB作ってなかったら作る
create database <DB名>;

//  作成したDBで接続できるか
mysql -u <user名> -p <DB名>

//  認証方式 確認
【MySQL8.0 認証方式を変更する】  https://qiita.com/ucan-lab/items/3ae911b7e13287a5b917

5).env & 認証方法あってる?

DB_CONNECTION=mysql // ここはmysqlがデフォらしい
DB_HOST=localhost   // 確認する※
DB_PORT=3306
DB_DATABASE=<DB名>
DB_USERNAME=<user名>
DB_PASSWORD=<password>

※確認方法
【MySQL8.0 認証方式を変更する】 https://qiita.com/ucan-lab/items/3ae911b7e13287a5b917

↓↓↓↓↓ 変更

6)ソースコード

storageのlogチェックすればいいと思う。

7)Appacheエラーログチェック

権限付与してもフォルダに入るのは無理だったのでsudoコマンドでパスで開きに行く
ログチェックして原因を探る。

sudo cat /var/log/httpd/access_log
sudo cat /var/log/httpd/error_log

8)その他(おまけ1) Please provide a valid cache path

composer install 時にエラーが出た時

# storage_pathで設定している値を確認できるコマンド
# /var/www/<pj>で実行
$ find config/ -type f | xargs grep storage_path | grep framework
config/cache.php:            'path' => storage_path('framework/cache/data'),
config/session.php:    'files' => storage_path('framework/sessions'),
config/view.php:        realpath(storage_path('framework/views'))

# 存在していないディレクトリを自分で作成する
$ mkdir -p storage/framework/cache/data/
$ mkdir -p storage/framework/sessions
$ mkdir -p storage/framework/views

【ComposerでPlease provide a valid cache pathとなったときの対応方法】
https://qiita.com/ponsuke0531/items/f0b68546068ac8922665

9)その他(おまけ2) 権限まわり

** 権限
chmod -R 777 bootstrap/
cd ./storage
chmod -R 777 logs/
chmod 777 app/tmp/
chmod -R 777 framework/
0
2
0

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
0
2