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
Author: leymannx, 2014-12-03

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ą. :)

 52
Author: Steini,
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
 40
Author: Amit Naraniwal,
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
 5
Author: Asarudeen,
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>
 4
Author: Pupil,
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

 4
Author: Ashish pathak,
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

 2
Author: Bhutto Hafeez,
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>
 1
Author: Jakir Hosen Khan,
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
 1
Author: develway,
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

 1
Author: Yash,
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ć.

 0
Author: Yaakov Ainspan,
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>
 -1
Author: Praveen Kumar M,
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,

 -1
Author: loyola,
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