windows11にXAMPPをインストールし、サーバー環境を構築する。

目的

windows上では通常PHPが動作しないので、PHP等の実行環境を構築する。

やる事

  • Windows11上にサーバー環境を構築する。
  • XAMPPのダウンロードとインストール
  • XAMPPの設定(httpd.conf・httpd-vhosts.conf・hosts)

1.XAMPPのダウンロードとインストール

下記のリンクから、xamppをダウンロードしインストールする。

※XAMPPに入っているPHPのバージョンに注意すること
最新のXAMPP(PHP8,1)だとPukiWikiのようにPHP7.4までしか対応していない物が動作しないので
対応しているPHPが入っている過去のバージョンのXAMPPをダウンロードしインストールする。

https://www.apachefriends.org/jp/

2.XAMPPの設定

■httpd.confの設定

●httpd.confの場所

C:\xampp\apache\conf\httpd.conf

▼8080番ポートも使うならListen 80の下にListen 8080を追加するが、必要なくなったので今回は追加する必要はない。


Listen 80


▼下記の2か所、コメント解除

LoadModule vhost_alias_module modules/mod_vhost_alias.so
Include "conf/extra/httpd-vhosts.co

■VirtualHostの設定

複数サイトを管理したい時にvirtualhostを利用する。

vhostsの設定は、人それぞれ好みがあると思うので好きに弄ってみてください。

●httpd-vhosts.conf

C:\xampp\apache\conf\extra\httpd-vhosts.conf

httpd-vhosts.confに下記の内容を追加する。


NameVirtualHost *:80

<virtualhost *:80>
ServerName xxxx.xxx
ServerAlias *.xxxx.xxx
VirtualDocumentRoot "c:\xampp\htdocs\vhtdocs\%0"
<directory "c:\xampp\htdocs\vhtdocs\*">
order deny,allow
allow from ALL
Options Indexes FollowSymLinks ExecCGI IncludesNoExec
</directory>
</virtualhost>

<virtualhost *:80>
ServerName localhost
DocumentRoot "c:\xampp\htdocs"
<directory "c:\xampp\htdocs">
order deny,allow
allow from ALL
Options Indexes FollowSymLinks ExecCGI IncludesNoExec
</directory>
</virtualhost>

virtualhostの設定した後、localhostの設定を上書きしているので、書き順を逆にするのはNG

※vhtdocsの部分も消せるけれど、xamppのデフォルトファイルと混ざっちゃうのが嫌で分けてます。

※VirtualDocumentRootとDocumentRootの違い。

VirtualDocumentRootを使うと%0 といった変数を使う事が出来るようになるので、複数のドキュメントルートを設定したい場合は、VirtualDocumentRootを使うと良い。

※%0とは、

zzzzz.yyyy.xxx にアクセスがあると、次のように展開される。

%0 → zzzzz.yyyy.xxx(全体)
%1 → zzzzz(最初の部分)
%2 → yyyy(2番目の部分)
%3 → xxx(3番目の部分)
%-1 → xxx(一番最後の部分)
%-2 → yyyy(最後から2番目の部分)
%2+ → yyyy.xxx(2番目以降の部分)
%-2+ → yyyy.xxx(最後から2番目以降の部分)

詳しくは、下記参照

■hostsの設定

hostsに必要な情報を書いて、ドメインを偽装する。

●hostsの場所

C:\Windows\System32\drivers\etc\hosts

hostsに自分が管理するローカルサイトの架空ドメインを設定する。

※本番サーバーのドメインを設定してしまうと、本番サーバーにアクセスした時にローカルサーバーに飛んでしまうので、あくまで架空のドメインを設定する事

私の場合は、.comの箇所を.localに変える事で対応しています。

hostsに下記のような形で追加する。架空ドメインは自分で自由に決めてください。


#ローカル鯖用virtualhosts設定
127.0.0.1 hoge.local
127.0.0.1 fuge.local


■80番ポート用(virtualhost用)のディレクトリーを作成する。

C:\xampp\htdocsにvhtdocsというフォルダを作成する。

・C:\xampp\htdocs\vhtdocs

※デスクトップにショートカットを作っておくと楽にアクセスできる。

■C:\xampp\htdocs\vhtdocsの中にサイトディレクトリーを作成する。

・C:\xampp\htdocs\vhtdocs\hoge.local

・C:\xampp\htdocs\vhtdocs\fuge.local

これで、ローカル環境で複数のサイトを管理する事が出来るようになりました。

3.XAMPPを起動する。

XAMPP Control Panelを起動し、Apacheをスタートさせる。

localhostと各種ドメインにアクセスし、ちゃんと接続できれば完了です。

コメントを残す