Ubuntu
LAMP
サイトをvps.net
でホストしています。
mysite.com/john
経由でアクセスできるjohn
というディレクトリがあります。代わりにjohn.mysite.com
経由でアクセスしたい
私のサイトルートは/var/www
で、このディレクトリは/var/www/john
にあります
これを実現するにはどうすればよいですか?
/etc/Apache2/sites-available/john.mysite.com
に新しいサイトファイルを作成します
次のようなサイトを設定します。
<VirtualHost *:80>
ServerName john.mysite.com
DocumentRoot /var/www/john
<Directory /var/www/john/>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
a2ensite john.mysite.com
でサイトを有効にします
Apacheをリロードしてサイトを有効にします:service Apache2 restart
Apacheの設定とは別に、DNSの部分も忘れないでください。同じIPアドレスを指すjohn.mysite.com
のレコードが必要ですmysite.com
が指す(Aレコードを使用している場合)、またはmysite.com
自体(CNAMEレコードを使用している場合)。
これらの手順は、Ubuntu 12.04 LTS x86_64で私にとってうまくいきました:
/etc/Apache2/sites-available/john.mysite.com.conf
に新しいサイトファイルを作成する必要があります
拡張機能.conf
は非常に重要です。これがないと、残りは機能しません。
次に、次のようなサイトを設定します。
<VirtualHost *:80>
ServerName john.mysite.com
DocumentRoot /var/www/john
<Directory /var/www/john/>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
変更を保存し、次のコマンドでサイトを有効にします。
Sudo a2ensite john.mysite.com
Apacheをリロードして、サイトを有効にします。
Sudo service Apache2 reload
Apacheサービスを再起動します。
Sudo service Apache2 restart
その後、サイトもサブドメインとしてポイントするようにDNSを設定する必要があります。DNSには時間がかかりますが、私の経験では数分しかかかりません(15)。
お役に立てれば!! :)
少なくとも次の情報を持つWebサーバー(Apacheを想定)の仮想ホストを作成する必要があります
<VirtualHost *:80>
ServerName john.mysite.com
DocumentRoot /var/www/john
</VirtualHost>
これは決定的なvhostファイルではありませんが、開始点です。httpd.confファイルの下部、またはシステムがvhostsを管理している場所に配置する必要があります