【備忘録】GCEでのLaravelの環境構築


GCEでLaravelの環境構築をよく行うので備忘録です。
間違い等ございましたら、ご指摘いただけますと幸いです。

目次

  • 構築する環境
  • PHPの導入
  • Gitの導入
  • Composerの導入
  • Apacheの導入
  • Laravelの導入
  • LaravelとApacheの設定

構築する環境

  • debian 10
  • PHP 7.3
  • Composer
  • Laravel 6.0
  • git
  • Apache2

PHPの導入

パッケージ一覧を更新

sudo apt update && sudo apt -y upgrade

PHP7.3 と 必要なPHPモジュールのインストール

sudo apt-get install php7.3 php-pear
sudo apt-get install libapache2-mod-php7.3 php7.3-xml php7.3-gd php7.3-opcache php7.3-mbstring php7.3-curl zip unzip php7.3-zip php7.3-mysql

PHPが導入されたか確認

php -v

バージョンが表示されればOK!

Gitの導入

sudo apt-get install git

Composerの導入

composer-setup.phpのダウンロード

curl -sS https://getcomposer.org/installer -o composer-setup.php

公式サイトにてHash値を確認し、変数に格納

HASH=公式サイトで確認したHash値
# (v2.0.8の場合は756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3)

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
# 実行結果: Installer verified

sudo php composer-setup.php --install-dir=/bin --filename=composer
# 実行結果
# All settings correct for using Composer
# Downloading...

# Composer (version 2.0.8) successfully installed to: /bin/composer
# Use it: php /bin/composer

Composerが導入されたか確認

composer

# 実行結果
#    ______
#   / ____/___  ____ ___  ____  ____  ________  _____
#  / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
# / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
# \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
#                     /_/
# Composer version 2.0.8 2020-12-03 17:20:38

Composerの文字がデカデカと出力されればOK!!

Apacheの導入

Apacheと必要なモジュールのインストール

sudo apt-get install apache2
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
sudo systemctl restart apache2

Laravelの導入

Laravelの導入場所に移動

cd /var/www/html

/var/www/html内のユーザーの権限を変更

sudo chown -R ユーザー名 /var/www/html

既存のプロジェクトを使用する場合は、gitでcloneする
新規でプロジェクトを作成する場合は、

sudo composer create-project --prefer-dist laravel/laravel プロジェクト名 "6.*"

権限の変更

sudo chgrp -R www-data /var/www/html/プロジェクト名
sudo chmod -R 775 /var/www/html/プロジェクト名/storage

LaravelとApacheの設定

cd /etc/apache2/sites-available
sudo nano プロジェクト名.conf

プロジェクト名.confの記述は、

プロジェクト名.conf
<VirtualHost *:80>
    ServerName 使用するサーバー名(なければプロジェクト名).com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/プロジェクト名/public

    <Directory /var/www/html/プロジェクト名>
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

次にsites-availableディレクトリからsites-enabledディレクトリへのシンボリックリンクの変更,
apacheの再起動を行います。

sudo a2dissite 000-default.conf
sudo a2ensite プロジェクト名.conf
sudo a2enmod rewrite
sudo service apache2 restart

以上で設定は終了です!
Laravelの設定やDBはその都度で!!