ハンズオン:最終的にLinuxサーバーでホストされるウェブサイトを構築する場合(多くのサイトがそうであるように)、開発作業を行う場所についてはいくつかの選択肢があります。ウェブホストでサイトのベータ版を作成し、そこにすべてのファイルをアップロードするか、自宅やオフィスにローカルテストサーバーを構築するかです。
テストサーバーは、Raspberry Piなどの独立したLinuxマシンでも構いませんし、デスクトップOSとしてLinuxを使っている場合はメインのPCでも構いません。Windowsでコーディングしている場合は、ローカルのWindows Webサーバーを実行することもできますが、本番環境を完璧にシミュレートできるわけではありません。
代わりに、Windows Subsystem for Linuxを使って、MicrosoftのOS内でローカルLinuxウェブサーバーを実行することをお勧めします。こうすることで、Windowsでコードを記述しながら、本来のプラットフォーム上で実行することができ、別のコンピューターやリモートサーバーは必要ありません。手順は以下のとおりです。
まず、Windows Subsystem for Linux 2(WSL 2)をインストールします。PowerShell(任意のバージョン)を起動し、以下を入力します。
wsl --install --no-distribution
次に、LinuxディストリビューションとしてAlmaLinux 9をインストールします。デフォルトでは、WSLを--no-distributionオプション付きでインストールしないとUbuntuがインストールされますが、ほとんどのウェブホスティングプラットフォームはCentOSまたはAlmaLinux(CentOSに類似)を使用しているため、今回はそちらを使用します。Microsoft StoreでAlmaLinux 9を見つけてインストールをクリックします。
Microsoft Store の AlmaLinux OS 9 - クリックして拡大
Windows Searchでショートカットアイコンを見つけて、AlmaLinux環境を起動してください。初めて起動する際は、ユーザー名とパスワードの設定を求められますのでご注意ください。
AlmaLinux のユーザー名を設定する - クリックして拡大
新しいLinuxインスタンスをインストールしたばかりなので、アップデートを実行してすべてを最新の仕様にする必要があります。AlmaLinuxで次のコマンドを入力します。
sudo dnf アップデート
次に、rootユーザーのパスワードを設定する必要があります。パスワードは必ず手元に保管しておいてください。
sudo パスワード ルート
次に、ウェブサーバーのコントロールパネルアプリをインストールします。多くのホスティングサービスではcPanelが使用されていますが、ライセンス料がかかるため、ここではVirtualminとWebminを使用します(Virtualminがサーバーを、Webminが各アカウントを管理します)。これらは無料の代替手段です。既にcPanelなどのアプリをお持ちの場合は、そちらを使用してください。Virtualmin / Webminをインストールするには、以下を入力します。
sudo sh -c "$(curl -fsSL https://software.virtualmin.com/gpl/scripts/virtualmin-install.sh)" -- --bundle LAMP
プロセス中に完全修飾ドメイン名(FQDN)の入力を求められた場合は、host.example.com のように入力してプロセスを先に進めてください。Virtualmin、Webmin、そしてローカルサイトへのアクセスにはIPアドレスを使用します。
Virtualminの完全修飾ドメイン名を入力してください - クリックして拡大
インストールが完了すると、スクリプトによって末尾に:10000が付いたIPアドレスが提供されます。それをコピーしてブラウザに貼り付けてください。
Virtualmin のインストール - クリックして拡大
ブラウザに「接続はプライベートではありません」というエラーが表示されますが、そのまま続行してください。
「接続はプライベートではありません」というエラー - クリックして拡大
Webminダイアログボックスに、ユーザー名「root」と、rootに割り当てたパスワードを入力します。その後、サインインします。
Webmin ログイン画面 - クリックして拡大
「次へ」をクリックして、インストール後のウィザードを続行します。
Webmin インストール後ウィザード - クリックして拡大
「次へ」をクリックし、MariaDBのパスワードページまでデフォルト設定をそのまま使用します。ここで、パスワードをもっと覚えやすいものに変更することもできます。あるいは、少なくともパスワードをメモしておきましょう。
MariaDB のパスワードを設定する - クリックして拡大
ネームサーバーページで「解決可能性のチェックをスキップ」にチェックを入れてください。これにより、host.example.comのような偽のドメイン名を使用しても、IPアドレスを使ってWebminにアクセスできるようになります。
解決可能性のチェックをスキップ - クリックして拡大
[新しい仮想サーバーの追加]をクリックします。
新しい仮想サーバーの追加をクリック - クリックして拡大
新しい仮想サーバーに管理者パスワードと、トップレベルドメイン(.com、.eduなど)を持たないドメイン名を設定します。ここでは「mysite」というドメイン名を使用しました。「サーバーの作成」をクリックします。
サイトに名前を付けて「サーバーの作成」をクリックします - クリックして拡大
さて、ウェブサイトに必要なアプリケーションをいくつかインストールしましょう。Virtualmin > Webアプリの管理に移動すると、利用可能なアプリケーションの一覧が表示されます。データベース管理にはphpMyAdmin、WordPressサイトを運営している場合はWordPressをインストールすることをお勧めします。
Virtualmin の Web アプリの管理に移動します - クリックして拡大
これで、http://YOUR_IP_ADDRESS (私の場合は http://172.26.88.73) に移動してサイトのホームページを表示し、http://YOUR_IP_ADDRESS/phpmyadmin に移動してデータベースを管理できるようになります。
この時点で、ローカルサイトへのアクセスを容易にするために、IPアドレスの代わりに分かりやすい名前を付けると良いでしょう。C:\Windows\System32\drivers\etc\hostsファイルを編集し、任意の名前(例:mysite)とIPアドレスを追加してください。
ホストファイルにサイト名を追加します - クリックして拡大
ブラウザでローカルサイトを表示するには、名前の前に http を追加する必要があることに注意してください (例: http://mysite)。
次に、ウェブサイトのルートディレクトリであるpublic_htmlディレクトリを見つけて、パーミッションを設定します。Virtualminは、仮想サーバーの作成時に入力したサイトのドメイン名(この場合はmysite)でユーザーを作成します。つまり、関連するフォルダは/home/mysite/public_htmlにあります。
Linux コマンドラインで次のコマンドを入力して、このフォルダーへのアクセス許可を自分に付与します。
sudo chmod -R 777 /home/mysite
これで、ファイルエクスプローラーでLinux->AlmaLinux-9->home->mysite->public_htmlに移動して、サイトのファイルにアクセスできるようになります。
ファイルエクスプローラーで public_html フォルダを開く - クリックして拡大
適切な権限が設定されていれば、サイトの開発作業を行い、http://YOUR_IP_ADDRESS または http://mysite にアクセスしてサイトの状態を確認できます。AlmaLinux WSL ターミナルウィンドウを開いたままにしておくと、ウェブサーバーが起動しません。®