目的
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と各種ドメインにアクセスし、ちゃんと接続できれば完了です。