Logicky Blog

Logickyの開発ブログです

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

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

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

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

choco upgrade chocolatey

PHPのインストール

choco install php -y

環境変数の更新

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

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

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

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

php -v

Composerのインストール

choco install composer -y

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

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

composer --version

PHPの拡張機能の調整

php.iniの場所

  • C:\tools\php83\php.ini

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

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

extension=fileinfo
extension=pdo_pgsql
extension=pgsql

PostgreSQLのインストール

choco install postgresql

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

psql --version

初期設定

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

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の再起動

net stop postgresql-x64-16
net start postgresql-x64-16

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

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インストーラをインストール

composer global require laravel/installer

Laravelプロジェクトを作成

laravel new hoge

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

composer install
php artisan serve

LaravelのAPP_KEYを生成

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

php artisan key:generate

データベース作成

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

マイグレーション実行

php artisan migrate