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