Install‐WSL - opensource-workshop/connect-cms GitHub Wiki

Windows 11 (WSL2) 開発環境構築手順

本手順は、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

1. WSLのインストールとUbuntu初期設定

Windows側で操作を行います。

1-1. WSLのインストール

Windowsボタンでスタートメニューを表示後、検索窓に「powershell」と入力、表示されたPowerShellを「管理者として実行」します。

イメージ

image

以下のコマンドを入力します。
💡コマンド右側のアイコンをクリックすることでコマンドのコピーができます。

wsl --install

再起動を促される場合は端末を再起動してください。 再起動後はPowerShellを起動して、下記コマンドを実行してください。

wsl

⚠️ トラブルシューティング: 再起動後にUbuntuが始まらない場合

PC再起動後に wsl コマンドを打っても、以下のようなエラーメッセージが出て先に進めない場合があります。

Linux 用 Windows サブシステムにインストールされているディストリビューションはありません。

この場合、PowerShell(管理者)で以下のコマンドを実行して、手動でインストールしてください。

wsl --install -d Ubuntu

その後、ユーザー作成を求められます。

イメージ

image
  1. Create a default Unix user account:
    • 任意のユーザー名(英小文字)を入力して Enter を押します。(例: devuser
  2. New password:
    • パスワードを入力して Enter を押します。
    • 注意: セキュリティ上、入力した文字は画面に一切表示されませんが、入力は受け付けられています。
  3. Retype new password:
    • 確認のためもう一度、同じパスワードを入力して Enter を押します。

プロンプト($)が出れば準備完了です。


2. システム更新とミドルウェアのインストール

🚨 重要: ここからの操作について
これ以降は、さきほどインストールした Ubuntuアプリ(WSL) の中でコマンドを入力します。 間違えてPowerShellに入力しないよう、以下の違いを確認してください。

  • Windows PowerShell : 行の先頭が PS C:\Users\... となっている。
  • Ubuntu (WSL) : 行の先頭が ユーザー名@PC名:~$ となっている(ここに入力します)。

ミドルウェアの一括インストール

以下のコマンドをコピーして実行してください。

🔐 パスワード入力について
以下のコマンドには sudo (管理者権限で実行)が付いているため、実行するとパスワードの入力を求められます。 [sudo] password for ユーザー名: と表示されたら、手順1-2で設定したパスワードを入力して Enter キーを押してください。
※ここでも入力した文字は画面に一切表示されませんが、そのまま入力して大丈夫です。

1. パッケージリスト更新と基本ツールのインストール

sudo apt update && sudo apt upgrade -y && sudo apt install -y curl git unzip zip

2. PHP 8.0 リポジトリ (PPA) の追加

sudo add-apt-repository ppa:ondrej/php -y

3. リポジトリの最新化

sudo apt update

4. Apache, MySQL, PHP 8.0 のインストール

sudo 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.0

5. サービスの起動(Apache)

sudo service apache2 start

6. サービスの起動(MySQL)

sudo service mysql start

3. データベースのセットアップ

Connect-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;
EOF

4. Composerのインストール

PHPのパッケージ管理ツールComposerを導入します。

Composerのダウンロード

curl -sS https://getcomposer.org/installer | php

Composerのパス通し

sudo mv composer.phar /usr/local/bin/composer

5. Connect-CMS の構築 (/var/www/cc)

ソースコードを /var/www/cc に配置し、設定を行います。

1. ディレクトリ移動

cd /var/www

2. 権限変更

sudo chown -R $USER:$USER /var/www

3. GitHubからクローン (ディレクトリ名を cc に指定)

git clone https://github.com/opensource-workshop/connect-cms.git cc

4. ディレクトリ移動

cd cc

5. Connect-CMSに必要な関連パッケージインストール

composer install

6. .envファイルの作成

cat <<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
EOF

7. アプリケーションキー生成

php artisan key:generate

8. DBマイグレーション&初期データ投入

php artisan migrate --seed

9. 権限の設定 (Apache用その1)

sudo chown -R www-data:www-data storage bootstrap/cache public .env

10. 権限の設定 (Apache用その2)

sudo chmod -R 775 storage bootstrap/cache public .env

6. Apacheの設定

ドキュメントルートを /var/www/cc/public に設定します。

1. Apache設定ファイルの作成

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>
EOF

2. 設定ファイルの有効化

sudo a2ensite connect-cms.conf

3. デフォルトの設定ファイルの無効化

sudo a2dissite 000-default.conf

4. モジュールの有効化

sudo a2enmod rewrite

5. apache再起動

sudo service apache2 restart

7. 動作確認

ブラウザで以下のURLにアクセスしてください。

Connect-CMSのトップページが表示されれば構築完了です。


補足: PC再起動後の開発再開手順

Windowsをシャットダウンまたは再起動すると、WSLは停止、WSL内で動いているサーバ機能(Apache/MySQL)も自動的に停止します。 次回、開発を再開する際は以下の手順を行ってください。

  1. WSLの起動
    • PowerShellを起動して、下記コマンドを実行する
wsl
  1. サービスの起動
    • 開いた黒い画面(ターミナル)で、以下のコマンドを実行します。
    • sudo を使っているため、パスワードの入力を求められます(入力内容は画面に表示されません)。
sudo service apache2 start
sudo service mysql start
⚠️ **GitHub.com Fallback** ⚠️