私はこの質問が何度も尋ねられていると確信していますが、私は問題に遭遇していません。私はZend frameworkを設定するXAMPPを使用しています。
XAMPPはport 8081 as 8で実行されています。仮想ホストを使用する必要があります。C:/xampp/Apache/config/extra/httpd-vhosts.config
(または新しいリリースではC:/xampp/Apache/conf/extra/httpd-vhosts.conf
)で次のコードを使用して設定します。 ).
<VirtualHost *:80>
ServerName comm-app.local
DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
SetEnv APPLICATION_ENV "development"
<Directory "C:/xampp/htdocs/CommunicationApp/public"
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
また、hostsファイルを127.0.0.1 comm-app.local
で更新してApacheを再起動しようとしましたが、エラーが発生しています。
15:03:01 [Apache] Error: Apache shutdown unexpectedly.
15:03:01 [Apache] This may be due to a blocked port, missing dependencies,
15:03:01 [Apache] improper privileges, a crash, or a shutdown by another method.
15:03:01 [Apache] Press the Logs button to view error logs and check
15:03:01 [Apache] the Windows Event Viewer for more clues
15:03:01 [Apache] If you need more help, copy and post this
15:03:01 [Apache] entire log window on the forums
2つのエラーがあります。
<VirtualHost *:80> -> Fix to :8081, your POrt the server runs on
ServerName comm-app.local
DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
SetEnv APPLICATION_ENV "development"
<Directory "C:/xampp/htdocs/CommunicationApp/public" -> This is probably why it crashes, missing >
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
-> MIssing close container: </VirtualHost>
修正バージョン:
<VirtualHost *:8081>
ServerName comm-app.local
DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
SetEnv APPLICATION_ENV "development"
<Directory "C:/xampp/htdocs/CommunicationApp/public">
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
言及する1つのこと:
あなたはいつでもcommandを試すことができます:
service Apache2 configtest
これは、あなたが不正な設定をしたときにあなたに教えてくれるでしょうし、問題がどこにあるかをあなたに言うことさえできるかもしれません。
さらに、LIVEシステムで利用できなくなるのを防ぐのに役立ちます。
service Apache2 restart
このconfigtestは事前に知っていますが、「おかしなことをしました。最初に修正する必要があります」が、Apache自体は古い設定で実行されています。 :)
ステップ1 C:\ WINDOWS\system32\drivers\etc\"hosts"ファイルを開きます。
127.0.0.1 localhost
127.0.0.1 test.com
127.0.0.1 example.com
ステップ2 xampp\Apache\conf\extra\httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot C:/xampp/htdocs/test/
ServerName www.test.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot C:/xampp/htdocs/example/
ServerName www.example.com
</VirtualHost>
ステップ C:\ xampp\Apache\conf\httpd.conf。最後のSupplemental configurationセクションまでスクロールし、次のセクション(500行目付近)を探します。2行目の先頭から#を削除して、セクションが次のようになるようにします。
#Virtual hosts
Include conf/extra/httpd-vhosts.conf
ステップ4) XAMPPを再起動してブラウザで起動してください。
www.example.com or www.test.com
Cにこのコードを追加してください:\ xampp\Apache\conf\extra\httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName qa-staging.com
ServerAlias www.qa-staging.com
<Directory "c:/xampp/htdocs">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
今すぐあなたの仮想ホスト名を以下のファイルに追加してください。
C:\Windows\System32\drivers\etc\hosts
127.0.0.1 qa-staging.com
このコードをHostファイルに保存できない場合は、notpadを右クリックしてRun as administratorを選択し、カスタムコードを保存してXAMPを再起動してください
これらのコードをC:\ xampp\Apache\conf\extra\httpd-vhosts.confファイルの最後に書いてください。
DocumentRoot "D:/xampp/htdocs/foldername"
ServerName www.siteurl.com
ServerAlias www.siteurl.com
ErrorLog "logs/dummy-Host.example.com-error.log"
CustomLog "logs/dummy-Host.example.com-access.log" common
仮想Hostタグ間.
そしてSystem32/Drivers/etc/hostsファイルを編集し、管理者としてnotepadを使用します。
ファイルの末尾を追加
127.0.0.1 www.siteurl.com
ポートを8081
に変更するだけで、次の仮想ホストが機能します。
<VirtualHost *:8081>
ServerName comm-app.local
DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
SetEnv APPLICATION_ENV "development"
<Directory "C:/xampp/htdocs/CommunicationApp/public">
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "D:/projects/yourdirectry name"
ServerName local.yourdomain.com
<Directory "D:/projects/yourdirectry name">
Require all granted
</Directory>
</VirtualHost>
Apache設定ファイルを保存します。
詳しい情報は this を参照してください。
Apache仮想ホスト ドキュメント 仮想ホスト(vhost)を設定することにはいくつかの利点があります。
VirtualHost Directive 特定のホスト名またはIPアドレスにのみ適用されるディレクティブが含まれています
Location Directive 一致するURLにのみ囲まれたディレクティブを適用します
例 設定ファイルの変更 - D:\xampp\Apache\conf\extra\httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin localhost
DocumentRoot "D:/xampp/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost localhost:80>
ServerAdmin [email protected]
DocumentRoot "/www/docs/Host.example.com"
#DocumentRoot "D:\xampp\htdocs\phpPages"
ServerName Host.example.com
ErrorLog "logs/Host.example.com-error_log"
TransferLog "logs/Host.example.com-access_log"
</VirtualHost>
# To get view of PHP application in the Browser.
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "D:\xampp\htdocs\app1"
ServerName app1.yash.com
ServerAlias app1.yash.com
ErrorLog "logs/app1.yash.com-error.log"
CustomLog "logs/app1.yash.com-access.log" combined
# App1 communication proxy call to Java War applications from XAMP
<Location /ServletApp1>
ProxyPass http://app1.yashJava.com:8080/ServletApp1
ProxyPassReverse http://app1.yashJava.com:8080/ServletApp1
Order Allow,Deny
Allow from all
</Location>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "D:\xampp\htdocs\app2"
ServerName app2.yash.com
ErrorLog "logs/app2.yash.com-error.log"
CustomLog "logs/app2.yash.com-access.log" combined
# App1 communication proxy call to Java War applications from XAMP
<Location /ServletApp2>
ProxyPass http://app1.yashJava.com:8080/ServletApp2
ProxyPassReverse http://app1.yashJava.com:8080/ServletApp2
Order Allow,Deny
Allow from all
</Location>
</VirtualHost>
Windowsホストファイルを更新する"C:\Windows\System32\drivers\etc\hosts.
にあるWindowsホストファイルを開きます
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 test.com
127.0.0.1 example.com
127.0.0.1 myssl.yash.com
D:\xampp\Apache\conf\httpd.conf, [httpd-ssl.conf](http://httpd.Apache.org/docs/2.2/mod/mod_ssl.html)
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost> directive.
# Listen 0.0.0.0:80 | [::]:80
Listen 80
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule speling_module modules/mod_speling.so
# ServerAdmin: Your address, where problems with the server should be e-mailed.
# This address appears on some server-generated pages, such as error documents.
# e.g. [email protected]
ServerAdmin postmaster@localhost
ServerName localhost:80
DocumentRoot "D:/xampp/htdocs"
<Directory "D:/xampp/htdocs">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
# Virtual hosts
Include "conf/extra/httpd-vhosts.conf"
# ===== httpd-ssl.conf - SSL Virtual Host Context =====
# Note: Configurations that use IPv6 but not IPv4-mapped addresses need two
# Listen directives: "Listen [::]:443" and "Listen 0.0.0.0:443"
Listen 443
## SSL Virtual Host Context
<VirtualHost _default_:443>
DocumentRoot "D:\xampp\htdocs\projectFolderSSL"
ServerName myssl.yash.com:443
ServerAlias myssl.yash.com:443
ServerAdmin webmaster@localhost
ErrorLog "logs/error.log"
<IfModule log_config_module>
CustomLog "logs/access.log" combined
</IfModule>
## Redirecting URL from Web server to Application server over different machine.
# myssl.yash.com:443/ServletWebApp
<Location /path>
ProxyPass http://Java.yash2.com:8444/ServletWebApp
ProxyPassReverse http://Java.yash2.com:8444/ServletWebApp
Order Allow,Deny
Allow from all
</Location>
#SSLCertificateFile "conf/ssl.crt/server.crt"
SSLCertificateFile "D:\SSL_Vendor\yash.crt"
#SSLCertificateKeyFile "conf/ssl.key/server.key"
SSLCertificateKeyFile "D:\SSL_Vendor\private-key.key"
#SSLCertificateChainFile "conf/ssl.crt/server-ca.crt"
SSLCertificateChainFile "D:\SSL_Vendor\intermediate.crt"
</VirtualHost>
# ===== httpd-ssl.conf - SSL Virtual Host Context =====
@見る
あなたのディスクドライブに:\ xampp\Apache\conf\extra\httpd-vhosts.confが例として存在し、あなたはあなたの設定でそれを編集することができます:
##<VirtualHost *:80>
##ServerAdmin [email protected]
##DocumentRoot "C:/xampp/htdocs/dummy-Host.example.com"
##ServerName dummy-Host.example.com
##ServerAlias www.dummy-Host.example.com
##ErrorLog "logs/dummy-Host.example.com-error.log"
##CustomLog "logs/dummy-Host.example.com-access.log" common
##</VirtualHost>
例としてはこういうことでしょう、そしてlocalhost自身のためにVirtualHostを追加してphpmyadminと他のプロジェクトをポート80で同時に実行することを忘れないでください。例として私はstore.localで示すでしょうプロジェクト:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "c:/xampp/htdocs/store.local/public"
ServerName www.store.local
ServerAlias store.local
<Directory C:/xampp/htdocs/store.local>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
それから上記のように追加する必要があります:C:\ windows\system32\drivers\hostsファイルの末尾に
127.0.0.1 store.local
127.0.0.1 www.store.local
apacheを再起動してブラウザで試してください。
store.local or www.store.local
多分初めてあなたはこのように加えなければなりません:
http://store.local or http://www.store.local
他のポートを使用するには、VirtualHostの前に以下を追加する必要があります。
Listen 8081 or another which you prefer
それからちょうどあなたのVirtualHostのためにこのようにポートを使ってください:
<VirtualHost *:8081>
ServerAdmin [email protected]
DocumentRoot "c:/xampp/htdocs/store.local/public"
ServerName store.local
ServerAlias www.store.local
<Directory C:/xampp/htdocs/store.local>
AllowOverride All
Require all granted
</Directory>
それからApacheを再起動してブラウザで試してみてください。
store.local:8081 or www.store.local:8081
そして、あなたがportを追加したプロジェクトだけがこのportで実行されるでしょう。例えば他のプロジェクトとphpmyadminはまだport 80で実行されるでしょう。
以下の設定で修正しました。
Listen 85
<VirtualHost *:85>
DocumentRoot "C:/xampp/htdocs/LaraBlog/public"
<Directory "C:/xampp/htdocs/CommunicationApp/public">
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
私はパーティーに少し遅れています、しかし私は端末を通してVirtualHostを作成するMac用のこの小さなbashスクリプトを書きました:
#!/bin/bash
echo "Welcome to the VirtualHostCreator! Press <RETURN> to continue."
read
echo "Enter the name the VirtualHost you would like to create. No spaces or dashes, please."
read hostname
echo "Enter the document root of the VirtualHost."
read doc_root
echo "Creating VirtualHost \"$hostname\". You may be prompted for your password."
hosts_file="/etc/hosts"
vhosts_file="/Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf"
restart_command="Sudo /Applications/XAMPP/xamppfiles/xampp restart"
cat >> $vhosts_file << EndOfMessage
<VirtualHost ${hostname}>
ServerName ${hostname}
DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/${doc_root}"
</VirtualHost>
EndOfMessage
Sudo sh -c "echo \"127.0.0.1 $hostname\" >> $hosts_file"
$restart_command
いくつかの改良が可能で、vhostに必要な2つのオプション(サーバー名とドキュメントルート)しかないと思いますが、すべてのファイルを開いて編集するよりもはるかに迅速かつ効率的に作業ができます。手動で、そしてその後自動的にXAMPPを再起動します。
これは、あなたがXAMPPのデフォルトのインストール場所を持っていると仮定しています。
ステップ1)「C:\ Windows\System32\drivers\etc」の下のホストファイルを開きます
追加する
127.0.0.1 vipsnum.mk
ステップ2) "C:\ xampp\Apache\conf\extra"の下にあるhttpd-vhosts.confファイルを開く
追加する
<VirtualHost vipsnum.mk:80>
ServerName vipsnum.mk
DocumentRoot "C:/xampp/htdocs/vipnum/"
SetEnv APPLICATION_ENV "development"
<Directory "C:/xampp/htdocs/vipnum/">
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
1. C:\xampp\Apache\conf\https.conf
Virtual hosts
Include conf/extra/httpd-vhosts.conf
2. C:\Windows\System32\drivers\etc\hosts
127.0.0.1 localhost
127.0.0.1 helpdesk.local
3. C:\xampp\Apache\conf\extra\httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/helpdesk/public"
ServerName helpdesk.local
</VirtualHost>
Now, Restart Apache and go through the link.
URL : http://helpdesk.local