share facebook facebook twitter menu hatena pocket slack

2019.07.22 MON

AmazonLinux2でLaravelを起動する

若松 剛志

WRITTEN BY 若松 剛志

どうも、若松です。

ひょんなことからLaravelを触ることになったので、AmazonLinux2で一から動かしてみます。

コマンド一覧

# PHPインストール
amazon-linux-extras -y install php7.3
yum install -y php-pecl-zip php-mbstring php-dom

# Composerインストール
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer

# 環境変数設定
export COMPOSER_ALLOW_SUPERUSER=1
export COMPOSER_HOME="/composer"
export PATH="$PATH:/composer/vendor/bin"

# Laravelインストール
composer global require "laravel/installer"

# Laravelプロジェクト作成
laravel new

# Laravelサーバー起動
php artisan serve --host 0.0.0.0

コマンド詳細

PHPインストール

amazon-linux-extras -y install php7.3
yum install -y php-pecl-zip php-mbstring php-dom

PHP7.3はextrasリポジトリに格納されています。
AmazonLinux2では通常のyumリポジトリの他にextrasリポジトリを利用することができます。
extrasリポジトリは専用の amazon-linux-extrasコマンドで利用できます。

Composerインストール

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer

Composerのインストールは公式のコマンドをそのまま使用します。
https://getcomposer.org/download/

環境変数設定

export COMPOSER_ALLOW_SUPERUSER=1
export COMPOSER_HOME="/composer"
export PATH="$PATH:/composer/vendor/bin"

意味は以下のとおり

変数名 意味
COMPOSER_ALLOW_SUPERUSER 1 rootでのインストールを許可
COMPOSER_HOME /composer Composerのインストール先
PATH $PATH:/composer/vendor/bin vender配下のbinにPATHを通す

Laravelインストール

composer global require "laravel/installer"

ComposerでLaravelをインストールします。
vender配下にlaravelコマンドが配置されます。

Laravelプロジェクト作成

laravel new

Laravelのプロジェクトを作成します。
プロジェクトを作成すると以下のようなファイル群が配置されます。

# ll
total 396
drwxr-xr-x  6 root root     84 Jul  6 05:12 app
-rw-r--r--  1 root root   1686 Jul  6 05:17 artisan
drwxr-xr-x  3 root root     34 Jul  6 05:12 bootstrap
-rw-r--r--  1 root root   1550 Jul  6 05:17 composer.json
-rw-r--r--  1 root root 167312 Jul  6 05:17 composer.lock
drwxr-xr-x  2 root root    247 Jul  6 05:12 config
drwxr-xr-x  5 root root     72 Jul  6 05:12 database
-rw-r--r--  1 root root   1125 Jul  6 05:17 package.json
-rw-r--r--  1 root root   1156 Jul  6 05:17 phpunit.xml
drwxr-xr-x  4 root root     98 Jul  6 05:12 public
drwxr-xr-x  6 root root     53 Jul  6 05:12 resources
drwxr-xr-x  2 root root     75 Jul  6 05:12 routes
-rw-r--r--  1 root root    563 Jul  6 05:17 server.php
drwxr-xr-x  5 root root     46 Jul  6 05:12 storage
drwxr-xr-x  4 root root     83 Jul  6 05:12 tests
drwxr-xr-x 40 root root   4096 Jul  6 05:18 vendor
-rw-r--r--  1 root root    538 Jul  6 05:17 webpack.mix.js
-rw-r--r--  1 root root 207745 Jul  6 05:17 yarn.lock

Laravelサーバー起動

php artisan serve --host 0.0.0.0

artisanサブコマンドを用いてサーバーを起動します。
hostオプションでListenアドレスを指定しない場合は localhostでListenされます。

ブラウザでサンプルを表示

http://[IPアドレス]:8000にアクセスすることで以下のサンプルを表示します。

まとめ

AmazonLinux2でLaravelのサンプルを表示するまでをまとめました。
次はDockerで同様のサンプル表示までまとめていきたいと思います。

元記事はこちら

AmazonLinux2でLaravelを起動する

若松 剛志

若松 剛志

AWS環境の構築、運用を担当。インフラを中心に雑食な感じで生きてます。JAWS-UGでも活動中。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。