windwos11にwls2を導入しramps環境を構築する手順

今回の構築で、以下のような環境を構築します。

  1. OS: Windows上でLinux(Ubuntu)が動く。
  2. ファイル共有: WindowsのエクスプローラーからUbuntuのファイルに直接アクセス可能。
  3. エディタ: Windows側のVS Codeを使って、Ubuntu内部のファイルを直接編集(WSL拡張機能を使用)。

WSL2とUbuntuのインストール

Windows上にLinux環境を作ります。

  1. PowerShellを管理者権限で開きます。
  2. 以下のコマンドを入力してEnterキーを押します。
    wsl --install
    • ※すでにインストール済みの場合は wsl --install -d Ubuntu
  3. インストール完了後、Windowsを再起動します。
  4. 再起動後、自動的にUbuntuのターミナルが立ち上がります(立ち上がらない場合はスタートメニューから「Ubuntu」を検索して起動)。
  5. UNIX username(ユーザー名)と password(パスワード)の設定を求められるので入力します。

2:LAMP環境(Apache, MySQL, PHP8)の構築

Ubuntuのターミナルで以下のコマンドを順に実行します。

1. パッケージの更新

sudo apt update && sudo apt upgrade -y

2. Apache2のインストール

sudo apt install apache2 -y
  • 確認:ブラウザで http://localhost にアクセスし、Apacheのデフォルトページが表示されればOKです。

3. PHP 8 と必要モジュールのインストール

tcpdfPhpSpreadsheet、PDOを使用するために必要な拡張機能もまとめて入れます。

sudo apt install php libapache2-mod-php php-mysql php-mbstring php-xml php-gd php-zip php-curl -y
  • Ubuntu 22.04以降なら標準でPHP 8.1または8.3が入ります。
  • php -v でバージョンを確認できます。

4. MySQL(またはMariaDB)のインストール

sudo apt install mysql-server -y
  • XAMPPのデータ移行先として使用します。

手順2:LAMP環境(Apache, MySQL, PHP8)の構築

Ubuntuのターミナルで以下のコマンドを順に実行します。

1. パッケージの更新

Bash

sudo apt update && sudo apt upgrade -y

2. Apache2のインストール

Bash

sudo apt install apache2 -y
  • 確認:ブラウザで http://localhost にアクセスし、Apacheのデフォルトページが表示されればOKです。

3. PHP 8 と必要モジュールのインストール

tcpdfPhpSpreadsheet、PDOを使用するために必要な拡張機能もまとめて入れます。

Bash

sudo apt install php libapache2-mod-php php-mysql php-mbstring php-xml php-gd php-zip php-curl -y
  • Ubuntu 22.04以降なら標準でPHP 8.1または8.3が入ります。
  • php -v でバージョンを確認できます。

4. MySQL(またはMariaDB)のインストール

Bash

sudo apt install mysql-server -y
  • XAMPPのデータ移行先として使用します。

3:VS CodeとUbuntuの連携

「WindowsからUbuntuへファイルをコピーして修正」という手間をなくし、Ubuntu上のファイルを直接VS Codeで編集できるようにします。

  1. Windows側のVS Codeを開きます。
  2. 拡張機能アイコン(四角いブロック)をクリックし、「WSL」(Microsoft製)を検索してインストールします。
  3. Ubuntuのターミナルに戻り、開発したいディレクトリへ移動してVS Codeを起動します。cd /var/www/html code .
  4. VS Codeが立ち上がり、左下に「WSL: Ubuntu」と表示されれば成功です。これでUbuntu内のファイルを直接編集できます。

4:XAMPPからUbuntuへのソースコピー方法

XAMPPにあるPHPソースをUbuntuの公開ディレクトリ(/var/www/html)へコピーします。

方法:Windowsのエクスプローラーを使う(一番簡単)

WSL2起動中は、WindowsのエクスプローラーからLinuxのファイルシステムにアクセスできます。

  1. Windowsのエクスプローラーのアドレスバーに \\wsl$ と入力してEnter。
  2. Ubuntu -> var -> www -> html と進みます。
  3. ここへ、XAMPPの htdocs 内にあるプロジェクトフォルダをドラッグ&ドロップでコピーします。

5:ライブラリと権限の調整(重要)

コピーしただけでは、ライブラリのエラーや書き込みエラーが出ることがあります。

1. Composerのインストールとライブラリ更新

tcpdfPhpSpreadsheet はPHPのバージョンに依存するため、Ubuntu上で再構成するのが安全です。

Composerのインストール:

sudo apt install composer -y

ライブラリの更新: プロジェクトフォルダ(例: /var/www/html/myproject)に移動し、アップデートします。

cd /var/www/html/myproject
composer update

composer.lock ファイルがある場合、PHP7と8の不整合が出る可能性があるため、エラーが出たら composer install ではなく update を試すか、lockファイルを削除してから実行してください。

2. データフォルダの書き込み権限

「ファイルのデータをアップロード・ダウンロード」するために、データ用フォルダ(例: data)には書き込み権限が必要です。

# 所有者をwww-data(Apacheのユーザー)に変更
sudo chown -R www-data:www-data /var/www/html/myproject/data

# 権限を付与(読み書き実行)
sudo chmod -R 775 /var/www/html/myproject/data

※ 開発環境であれば 777(全許可)でも動きますが、セキュリティ上 775 または所有者の変更を推奨します。

まとめ:開発フロー

  1. WindowsでVS Codeを開く(WSL接続モード)。
  2. Ubuntu上/var/www/html/プロジェクト 内のPHPファイルを直接編集。
  3. 保存すると即座に反映される。
  4. ブラウザで http://localhost/プロジェクト にアクセスして確認。

6:phpMyAdmin(MySQL管理ツール)のインストール手順

手順1:phpMyAdminのインストール
sudo apt update
sudo apt install phpmyadmin

手順2:インストール中の画面操作(重要)

インストール中に青い画面(テキストベースの対話画面)が表示されます。ここでの操作が少し特殊なので注意してください。

phpMyAdmin自体が内部で使用するパスワードを設定します。任意のパスワードを入力してEnter、確認のためもう一度入力してEnterを押します(MySQLのrootパスワードとは別でも構いません)。

Web server to reconfigure automatically:

[ ] apache2[ ] lighttpd という選択肢が出ます。

**「Spaceキー」**を押して [*] apache2 にチェックを入れます(アスタリスクがつきます)。

**「Tabキー」を押して <Ok> にカーソルを合わせ、「Enterキー」**を押します。

※ここでSpaceキーを押さずにEnterだけ押してしまうと、Apacheと連携されず起動しません。

Configure database for phpmyadmin with dbconfig-common?

<Yes> を選択してEnterを押します。

MySQL application password for phpmyadmin:
phpMyAdmin自体が内部で使用するパスワードを設定します。任意のパスワードを入力してEnter、確認のためもう一度入力してEnterを押します(MySQLのrootパスワードとは別でも構いません)。

手順3:動作確認

ブラウザで以下のURLにアクセスします。

  • URL: http://localhost/phpmyadmin

ログイン画面が表示されればインストール成功です。


手順4:ログイン用ユーザーの作成

UbuntuのMySQLは、デフォルトでセキュリティのため root ユーザーでのパスワードログインが無効化されていることが多いです(phpMyAdminから root でログインしようとするとエラーになる場合があります)。

そのため、phpMyAdmin用の全権限を持つ新しいユーザーを作成することをお勧めします。

ターミナルで以下を順に入力します。

  1. MySQLにコマンドラインでログインBashsudo mysql
  2. ユーザー作成用SQLを実行
    (ユーザー名 admin、パスワード password の例です。お好きなものに変更してください)SQL
    -- ユーザー作成
    CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
    -- 全権限を付与 GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
    -- 設定反映
    FLUSH PRIVILEGES; -- 終了 EXIT;
  3. phpMyAdminでログイン
    • 作成したユーザー名(admin)とパスワード(password)でログインしてください。

これでブラウザからMySQLのデータを管理できるようになります