как создать виртуальный хост на XAMPP

Я уверен, что этот вопрос задают много раз, но я не сталкиваюсь с проблемой. Я использую XAMPP, где я настраиваю Zend Framework.

XAMPP работает на порт 8081 как 80 занят каким-то процессом Windows, мне нужно использовать виртуальный хост для этого я настраиваю с помощью следующего кода в 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

63

Решение

Я вижу две ошибки:

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

Одна вещь, чтобы упомянуть:

Вы всегда можете попробовать запустить команду:

service apache2 configtest

Это скажет вам, когда вы получили неправильную конфигурацию и, возможно, даже может сказать вам, где проблема.

Кроме того, это помогает избежать недоступности в системе LIVE:

service apache2 restart

завершит работу и затем не сможет запуститься, этот configtest вы знаете заранее: «Ой, я сделал что-то не так, я должен сначала это исправить», но сам apache все еще работает со старой конфигурацией. 🙂

57

Другие решения

Шаг 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 \ конф \ экстра \ 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>

Шаг 3) C: \ XAMPP \ Apache \ конф \ httpd.conf. Прокрутите вниз до раздела «Дополнительная конфигурация» в конце и найдите следующий раздел (около строки 500). Удалите знак # в начале второй строки, чтобы раздел теперь выглядел следующим образом:

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

Шаг 4) Перезапустите XAMPP
и теперь запустите в вашем браузере:

www.example.com or www.test.com
48

Запишите эти коды в конец файла 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

между тегом виртуального хоста.

и отредактируйте файл System32 / Drivers / etc / hosts, используя блокнот как администратор

добавить нижнюю часть файла

127.0.0.1    www.siteurl.com
5

Просто измените порт на 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>
4

Добавьте этот код в 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

Если вы не можете сохранить этот код в файле хоста, щелкните правой кнопкой мыши на панели задач и выберите «Запуск от имени администратора», после чего вы сможете сохранить свой код и перезапустить XAMP.

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

Сохраните файл конфигурации Apache.

для подробной информации обратитесь к этот

2

Виртуальный хост Apache документация Настройка виртуального хоста (vhost) дает несколько преимуществ:

  • Виртуальные хосты делают URL чище — localhost / mysite против mysite.local.
  • Виртуальные хосты упрощают разрешения — ограничивают доступ для одного виртуального хоста в локальной сети по сравнению с разрешением доступа ко всем сайтам в вашей локальной сети.
  • Некоторые приложения требуют «.» В URL (гм Magento). Хотя вы можете настроить localhost.com/mysite, отредактировав файл хостов Windows, лучше создать vhost.

Директива VirtualHost Содержит директивы, которые применяются только к определенному имени хоста или IP-адресу

Директива о местонахождении Применяет вложенные директивы только к соответствующим 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 «Откройте файл хостов Windows, расположенный в 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 =====

@увидеть

2

Я исправил это, используя следующую конфигурацию.

 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
По вопросам рекламы [email protected]