どうも、若松です。
ひょんなことから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で同様のサンプル表示までまとめていきたいと思います。