INFRA

Windows11でchocoで色々インストールしてLaravelプロジェクトを立ち上げてみる

WSL2を使うのをやめましたので、chocoで色々インストールして、Laravelプロジェクトを立ち上げてみます。

基本的に、PowerShellは管理者権限で立ち上げます。

既にchocoが入っていたので、更新しました。

Terminal window
choco upgrade chocolatey

PHPのインストール

Terminal window
choco install php -y

環境変数の更新

よく分かっていませんが、環境変数を更新する際に、下記を実行するとよいようです。

Terminal window
Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
Update-SessionEnvironment

また、再起動も必要なようでしたので、再起動しました。

インストールできてるか確認

Terminal window
php -v

Composerのインストール

Terminal window
choco install composer -y

インストール後に、上記の環境変数の更新を実行します。 (以降も各インストール後に、都度環境変数の更新を実行します。)

インストール出来ているか確認

Terminal window
composer --version

PHPの拡張機能の調整

php.iniの場所

  • C:\tools\php83\php.ini

必要な拡張機能を有効にする

php.iniの下記のコメントを外す。

extension=fileinfo
extension=pdo_pgsql
extension=pgsql

PostgreSQLのインストール

Terminal window
choco install postgresql

インストールできてるか確認

Terminal window
psql --version

初期設定

pg_hba.confの設定を一時的に変更

Terminal window
cd 'C:\Program Files\PostgreSQL\16\data'
code pg_hba.conf

pg_hba.confのMETHODをtrustに変更して、postgresqlを再起動する。

pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust

postgresの再起動

Terminal window
net stop postgresql-x64-16
net start postgresql-x64-16

これで一時的にパスワードなしでログインできるようになったので、postgresユーザのパスワードを設定する。

Terminal window
psql -U postgres
ALTER USER postgres PASSWORD 'password';
\q

pg_hba.confを元にもどす。

# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all scram-sha-256
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all scram-sha-256
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256

また、上記で、postgresを再起動する。

Laravelインストーラをインストール

Terminal window
composer global require laravel/installer

Laravelプロジェクトを作成

Terminal window
laravel new hoge

composer installして、サーバを立ち上げる。この段階では、serveした結果は、まだエラーがでます。

Terminal window
composer install
php artisan serve

LaravelのAPP_KEYを生成

まずは、.env.exampleをコピーして、.envを作成します。 そして、下記を実行して、KEYを生成します。

Terminal window
php artisan key:generate

データベース作成

Terminal window
psql -U postgres
create database hoge;
\l

.envのDB設定をpostgresに合わせて変更

.env

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=hoge
DB_USERNAME=postgres
DB_PASSWORD=password

マイグレーション実行

Terminal window
php artisan migrate