jak utworzyć wirtualnego hosta na XAMPP
Jestem pewien, że to pytanie jest zadawane wiele razy, ale nie mam problemu. Używam XAMPP gdzie konfiguruję Zend framework.
XAMPP działa na porcie 8081 jako 80 jest zajęty przez jakiś proces Windows, do którego muszę użyć wirtualnego hosta, który konfiguruję za pomocą następującego kodu w C:/xampp/apache/config/extra/httpd-vhosts.config
(lub C:/xampp/apache/conf/extra/httpd-vhosts.conf
w nowszych wydaniach).
<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>
A także zaktualizuj plik hosts za pomocą 127.0.0.1 comm-app.local
i spróbuj ponownie uruchomić apache, ale wyświetla się błąd.
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
12 answers
Widzę dwa błędy:
<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>
Wersja poprawiona:
<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>
Jedna rzecz do wymienienia:
Zawsze możesz spróbować uruchomić komendę:
service apache2 configtest
To powie Ci, kiedy masz zniekształconą konfigurację, a może nawet powie Ci, gdzie jest problem.
Ponadto pomaga uniknąć niedostępności w systemie NA ŻYWO:
service apache2 restart
Zamknie się, a następnie nie uruchomi się, ten configtest wiesz wcześniej "oops zrobiłem coś nie tak, powinienem to najpierw naprawić", ale sam apache nadal działa ze starą konfiguracją. :)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-20 15:57:08
Krok 1) C:\WINDOWS\system32\drivers\etc\ Otwórz plik "hosts":
127.0.0.1 localhost
127.0.0.1 test.com
127.0.0.1 example.com
Krok 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>
Krok 3) C:\xampp\apache\conf\httpd.conf. Przewiń w dół do sekcji Konfiguracja uzupełniająca na końcu i znajdź następującą sekcję (wokół linii 500), Usuń # z początku drugiej linii, aby sekcja wyglądała teraz tak:
#Virtual hosts
Include conf/extra/httpd-vhosts.conf
Krok 4) Uruchom ponownie XAMPP a teraz biegnij w twoja przeglądarka:
www.example.com or www.test.com
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-12 12:04:29
Napisz te kody koniec C:\xampp\apache\conf\extra\httpd-vhosts.plik 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
Pomiędzy znacznikiem virtual host.
I edytować system plików32 / Drivers / etc / hosts używać notatnika jako administratora
Dodaj dół pliku
127.0.0.1 www.siteurl.com
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-03 10:07:15
Wystarczy zmienić port na 8081
i będzie działać następujący wirtualny host:
<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>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-07 21:48:57
Dodaj ten kod w 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>
Teraz dodaj swoją nazwę wirtualnego hosta w pliku poniżej.
C:\Windows\System32\drivers\etc\hosts
127.0.0.1 qa-staging.com
Jeśli nie możesz zapisać tego kodu w pliku hosta, kliknij prawym przyciskiem myszy notpad wybierz Uruchom jako administrator, a następnie możesz zapisać swój niestandardowy kod Teraz uruchom ponownie XAMP
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-30 19:35:01
<VirtualHost *:80>
DocumentRoot "D:/projects/yourdirectry name"
ServerName local.yourdomain.com
<Directory "D:/projects/yourdirectry name">
Require all granted
</Directory>
</VirtualHost>
Zapisz plik konfiguracyjny Apache.
Szczegółowe informacje znajdują się w this
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-23 10:27:59
Naprawiłem to używając następującej konfiguracji.
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>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-20 18:09:39
Na Twoim dysku:\xampp \ apache \ conf \ extra\httpd-vhosts.conf istnieje przykład i można go edytować za pomocą konfiguracji:
##<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>
Następnie jak wspomniano powyżej należy dodać w: System32 / Drivers/etc / hosts na dole pliku
127.0.0.1 www.dummy-host.example.com
I
127.0.0.1 dummy-host.example.com
Aby mieć możliwość uruchomienia kodu z WWW lub bez WWW, uruchom ponownie Apache i spróbuj w przeglądarce:
www.dummy-host.example.com
Lub
dummy-host.example.com
Może za pierwszym razem musisz dodać w ten sposób:
http://dummy-host.example.com
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-12 15:35:27
[[6]}dokumentacja Apache Virtual Host Konfiguracja wirtualnego hosta (vhost) zapewnia kilka korzyści:
- wirtualne hosty czyszczą adresy URL – localhost / mysite vs mysite.lokalne.
- wirtualne hosty ułatwiają uprawnienia-ograniczają dostęp do pojedynczego vhostu w sieci lokalnej, a nie zezwalają na dostęp do wszystkich witryn w sieci lokalnej.
- niektóre aplikacje wymagają"."w URL (ahem Magento). Podczas gdy można skonfigurować localhost.com/mysite edytując okna plik hosts, tworzenie vhost jest lepszym rozwiązaniem.
Dyrektywa VirtualHost zawiera dyrektywy, które mają zastosowanie tylko do określonej nazwy hosta lub adresu IP
Dyrektywa Location stosuje załączone dyrektywy tylko do pasujących adresów URL
Przykład zmiany w pliku konfiguracyjnym - 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>
Update Your Windows Hosts File " Otwórz Plik windows hosts znajdujący się w C:\Windows\System32\drivers\etc\hosts.
# 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 =====
@see
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-07 06:24:47
Jestem trochę spóźniony na imprezę, ale napisałem mały skrypt bash dla Mac, który tworzy VirtualHost przez terminal:
#!/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
Jestem pewien, że istnieje kilka ulepszeń, które można wprowadzić, i ma tylko dwie wymagane opcje dla vhost (nazwa serwera i główny dokument), ale wykonuje zadanie znacznie szybciej i wydajniej niż ręczne otwieranie i edytowanie wszystkich plików, a także automatycznie uruchamia ponownie XAMPP.
To zakłada, że masz domyślną miejsce instalacji XAMPP, które można zmienić.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-09 02:58:16
Dodałem poniżej konfigurację do httpd.conf i ponownie uruchomił serwis lampp i zaczął działać. Dzięki wszystkim powyższym postom, które pomogły mi rozwiązać problemy jeden po drugim.
Listen 8080
<VirtualHost *:8080>
ServerAdmin [email protected]
DocumentRoot "/opt/lampp/docs/dummy-host2.example.com"
ServerName localhost:8080
ErrorLog "logs/dummy-host2.example.com-error_log"
CustomLog "logs/dummy-host2.example.com-access_log" common
<Directory "/opt/lampp/docs/dummy-host2.example.com">
Require all granted
</Directory>
</VirtualHost>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-10 06:30:19
Proste, Możesz zobaczyć poniższy szablon i odpowiednio z niego korzystać. Jego bardzo powszechne do tworzenia wirtualnego hosta i bardzo proste. Z pewnością poniższy szablon będzie działał.
<VirtualHost *:8081>
DocumentRoot "C:/xampp/htdocs/testsite"
ServerName testsite.loc
ServerAlias www.testsite.loc
<Directory "c:/xampp/htdocs/testsite">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Aby uzyskać więcej informacji na temat wirtualnego hosta, odwiedź tę stronę. http://www.thegeekstuff.com/2011/07/apache-virtual-host
Dzięki,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-23 16:30:42