02Laravelのインストール
まずはLaravelをインストールしていきましょう。以下の手順に沿ってLaravelをインストールしてください。
PHPやSQLと同じDockerで環境を作成していきます。
新たに「Lesson13_Laravel」ディレクトリを作成して下さい。
以下のようにファイルを作成してください。
Lesson13_Laravel
├── docker-compose.yml
└── Dockerfiledocker-compose.yml
services:
web:
build: .
ports:
- "80:80"
volumes:
# ホストのlaravel_appディレクトリとコンテナ内のLaravelプロジェクトを同期(開発時用)
- ./laravel_app:/var/www/html/laravel_app
depends_on:
- db
db:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: laravel
MYSQL_USER: laraveluser
MYSQL_PASSWORD: laravelpass
ports:
- "3306:3306"
volumes:
- dbdata:/var/lib/mysql
volumes:
dbdata:
Dockerfile
# ベースイメージはPHP 8.1-apache版を使用
FROM php:8.1-apache
# 必要なパッケージのインストール
RUN apt-get update && apt-get install -y \
git \
unzip \
curl \
libcurl4-openssl-dev \
libxml2-dev
# PHP拡張モジュールのインストール
RUN docker-php-ext-install curl xml
# Composerのインストール
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# Laravelのインストーラをグローバルにインストール
RUN composer global require laravel/installer
# グローバルにインストールしたパッケージのbinディレクトリを絶対パスで設定
RUN composer global config bin-dir --absolute
# ComposerのbinディレクトリをPATHに追加(以降のRUN命令やコンテナ起動時に有効)
ENV PATH="${PATH}:/root/.config/composer/vendor/bin"
# Laravelプロジェクトのインストール(/var/www/html/laravel_app に作成)
RUN composer create-project --prefer-dist laravel/laravel:^10.0 /var/www/html/laravel_app
# DocumentRootを laravel_app/public に変更(Apache設定の上書き)
RUN rm /etc/apache2/sites-available/000-default.conf && \
echo '<VirtualHost *:80>\n\
ServerAdmin webmaster@localhost\n\
DocumentRoot /var/www/html/laravel_app/public\n\
<Directory /var/www/html/laravel_app/public>\n\
AllowOverride All\n\
Require all granted\n\
</Directory>\n\
ErrorLog ${APACHE_LOG_DIR}/error.log\n\
CustomLog ${APACHE_LOG_DIR}/access.log combined\n\
</VirtualHost>' > /etc/apache2/sites-available/000-default.conf
# Apache mod_rewrite 有効化
RUN a2enmod rewrite上記2ファイルをコピペしてください。
以下のコマンドをターミナルで実行し、環境を作成しましょう。
docker-compose up --build各種必要ファイルがインストールされます。

ビルドが完了したら以下のコマンドを実行してください。
docker exec -it lesson13_laravel-web-1 bash下記のように表示されていればOKです。
root@3d7a8def9406:/var/www/html#ここまででサーバー上にLaravelに必要なPHPやComposerがインストールされました。
試しにインストールされているか試してみましょう。
php -v
composer -vそれぞれ1行づつ実行するとそれぞれインストールされていることがわかります。

composerとは
composerとは、PHPのライブラリ管理システムです。PHPのライブラリをインストールしたり、バージョンをコントロールしたりするために利用します。
composerを利用すれば、あるライブラリをインストールするときに、そのライブラリに必要なライブラリ(依存ライブラリ)も自動的にインストールされるため、インストールしたいライブラリの依存ライブラリを手動で探して、インストールする必要がありません。
LaravelもPHPのライブラリの1つであるため、composerで扱います。Laravelにも多くの依存ライブラリがありますが、composerを使うと簡単にLaravelプロジェクトを作成できます。
今後も、PHPライブラリを使用するときは、composerを使用します。
次にLaravelをインストールしていきます。
下記コマンドを順番に入力してください。
composer global require "laravel/installer:^4.5"
composer global config bin-dir --absolute
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc
source ~/.bashrc
composer create-project --prefer-dist laravel/laravel:^10.0 laravel_app
exitインストールする内容に関して質問があるので、下記のように回答してください。
※矢印キーで移動、Enterで選択できます。

最後、「Application key set successfully」と表示された後、使用するデータベースを選択できます。ここでは「MySQL」を選択してください。

ファイルがダウンロードされていれば成功です。
ファイル構成の写真

続いて、いくつか設定を行っていきます。
では以下のコマンドを実行し、コンテナから脱出しましょう。
exitでは、「laravel_app」ディレクトリに移動し、以下のコマンドを実行しましょう。
php artisan key:generateこのコマンドを実行することで.envファイルの「APP_KEY」にランダムで生成されたキーが追加されています。

これでLaravelの画面が表示されるはずです。
以下のURLにアクセスしましょう。

では引き続き細かな設定をしていきます。
まず、「すべてのプロキシ(Webブラウザの代わりにホームページにアクセスする機能)」を許可する設定にします。
/laravel_app/app/Http/Middleware/TrustProxies.phpを開き、protected $proxies; と書かれた1行があるので、この行を以下のように変更し、Ctrl+Sで上書き保存をしてください 。
protected $proxies = '*';
最後に、タイムゾーンの設定を行います。
config/app.phpを開き、timzoneという箇所を下記のように変更します。
'timezone' => 'UTC',
↓
'timezone' => 'Asia/Tokyo',Git
バージョン管理も行います。laravel_appのディレクトリの中で下記コマンドを実行してください。
git init
git add .
git commit -m "init Laravel Project"次はMySQLの設定を行っていきます!
コメントを残す