- 前提
- AlmaLinuxの初期状態確認
- systemd 有効化
- 基本的なコマンドのインストール
- Apache2のインストール
- PHP8.2のインストール
- sqlite3のインストール
- Composerのインストール
- Laravelプロジェクト作成
- node.js のインストール
前提
- Windows10 Pro(x64)
- WSL2インストール済み
- MicrosoftStoreからAlmaLinux8インストール済み
- WSLは初回起動してユーザー作成済み
Docker と Laravel Sail は使いません。またこの環境は SELinux が有効でなく、Firewall も動いていませんので、ご留意ください。 また、WSLの環境については、よければ下記を参照ください。
AlmaLinuxの初期状態確認
パッケージは minimal となっているのか、hostname
,ip addr
といった基本的なコマンドが使えない。また、systemd が有効になっていない。
hostname -> NG ip addr -> NG whoami -> OK ping www.google.com -> OK sudo systemctl -> NG dnf list --installed -> OK
systemd 有効化
Microsoftのサイトを参照して、設定ファイル(/etc/wsl.conf)を作成し、WSLを再起動してこれを有効にする。サイトに記載のとおり、WSLのデフォルトのUbuntuではこの作業は不要のようだが、現時点でのAlmaLinux8では必要。
[boot] systemd=true
PowerShellからシャットダウンする。ターミナル等からアクセスすれば自動的に起動する。
wsl --shutdown
参考
基本的なコマンドのインストール
locate
は好みで。
sudo dnf install hostname iproute sudo dnf install zip unzip sudo dnf install mlocate sudo dnf update
hostname -> OK ip addr -> OK sudo systemctl -> OK
Apache2のインストール
インストールして、起動して、サービス登録する。
sudo dnf install httpd sudo systemctl start httpd sudo systemctl enable httpd
Windows側から「http://localhost 」にアクセスして、テストページが表示されることを確認する。
PHP8.2のインストール
インストール可能なPHPを確認する。
dnf module list php
Last metadata expiration check: 0:16:35 ago on Sun Aug 27 10:08:06 2023. AlmaLinux 8 - AppStream Name Stream Profiles Summary php 7.2 [d] common [d], devel, minimal PHP scripting language php 7.3 common [d], devel, minimal PHP scripting language php 7.4 common [d], devel, minimal PHP scripting language php 8.0 common [d], devel, minimal PHP scripting language Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Laravel10はPHP8.1以降が必要なので、Remiレポジトリを追加してPHP8.2をインストールする。
sudo dnf install epel-release sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm dnf module list php
Remi's Modular repository for Enterprise Linux 8 - x86_64 Name Stream Profiles Summary php remi-7.2 common [d], devel, minimal PHP scripting language php remi-7.3 common [d], devel, minimal PHP scripting language php remi-7.4 common [d], devel, minimal PHP scripting language php remi-8.0 common [d], devel, minimal PHP scripting language php remi-8.1 common [d], devel, minimal PHP scripting language php remi-8.2 common [d], devel, minimal PHP scripting language
sudo dnf module install php:remi-8.2
Laravel10に必要なモジュールをインストールする。公式サイトに記載のサーバ要件はこれで満たせるはず。
sudo dnf install php-pdo
Apacheと同様にFastCGIの起動とサービス登録をしておく。Apacheを再起動する。
sudo systemctl start php-fpm sudo systemctl enable php-fpm sudo systemctl restart httpd
サービスが「running」となっていることを確認する。
systemctl list-units --type=service
参考
PHPが有効か確認
httpd.conf を探して、DocumentRootを確認する。
sudo updatedb locate httpd.conf sudo cat /etc/httpd/conf/httpd.conf |grep DocumentRoot
PHP情報確認用ページ(/var/www/html/info.php)を作成する。
<?php phpinfo();
Windows側から「http://localhost/info.php 」にアクセスして、PHPが有効なことを確認する。
参考
sqlite3のインストール
Sqliteを使いたいので、インストールしておく。
sudo dnf install sqlite sqlite3 -version # 3.26.0 2018-12-01 12:34:55 ...
Composerのインストール
公式サイトの案内どおり。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
composer -v # Composer version 2.5.8 2023-06-09 17:13:21
参考
Laravelプロジェクト作成
composer で、Laravel プロジェクトを作成する。内部的には、git clone をしている模様。
composer create-project laravel/laravel sample-app cd sample-app php artisan -V # Laravel Framework 10.20.0
個別環境設定ファイル(.env)で、DBにsqliteを使うように変更。
+DB_CONNECTION=sqlite -DB_CONNECTION=mysql -DB_HOST=127.0.0.1 -DB_PORT=3306 -DB_DATABASE=laravel -DB_USERNAME=root -DB_PASSWORD=
migrateを実行すると、sqliteデータベースを作成するか聞かれるので、YESする。
php artisan migrate php artisan serve
Windows側から「http://localhost:8000 」にアクセスして、サンプルプロジェクトが表示されることを確認する。
参考
node.js のインストール
アセットのコンパイルに必要なのでインストールしておく。npmもインストールされる。
dnf module list nodejs
Last metadata expiration check: 11:29:36 ago on Sun Aug 27 10:30:09 2023. AlmaLinux 8 - AppStream Name Stream Profiles Summary nodejs 10 [d] common [d], development, minimal, s2i Javascript runtime nodejs 12 common [d], development, minimal, s2i Javascript runtime nodejs 14 common [d], development, minimal, s2i Javascript runtime nodejs 16 common [d], development, minimal, s2i Javascript runtime nodejs 18 common [d], development, minimal, s2i Javascript runtime Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
sudo dnf module install nodejs:18/common node -v # v18.16.1 npm -v # 9.5.1
npm install -g npm
上記のあと、プロジェクトのルートフォルダ(package.jsonがある)でnpm install
することで、node.jsからのデバッグ実行npm run dev
(ただし、これはフロントエンドのデバッグ実行)とアセットのコンパイルnpm run build
が可能になっている。
cd sample-app npm install
参考