Estoy seguro de que esta pregunta se hace muchas veces, pero no me encuentro con ningún problema. Estoy usando XAMPP donde configuro el marco Zend.
XAMPP se está ejecutando en el puerto 8081 ya que 80 está siendo ocupado por algún proceso de Windows.Necesito usar un host virtual para eso lo configuro con el siguiente código en C:/xampp/apache/config/extra/httpd-vhosts.config
(o C:/xampp/apache/conf/extra/httpd-vhosts.conf
en versiones más recientes).
<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>
y también actualice el archivo de hosts con 127.0.0.1 comm-app.local
e intente reiniciar Apache, pero muestra un error.
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
php
apache
zend-framework
xampp
virtualhost
Paras Arora
fuente
fuente
Respuestas:
Veo dos errores:
<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>
Versión fija:
<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>
Una cosa para mencionar:
Siempre puedes probar y ejecutar el comando:
Esto le dirá cuándo tiene una configuración mal formada y tal vez incluso pueda decirle dónde está el problema.
Además, ayuda a evitar la indisponibilidad en un sistema LIVE:
se apagará y luego no se iniciará, esta prueba de configuración que conoce de antemano "oops, hice algo mal, debería arreglar esto primero" pero el apache todavía se está ejecutando con la configuración anterior. :)
fuente
Paso 1) C: \ WINDOWS \ system32 \ drivers \ etc \ Abra el archivo "hosts":
127.0.0.1 localhost 127.0.0.1 test.com 127.0.0.1 example.com
Paso 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>
Paso 3) C: \ xampp \ apache \ conf \ httpd.conf. Desplácese hacia abajo hasta la sección Configuración complementaria al final y ubique la siguiente sección (alrededor de la línea 500), elimine el # del principio de la segunda línea para que la sección se vea así:
#Virtual hosts Include conf/extra/httpd-vhosts.conf
Paso 4) Reinicie XAMPP y ahora ejecútelo en su navegador:
www.example.com or www.test.com
fuente
127.0.0.4 mycustomdomain
y se ejecuta en el puerto 90, así que usé<VirtualHost 127.0.0.4:90>
. Falla cuando lo intento en el navegadorhttp://mycustomdomain
Agregue este código en 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>
Ahora agregue su nombre de host virtual en el siguiente archivo.
127.0.0.1 qa-staging.com
Si no puede guardar este código en el archivo host, haga clic con el botón derecho en notpad, seleccione Ejecutar como administrador y luego podrá guardar su código personalizado ahora reinicie su XAMP
fuente
Escriba estos códigos al final del archivo 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
entre la etiqueta de host virtual.
y edite el archivo System32 / Drivers / etc / hosts use el bloc de notas como administrador
agregar la parte inferior del archivo
127.0.0.1 www.siteurl.com
fuente
<VirtualHost *:80> DocumentRoot "D:/projects/yourdirectry name" ServerName local.yourdomain.com <Directory "D:/projects/yourdirectry name"> Require all granted </Directory> </VirtualHost>
Guarde el archivo de configuración de Apache.
para obtener información detallada, consulte este
fuente
Simplemente cambie el puerto
8081
y el siguiente host virtual funcionará:<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>
fuente
En su unidad de disco: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf existe un ejemplo y puede editarlo con su configuración:
##<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>
Sería así, como ejemplo y no olvide agregar VirtualHost para que el propio localhost tenga la posibilidad de ejecutar phpmyadmin y otro proyecto al mismo tiempo en el puerto 80, como ejemplo que mostraré con el proyecto 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>
luego, como se mencionó anteriormente, debe agregar: C: \ windows \ system32 \ drivers \ hosts al final del archivo
127.0.0.1 store.local 127.0.0.1 www.store.local
reinicie Apache e intente en el navegador:
store.local or www.store.local
tal vez la primera vez debas agregar así:
http://store.local or http://www.store.local
para usar otros puertos, debe agregar lo siguiente, antes de su VirtualHost:
Listen 8081 or another which you prefer
luego simplemente use el puerto para su VirtualHost así:
<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>
luego reinicie Apache e intente en el navegador
store.local:8081 or www.store.local:8081
y solo el proyecto para el que agregue el puerto se ejecutará en este puerto, por ejemplo, otros proyectos y phpmyadmin seguirán ejecutándose en el puerto 80
fuente
Documentación de Apache Virtual Host La configuración de un host virtual (vhost) proporciona varios beneficios:
Cambios de ejemplo sobre el archivo de configuración -
D:\xampp\apache\conf\extra\httpd-vhosts.conf
<VirtualHost *:80> ServerAdmin localhost DocumentRoot "D:/xampp/htdocs" ServerName localhost </VirtualHost> <VirtualHost localhost:80> ServerAdmin webmaster@host.example.com 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 postmaster@dummy-host.localhost 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 postmaster@infotreesolutions.com 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>
Actualice su archivo de hosts de Windows «Abra su archivo de hosts de Windows ubicado en
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 =====
@ver
fuente
Lo arreglé usando la siguiente configuración.
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>
fuente
Llego un poco tarde a la fiesta, pero escribí este pequeño script bash para Mac que crea un VirtualHost a través de la 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
Estoy seguro de que se pueden hacer algunas mejoras, y solo tiene las dos opciones requeridas para el servidor virtual (nombre del servidor y raíz del documento), pero hace el trabajo de manera mucho más rápida y eficiente que abrir y editar todos los archivos. manualmente, y también reinicia automáticamente XAMPP después.
Esto supone que tiene la ubicación de instalación predeterminada para XAMPP, que se puede cambiar.
fuente
Paso 1) Abra el archivo de host en "C: \ Windows \ System32 \ drivers \ etc"
Añadir
127.0.0.1 vipsnum.mk
Paso 2) Abra el archivo httpd-vhosts.conf en "C: \ xampp \ apache \ conf \ extra"
Añadir
<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>
fuente
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
fuente
El problema con xampp en mi caso es cuando se especifica una carpeta diferente a la de htdocs, especialmente con múltiples dominios y carpetas dedicadas. Esto se debe a
httpd-ssl.conf
que también se hace referencia<VirtualHost>
.Para hacer esto remueva la
<VirtualHost>
entrada completa debajohttpd-ssl.conf
A partir de ahí, cualquier configuración que realice en su
httpd-vhosts.conf
se actualizará como se esperaba tantohttp
comohttps
referencias.fuente
He estado buscando la solución durante bastante tiempo. Y finalmente tengo la respuesta. Si su host virtual no funciona en su Windows 10 o 7, etc., es debido a este nuevo bombo de https, donde todos los sitios se enrutan a https.
XAMPP sigue la misma tendencia, por lo que arreglar los hosts virtuales, el archivo de hosts, etc.no es suficiente, debido a la estricta redirección https. Aquí está la solución completa.
Mi sitio deseado se encuentra en D: \ xampp \ htdocs \ ikeen.
1) Agregue esto a su httpd-vhosts.conf:
<VirtualHost *:80> ServerName localhost DocumentRoot "D:\xampp\htdocs" <Directory "D:\xampp\htdocs"> DirectoryIndex index.php </Directory> </VirtualHost> <VirtualHost *:80> ServerName ikeen.localhost DocumentRoot "D:\xampp\htdocs\ikeen" SetEnv APPLICATION_ENV "development" <Directory "D:\xampp\htdocs\ikeen"> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
2) Agregue esto al final de httpd.conf:
<Directory /> AllowOverride none Require all granted </Directory>
3) Agregue esta línea a su archivo de hosts en el directorio de Windows
127.0.0.1 ikeen.localhost
4) El paso final es cambiar la sección VirtualHost de su archivo httpd-ssl.conf a la siguiente
<VirtualHost _default_:443> # General setup for the virtual host DocumentRoot "D:/xampp/htdocs" #ServerName www.example.com:443 ServerName localhost ServerAdmin [email protected] ErrorLog "D:/xampp/apache/logs/error.log" TransferLog "D:/xampp/apache/logs/access.log" # General setup for the ikeen host DocumentRoot "D:/xampp/htdocs/ikeen" #ServerName www.example.com:443 ServerName ikeen.localhost ServerAdmin [email protected] ErrorLog "D:/xampp/apache/logs/error.log" TransferLog "D:/xampp/apache/logs/access.log"
Reinicie y sea feliz :)
fuente
Agregué la siguiente configuración a httpd.conf y reinicié el servicio lampp y comenzó a funcionar. Gracias a todas las publicaciones anteriores, que me ayudaron a resolver los problemas uno por uno.
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>
fuente
Simple, puede ver la plantilla a continuación y usarla en consecuencia. Es muy común crear un host virtual y muy simple. Seguramente la siguiente plantilla funcionará.
<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>
También para obtener más información sobre el host virtual, visite este sitio. http://www.thegeekstuff.com/2011/07/apache-virtual-host
Gracias,
fuente