2014-12-03 26 views
47

Jestem pewien, że to pytanie jest zadawane wiele razy, ale nie mam z tym problemu. Używam XAMPP, gdzie konfiguruję framework Zend.jak stworzyć wirtualnego hosta na XAMPP

XAMPP jest uruchomiony na PORT 8081 jak jest zajęte przez niektórych oknach procesie muszę korzystać z wirtualnego hosta za to skonfigurować w następujący kod w httpd-vhosts.config obecny w C:/xampp/apache/config/extra/

<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 aktualizować plik hosts z 127.0.0.1 Comm-app.local i spróbuj ponownie uruchomić apache, ale to pokazuje 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 
+2

Jeżeli nie VirtualHost *: 80 być VirtualHost *: 8081 jeśli to gdzie Apache działa – TommyBs

+3

Proces okien zajmujący port 80 potęgę być Skype. – Marek

Odpowiedz

44

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> 

wersji Poprawiono:

<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> 

One rzecz do menti na:

Zawsze można spróbować uruchomić polecenie:

service apache2 configtest 

Dzięki temu dowiesz się, kiedy masz nieprawidłowy konfigurację i może nawet można powiedzieć, gdzie jest problem.

Ponadto pomaga uniknąć niedostępność w systemie żywo:

service apache2 restart 

wyłączy się, a następnie uda się uruchomić, to configtest wiesz wcześniej „oops zrobiłem coś źle, powinno rozwiązać ten pierwszy”, ale apache sama nadal działa ze starą konfiguracją. :)

+0

Apache zaczyna działać po tej korekcie, ale ** nie ma połączenia z serwerem comm-app.local ** na serwerze z ** nie znaleziono Błąd HTTP 404. Żądany zasób nie został znaleziony. ** –

+0

Czy skonfigurowałeś komunikację -app.local, aby przekierować do 127.0.0.1 w pliku hosts? Jesteś pewien, że twoja ścieżka jest właściwa? Aha i musisz zamknąć kontener VirtualHost, jeśli nie zrobiłeś tego ... (Zaktualizowano mój wpis) – Steini

+0

tak Po prostu umieszczam ** 127.0.0.1 comm-app.local ** w pliku hosts, a nawet restartuję serwer –

3

Wystarczy zmienić port 8081 i po wirtualnego hosta będzie działać:

<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> 
+0

To pomyłka tak, ale to nie przeszkadzałoby w uruchomieniu usługi Apache, to tylko spowodowałoby ostrzeżenie i vhost nie działałby – Steini

+0

Apache zaczyna działać po tej korekcie, ale ** comm-app.local ** jest nadal ani znaleziono na serwerze z błędem ** Not Found HTTP 404. ** Żądany zasób nie został znaleziony. –

3

Wpisz te kody koniec C: \ xampp \ apache \ conf \ extra \ plik 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 

między znacznikiem wirtualnego hosta.

i edytować plik System32/drivers/etc/hosts używać notatnik jako administrator

dodać dole pliku

127.0.0.1 www.siteurl.com 
1
<VirtualHost *:80> 
    DocumentRoot "D:/projects/yourdirectry name" 
    ServerName local.yourdomain.com 
    <Directory "D:/projects/yourdirectry name"> 
     Require all granted 
    </Directory> 
</VirtualHost> 

zapisać plik konfiguracyjny Apache.

do szczegółowych informacji patrz this

0

Naprawiłem go za pomocą 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

Dodałem poniżej konfiguracji do httpd.conf i ponownie uruchomiłem usługę lampp i zaczął działać. Podziękowania dla wszystkich powyższych postów, 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> 
0

w napędzie dysku: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf istnieje przykładowy i można go edytować z konfiguracją:

##<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> 

potem jak wspomniano powyżej Ciebie 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 

mieć możliwość uruchomienia kodu z WWW i bez WWW, restart Apache i spróbować w przeglądarce:

www.dummy-host.example.com 

lub

dummy-host.example.com 

może w czasie pierwszego musi dodać coś takiego:

http://dummy-host.example.com 
31

Etap 1) C: \ WINDOWS \ system32 \ sterowniki \ itp \ Open "gospodarze" plik

127.0.0.1  localhost 
127.0.0.1  test.com 
127.0.0.1  example.com 

etap 2) xampp \ apache \ conf \ dodatkowo \ httpd-vhostów. 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> 

Etap 3) C: \ xampp \ apache \ conf \ httpd.conf. Przewiń w dół do sekcji poświęconej dodatkowym konfiguracji na końcu i znajdź następujący fragment (około linii 500), usuń # z początku drugiej linii tak sekcja wygląda teraz tak:

#Virtual hosts 
Include conf/extra/httpd-vhosts.conf 

Krok 4) Restart XAMPP i teraz uruchomić w przeglądarce:

www.example.com or www.test.com 
2

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 nazwę hosta wirtualnego w pliku poniżej.

C:\Windows\System32\drivers\etc\hosts 

127.0.0.1 qa-inscenizacja.com

Jeśli nie jesteś w stanie zapisać ten kod w pliku hosta, a następnie kliknij prawym przyciskiem myszy na notpad wybierz Uruchom jako administrator, a następnie można stanie zapisać swój kod niestandardowy teraz ponownie uruchomić XAMP

-1

Prosty, Możesz zobaczyć poniższy szablon i użyć go odpowiednio. Bardzo często tworzy wirtualnego hosta i jest bardzo prosty. Z pewnością poniższy szablon zadział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> 

Więcej informacji na temat hosta wirtualnego można znaleźć na tej stronie. http://www.thegeekstuff.com/2011/07/apache-virtual-host

Dzięki

0

Apache Virtual Host documentation Konfiguracja wirtualnego hosta (vhost) zapewnia wiele korzyści:

  • hostów wirtualnych zrobić adresów URL Cleaner - localhost/mysite vs mysite.local.
  • Hosty wirtualne ułatwiają uzyskiwanie uprawnień - ograniczają dostęp do pojedynczego hosta w sieci lokalnej, umożliwiając dostęp do wszystkich witryn w sieci lokalnej.
  • Niektóre aplikacje wymagają "." W adresie URL (ahem Magento). Chociaż możesz ustawić localhost.com/mysite przez edycję pliku hosts Windows, lepszym rozwiązaniem będzie utworzenie vhosta.

VirtualHost Directive Zawiera wytyczne, które odnoszą się tylko do określonego hosta lub adres IP

Location Directive Stosuje załączonych dyrektyw tylko do dopasowania URL

Example zmienia się plik konfiguracyjny - 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> 

Aktualizacja gospodarze Windows File «Otwórz swój system Windows plik 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

# 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 [email protected] 
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 [email protected] 
    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