Install‐WSL - opensource-workshop/connect-cms GitHub Wiki
本手順は、Windows 11 の WSL2 (Ubuntu) 上に Connect-CMS (Laravel) の開発環境を構築するためのものです。
- OS: WSL2
- Web Server: Apache 2.4
- Database: MySQL 8.0
- PHP: 8.0
- Framework: Laravel (Connect-CMS)
-
Install Path:
/var/www/cc
Windows側で操作を行います。
Windowsボタンでスタートメニューを表示後、検索窓に「powershell」と入力、表示されたPowerShellを「管理者として実行」します。
以下のコマンドを入力します。
💡コマンド右側のアイコンをクリックすることでコマンドのコピーができます。
wsl --install再起動を促される場合は端末を再起動してください。 再起動後はPowerShellを起動して、下記コマンドを実行してください。
wslPC再起動後に wsl コマンドを打っても、以下のようなエラーメッセージが出て先に進めない場合があります。
Linux 用 Windows サブシステムにインストールされているディストリビューションはありません。
この場合、PowerShell(管理者)で以下のコマンドを実行して、手動でインストールしてください。
wsl --install -d Ubuntuその後、ユーザー作成を求められます。
-
Create a default Unix user account:- 任意のユーザー名(英小文字)を入力して Enter を押します。(例:
devuser)
- 任意のユーザー名(英小文字)を入力して Enter を押します。(例:
-
New password:- パスワードを入力して Enter を押します。
- 注意: セキュリティ上、入力した文字は画面に一切表示されませんが、入力は受け付けられています。
-
Retype new password:- 確認のためもう一度、同じパスワードを入力して Enter を押します。
プロンプト($)が出れば準備完了です。
🚨 重要: ここからの操作について
これ以降は、さきほどインストールした Ubuntuアプリ(WSL) の中でコマンドを入力します。 間違えてPowerShellに入力しないよう、以下の違いを確認してください。
- ✖
Windows PowerShell: 行の先頭がPS C:\Users\...となっている。 - ✅
Ubuntu (WSL): 行の先頭がユーザー名@PC名:~$となっている(ここに入力します)。
以下のコマンドをコピーして実行してください。
🔐 パスワード入力について
以下のコマンドには sudo (管理者権限で実行)が付いているため、実行するとパスワードの入力を求められます。 [sudo] password for ユーザー名: と表示されたら、手順1-2で設定したパスワードを入力して Enter キーを押してください。
※ここでも入力した文字は画面に一切表示されませんが、そのまま入力して大丈夫です。
sudo apt update && sudo apt upgrade -y && sudo apt install -y curl git unzip zipsudo add-apt-repository ppa:ondrej/php -ysudo apt updatesudo apt install -y apache2 mysql-server php8.0 php8.0-cli php8.0-fpm php8.0-mysql php8.0-zip php8.0-gd php8.0-mbstring php8.0-curl php8.0-xml php8.0-bcmath libapache2-mod-php8.0sudo service apache2 startsudo service mysql startConnect-CMS用のデータベースとユーザーを作成します。
以下のコマンドブロックをそのまま実行してください。
※設定値: DB名 connect_cms, ユーザー cms_user, パスワード password
sudo mysql -u root <<EOF
CREATE DATABASE IF NOT EXISTS connect_cms DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER IF NOT EXISTS 'cms_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON connect_cms.* TO 'cms_user'@'localhost';
FLUSH PRIVILEGES;
EOFPHPのパッケージ管理ツールComposerを導入します。
curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composerソースコードを /var/www/cc に配置し、設定を行います。
cd /var/wwwsudo chown -R $USER:$USER /var/wwwgit clone https://github.com/opensource-workshop/connect-cms.git cccd cccomposer installcat <<EOF > .env
APP_NAME=Connect-CMS
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=connect_cms
DB_USERNAME=cms_user
DB_PASSWORD=password
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
EOFphp artisan key:generatephp artisan migrate --seedsudo chown -R www-data:www-data storage bootstrap/cache public .envsudo chmod -R 775 storage bootstrap/cache public .envドキュメントルートを /var/www/cc/public に設定します。
sudo tee /etc/apache2/sites-available/connect-cms.conf <<EOF
<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/cc/public
<Directory /var/www/cc/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog \${APACHE_LOG_DIR}/connect-cms-error.log
CustomLog \${APACHE_LOG_DIR}/connect-cms-access.log combined
</VirtualHost>
EOFsudo a2ensite connect-cms.confsudo a2dissite 000-default.confsudo a2enmod rewritesudo service apache2 restartブラウザで以下のURLにアクセスしてください。
- URL: http://localhost
Connect-CMSのトップページが表示されれば構築完了です。
Windowsをシャットダウンまたは再起動すると、WSLは停止、WSL内で動いているサーバ機能(Apache/MySQL)も自動的に停止します。 次回、開発を再開する際は以下の手順を行ってください。
-
WSLの起動
- PowerShellを起動して、下記コマンドを実行する
wsl-
サービスの起動
- 開いた黒い画面(ターミナル)で、以下のコマンドを実行します。
-
sudoを使っているため、パスワードの入力を求められます(入力内容は画面に表示されません)。
sudo service apache2 start
sudo service mysql start