styde por mac hacer dominio configurar como cambiar php apache zend-framework xampp virtualhost

php - por - Cómo crear un host virtual en XAMPP



virtual host xampp mac (15)

Estoy seguro de que esta pregunta se hace muchas veces, pero no encuentro ningún problema. Estoy usando XAMPP donde configuro el marco Zend.

XAMPP se ejecuta en el puerto 8081 ya que 80 está 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 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


El problema con xampp en mi caso es cuando se especifica una carpeta diferente que no sea htdocs, especialmente con múltiples dominios y carpetas dedicadas. Esto se debe a que httpd-ssl.conf también hace referencia a <VirtualHost> .

Para hacer esto, rem toda la entrada <VirtualHost> en httpd-ssl.conf

A partir de ahí, cualquier configuración que realice en su httpd-vhosts.conf se actualizará como se esperaba tanto en las referencias http como en las https .


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 localhost para tener la posibilidad de ejecutar phpmyadmin y otro proyecto al mismo tiempo en el puerto 80, como ejemplo 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>

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

quizás la primera vez que deba agregar así:

http://store.local or http://www.store.local

para usar otros puertos, debe agregar los siguientes, antes de su VirtualHost:

Listen 8081 or another which you prefer

luego use el puerto para su VirtualHost de esta manera:

<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


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 notepad como administrador

agregar al final del archivo

127.0.0.1 www.siteurl.com


He agregado la configuración a continuació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>


Llego un poco tarde a la fiesta, pero escribí este pequeño script bash para Mac que crea un VirtualHost a través del 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 vhost (nombre del servidor y raíz del documento), pero hace el trabajo mucho más rápido 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.


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>


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>


Simplemente cambie el puerto a 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>


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 puede intentar ejecutar el comando:

service apache2 configtest

Esto le dirá cuándo tiene una configuración mal formada y tal vez incluso le diga dónde está el problema.

Además, ayuda a evitar la indisponibilidad en un sistema LIVE:

service apache2 restart

se apagará y luego no se iniciará, esta prueba de configuración lo sabe de antemano "¡Uy, hice algo mal, debería solucionar esto primero" pero el apache en sí sigue funcionando con la configuración anterior. :)


documentation Apache Virtual Host La configuración de un host virtual (vhost) proporciona varios beneficios:

  • Los hosts virtuales hacen que las URL sean más limpias: localhost / mysite vs mysite.local.
  • Los hosts virtuales facilitan los permisos: restrinja el acceso para un solo vhost en una red local en lugar de permitir el acceso a todos los sitios en su red local.
  • Algunas aplicaciones requieren un "." En la URL (ejem Magento). Si bien puede configurar localhost.com/mysite editando el archivo de hosts de Windows, crear un vhost es una mejor solución.

Directiva VirtualHost Contiene directivas que se aplican solo a un nombre de host específico o dirección IP

Directiva de ubicación Aplica las directivas adjuntas solo a las URL coincidentes

Example cambios 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 [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>

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

  • Concepto de seguridad XAMPP - Error 403.404
  • Apache VirtualHost y localhost

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.

C:/Windows/System32/drivers/etc/hosts

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


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 de configuración complementaria al final, y ubique la siguiente sección (alrededor de la línea 500). Elimine el # del comienzo 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


Simple, puede ver la plantilla a continuación y usarla en consecuencia. Es muy común crear un host virtual y muy simple. Seguramente debajo de la 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,


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


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