Windows 10 のコンピューターで Web サーバーを起動したいが、すべてを手作業で設定したり、Denwer のようなかさばるパッケージをインストールしたりするのは面倒だ。それには、優れた最新の方法があります。Windows Subsystem for Linux (WSL) を使用して、自分のマシン上に Web 開発のための完全な環境を展開することができます。
WSL を使用すると、Windows を終了せずに Linux 環境を起動できます。これは、Apache、MySQL、PHP のバンドルをインストールするのに理想的なオプションです。実際のサーバーのすべての利点と柔軟性を享受しながら、使い慣れたオペレーティングシステムで作業することができます。サブシステムの両方のバージョン、WSL 1 と WSL 2 でこれを実行する方法を見てみましょう。
この方法は、ローカルでのサイト開発、スクリプトのテスト、ウェブ技術の学習に最適です。すべてがあなたのコンピューター上で独立して動作し、メインシステムに影響を与えることはなく、仮想マシンを作成したりOSを再インストールしたりする必要もありません。
Linux用Windowsサブシステムの有効化。
コンポーネントを有効にするにはWindows 10 でのファイアウォールの設定ガイド アンチウイルスの無効化windows 10 では、以下の手順を実行する必要があります。
ステップ 1: コマンドを使用して: optionalfeatures 選択してください 「実行」 開く 「Windows コンポーネント」。
ステップ 2: 以下のオプションを有効にしてください。アンチウイルスの例外にプログラムを追加する.
ステップ 3: 次の手順に進んでください。 Microsoft Store 方法 3: アンチウイルスと Windows ファイアウォールの例外を確認する Ubuntu windows 用。

ステップ 4:メニューを使用して 方法 2: ROUTE PRINT コマンドの使用 起動Ubuntu。ターミナルウィンドウで、初回起動時に新しいUNIXユーザー名を入力する必要があります(username)およびパスワードuSBメモリにファイル.

Copy storport.sys E:\Windows\WinSxS\amd64_microsoft-windows-storport_31bf3856ad364e35
- こうやって、これから使うターゲットドライブのドライブ文字を決めます。
- 「DISKPART」
- 「D」
D:
その後、順番に以下のコマンドを入力してください。 たとえば、システムドライブのドライブ文字が. Tab
Dirと入力し、前述のディレクトリに置き換えてコピーしてください。そのためには、以下の構文のコマンドを使用してください。 次のコマンドを使って::
(引用符なし) を入力し、

コマンドを入力したら、ファイルの置換を確認する必要があります。そのためには、以下を入力してください。 ユーティリティを終了します。
Copy <コピーするファイルへのパス> <置き換えるファイルへのパス>
copy storport.sys E:\Windows\WinSxS\amd64_microsoft-windows-storport_31bf3856ad364e35main「yes」
2番目のパスの先頭に、ユーティリティで確認したオペレーティングシステムのシステムドライブのドライブ文字を指定する必要があります。「コマンドプロンプト」「storport.sys」
EXIT
Tabを押してを入力し、

「E:\」
「DISKPART」以下のコマンドを使用して、ドライブに含まれるファイルのリストを表示します。
Enter
Copy storport.sys E:\Windows\System32\drivers\
(その後、2回(その後、

また、Linux ファイルシステムのディレクトリを快適に操作するために、Ubuntu に、たとえば、 「Midnight Commander」:
Midnight Commander は、次のコマンドを入力して起動します。
Windows 10 用の Ubuntu に必要なプログラムをインストールします。
ステップ 7:メニューを使用して 「スタート」 を実行します。Ubuntu.
ステップ 8:Ubuntu でローカル apt パッケージインデックスを更新するには、次のコマンドを実行します。

ステップ 9:その後、インストールしたソフトウェアを更新する必要があります:
要求に応じて 「続行しますか?[Y/n]」 キーを押してください Y。

Apache のインストール。
Apache Web サーバーは、稼働中の Web サイトの半数以上で使用されています。これは非常に強力で柔軟性の高いツールです。
ステップ 10:Apache をインストールします。コマンドを実行してください:
インストールされるパッケージの一覧と、それらが占めるディスク容量が表示されます。Yインストールを続行するには、

MySQL サーバーのインストール。
MySQL – データベース管理システム。ウェブサイトが情報を保存できるデータベースを整理し、アクセスを提供します。
ステップ 11:MySQL サーバーをインストールします:
sudo apt install mysql-server
をクリックしてください。Yインストールを続行します。インストールが完了したら、MySQL 環境を設定するためにいくつかの追加コマンドを実行する必要があります。

ステップ 12:Web 開発に必要な php およびその他のパッケージをインストールします。
PHP は、動的コンテンツを表示するためのコード処理を担当するコンポーネントです。
sudo apt install php libapache2-mod-php php-mysql php-xml php-curl
注: 特定のバージョンの php(7.4.x など)をインストールする必要がある場合は、次のコマンドを実行してください。
Apache で Mod rewrite モジュールを有効にします。
簡単に言うと、 mod_rewrite は、URL の変換機能を実行する Apache Web サーバー用モジュールです。
ステップ 13:次のコマンドを実行してください。
Web サイトを開発したり、データベースを使用した PHP プログラミングを学んだりする場合、自分のコンピュータに Web サーバーを直接設置しておくと便利です。Windows 10 では、システム内で Linux を起動するサブシステムである WSL を使用してこれを行うことができます。WSL 1 または WSL 2 をインストールすると、実際のサーバーと同じように Apache、MySQL、PHP を簡単に設定できます。WSL 1 と WSL 2 の違いは、速度と互換性です。2 番目のバージョンは、特にファイルの処理が高速ですが、1 番目のバージョンは設定が簡単です。重要なのは、タスクに応じて選択することですが、どちらのオプションも、ローカルサイトを迅速に立ち上げ、作業を開始することができます。
Root ユーザーの MySQL 認証方法を変更します。
Root ユーザーの MySQL 認証方法を、以下の手順で変更する必要があります。
ステップ 14:Mysql サービスを起動します。
ステップ 15:MySQLサーバーに、お使いのコンピューターにMySQLをインストールしたときに作成された標準ユーザーrootで接続します。
ステップ 16:パスワードの入力を求められたら、 Enter, デフォルトでは、インストール時に作成されたrootユーザーにはパスワードがありません。

注: MySQL (5.7 以降) を使用している Ubuntu サーバーでは、root ユーザーの認証はプラグインを使って行われます。auth_socket, パスワードを使用せずに。これは多くの場合、セキュリティを向上させますが、root ユーザーへのアクセス設定を複雑にする可能性があります。 phpMyAdmin など。
ステップ 17:Rootユーザーに使用されている認証方法をチェックするには、次のコマンドを実行します。
SELECT user, authentication_string, plugin, host FROM mysql.user WHERE user="root";

ステップ 18:クエリの応答に auth_socket プラグインによる認証が使用されていることが表示された場合は、この設定を変更する必要があります。そのためには、次のコマンドを入力します。
ALTER USER 『root』@『localhost』 IDENTIFIED WITH mysql_native_password BY 『root』;
ステップ 19:変更を適用する FLUSH PRIVILEGES コマンドを実行します。
データベースの作成。
ステップ 20:Web プロジェクト用のデータベースを作成します。 test.local. そのためには、MySQLのコマンドラインで次のコマンドを入力します:
CREATE DATABASE testlocal;
ステップ21:MySQL コマンドラインでの作業を終了するには、コマンドラインを終了します。
PhpMyAdminのインストール。
ステップ 22:次のコマンドを実行します。
sudo apt install phpmyadmin

ステップ 23:最初のダイアログボックスで、スペースキーを押してApacheを選択し、Tabキーを押してからEnterキーを押します。

ステップ 24:選択 Yes, クエリに使用するデータベースを設定します。 dbconfig-common.

ステップ25:MySQL root ユーザーのパスワードを指定します。

ステップ 26:パスワードを確認します。
ステップ 27:必要なPHP拡張機能を有効にします:
ステップ 28:Apacheを再起動します。
sudo service apache2 restart
これで、次の URL から phpMyAdmin にアクセスできるようになります。 http://localhost/phpmyadmin/ ユーザー名を使用してシステムにログインできます。 root とパスワード root, ファイルに関するエラーが表示される場合

Apache で仮想ホストを設定する。
Ubuntu では、Apache の仮想ホスト設定ファイルは次のパスにあります。 /etc/apache2/sites-available/*.conf. Apache では、ファイル 000-default.conf. このファイルをベースにしましょう。
ステップ 29:ファイルのコピーを作成します。 000-default.conf コマンドを実行します:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/test.local.conf
ステップ 30:Test.local.confファイルに変更を加えます。これには、nanoエディタを使用します。

Wsl 2 用に編集した test.com.conf ファイルの内容 Linux ファイルシステムにサイト用のディレクトリを作成した場合:
注意: UNIX ユーザー名 (username) を自分のユーザー名に置き換えることをお忘れなく (ステップ: 7)。私の場合、それは almanex

Wsl 1 および Wsl 2 向けに編集した test.com.conf ファイルの内容。プロジェクトファイルは Windows ファイルシステムディスク C、D、E にあります。
注意: ドライブ文字を忘れずに置き換えてください!この例では、ドライブ C

ステップ 31:編集したら、CTRL+X キーを押してファイルを保存して閉じます。Y キーを押して操作を確認し、ENTER キーを押します。
ステップ 32:ユーティリティを使用して新しい仮想ホストを有効にします。 a2ensite:
sudo a2ensite test.local.conf
ステップ 33:次に、デフォルトのサイト000-default.confを無効にします。
sudo a2dissite 000-default.conf
ステップ 34:Apacheサービスを再起動します:
sudo service apache2 restart
Test.local をローカル Web サーバーにリダイレクトします。
プロジェクトは次のアドレスでアクセスできます: http://localhost/
ドメイン名 http://test.local ローカル Web サーバーに関連付けられている場合は、次の場所にある hosts ファイルを開きます。 C:\Windows\System32\drivers\etc そして、以下の行を追加します。
127.0.0.1 test.local
172.30.69.65 test.local
ネットワークインターフェイスの IP アドレス(私の場合は 172.30.69.65)を確認するには、次のコマンドを使用できます。ipaddress ターミナルで実行してください(下の画像を参照)。

Web サーバーを起動および停止するためのコマンド。
これで、Web プロジェクトの作業を開始する前に、Apache と MySQL を起動する必要があります。そのためには、次のコマンドを順番に入力してください。
sudo service apache2 start
Web サーバーを停止するには:
sudo service apache2 stop
オプション: Web サーバーの起動と停止を簡単にするために、bash スクリプトを作成することができます。 start.sh および stop.sh.

Start.sh スクリプトの作成方法:
ステップ 1:ターミナルを開き、コマンドでファイルを作成します。
ステップ 2:以下の内容を貼り付け、 password ubuntu ユーザーに設定したパスワードを入力してください。
#!/bin/bash
echo password | sudo -S sudo service apache2 start
echo password | sudo -S sudo service mysql start
exit 0

ステップ 3:Start.sh のアクセス権限を編集する必要があります。次のコマンドを実行してください:
sudo chmod -R 755 ./start.sh
Stop.sh スクリプト:
ステップ 4:コマンドでファイルを作成してください:
Stop.sh ファイルの内容:
#!/bin/bash
echo password | sudo -S sudo service apache2 stop
echo password | sudo -S sudo service mysql stop
exit 0
ステップ 5:アクセス権限を編集します。
sudo chmod -R 755 ./stop.sh
Web サーバーの動作確認。
Web サーバーの動作を確認するために、 test.local コンテンツ管理システム、例えば OctoberCMS、MODX Revolution、WordPress などをインストールします。
そのためには、公式ページから WordPress システムのアーカイブをダウンロードし、作成したディレクトリ
C:\Projects\test.local\public_html
または
/home/main/projects/test.local/public_html
システムをインストールするには、ウィザードを開く必要があります。ブラウザで http://test.local を開きます。その後、ウィザードのすべての質問に答え、 「次へ」, データベースへの接続情報を入力します。 testlocal など。

インストールプロセスが完了するまで待ちます。 完了!
ご覧のとおり、WSL へのローカルサーバーのインストールは、一見したほど難しくはありません。重要なのは、手順に従って進め、コマンドラインを恐れないことです。この方法により、Windows 搭載のコンピュータ上で、強力かつ柔軟な Web 開発ツールをフルに活用できるようになります。
WSL 1 と WSL 2 のどちらを選ぶかは、タスクによって異なります。Windows フォルダ内のファイルを操作する場合は、WSL 1 の方が高速である場合があります。それ以外の場合、特にデータベースや高性能を必要とするアプリケーションを操作する場合は、最新のアーキテクチャを採用している WSL 2 が最適なソリューションとなります。
これで、実際のホスティングとほとんど変わらない独自のテスト環境が整いました。安心してサイトを作成・デバッグしたり、WordPress などの CMS をインストールしたり、インターネット上で何かを壊す心配なく実験したりできます。これは、創造と学習のためのあなただけの練習場です。
あとはすべてあなた次第です。サーバーの設定を習得し、さまざまなバージョンの PHP を試し、他のデータベースを接続してください。このローカルサーバーは、あらゆるウェブプロジェクトのための信頼できる基盤となります。開発のご成功をお祈りいたします。









