apache apache-config ubuntu-13.10

Host virtual en ubuntu 13.10 y apache 2.4.6



apache-config ubuntu-13.10 (8)

Ejecutar:
vim se puede cambiar con su editor de texto favorito como nano, pico y etc.

vim /etc/apache2/apache2.conf

Archivo original:

# Sets the default security model of the Apache2 HTTPD server. It does # not allow access to the root filesystem outside of /usr/share and /var/www. # The former is used by web applications packaged in Debian, # the latter may be used for local directories served by the web server. If # your system is serving content from a sub-directory in /srv you must allow # access here, or in any related virtual host. <Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory> <Directory /usr/share/> AllowOverride None Require all granted </Directory> <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>

Cambiar ninguno a todos

Editar archivo:

# Sets the default security model of the Apache2 HTTPD server. It does # not allow access to the root filesystem outside of /usr/share and /var/www. # The former is used by web applications packaged in Debian, # the latter may be used for local directories served by the web server. If # your system is serving content from a sub-directory in /srv you must allow # access here, or in any related virtual host. <Directory /> Options FollowSymLinks AllowOverride All Require all denied </Directory> <Directory /usr/share/> AllowOverride All Require all granted </Directory> <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>

tengo el siguiente problema
Mi archivo de hosts es el siguiente:

127.0.0.1 localhost 127.0.1.1 barbala4o-HP-ProBook-4530s 127.0.1.1 mysite.localhost

Mi archivo en /etc/apache2/sites-available/mysite.localhost.conf es el siguiente:

<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName mysite.localhost DocumentRoot /var/www/mysite <Directory /var/www/mysite/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog /var/log/apache2/mysite-error.log CustomLog /var/log/apache2/mysite-access.log common </VirtualHost>

Después de hacer sudo a2ensite mysite.localhost.conf y reiniciar apache en mysite.localhost / y solo en localhost obtengo lo siguiente (como incluir un directorio sin un archivo de índice):

Index of / [ICO] Name Last modified Size Description [DIR] apache_logs/ 2013-09-24 10:15 - [DIR] mysql/ 2013-10-22 10:05 - [DIR] tools/ 2013-10-22 10:05

Y en cualquier otra carpeta en el directorio /var/www/ como prueba cuando ingreso localhost/test lugar de cargar el archivo index.php , se muestra:

Not Found The requested URL /adlantic was not found on this server. Apache/2.4.6 (Ubuntu) Server at localhost Port 80

Si hago sudo a2dissite mysite.conf y reinicio apache todo se carga correctamente. Supongo que el problema está en algún lugar del mysite.localhost.conf pero no puedo encontrar dónde. ¿Algunas ideas? 10x


Encontré el problema después de 3 horas de experimentar. Aparentemente en el nuevo Ubuntu 13.10 por alguna estúpida razón, el archivo conf para el host virtual tiene que parecerse a esto:

<VirtualHost mysite.localhost> ServerAdmin [email protected] ServerName mysite.localhost ServerAlias mysite.localhost # Indexes + Directory Root. DocumentRoot /var/www/mysite/public_html <Directory /var/www/mysite/public_html/> DirectoryIndex index.php Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> # Logfiles ErrorLog /var/log/apache2/mysite-error.log CustomLog /var/log/apache2/mysite-access.log common </VirtualHost>

Aparentemente los tipos que desarrollaron Ubuntu 13.10 decidieron que ya no es valioso usar

<VirtualHost *:80>

al hacer un host virtual y en su lugar tiene que ser

<VirtualHost mysite.localhost>

mezclado con especificar específicamente DirectoryIndex. Esto solucionó el problema que tenía y ahora las cosas están funcionando (con suerte, como deberían, eventualmente puede aparecer algo) Aparentemente, el archivo de configuración de apache es diferente.


Para Apache 2.4.6 en Ubuntu 13.10 ,

Usted tendrá

/etc/apache2/apache2.conf /etc/apache2/sites-available/000-default.conf

Y

/etc/apache2/sites-enabled/000-default.conf apunta a /etc/apache2/sites-available/000-default.conf

Ahora, edite apache2.conf y agregue

<Directory /home/my_site/public_html/> #YOUR SETTINGS </Directory>

y edite sites-available/000-default.conf y cambie <VirtualHost *:80> a <VirtualHost localhost:80> para hacer que apache escuche localhost (en el puerto 80) para su configuración predeterminada.

Ahora para hacer que mysite.localhost funcione, mysite.localhost a sites-available/000-default.conf

<VirtualHost mysite.localhost:80> ServerName mysite.localhost ServerAdmin [email protected] DocumentRoot /home/my_new_site_public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

Ahora edite su /etc/hosts/ y cambie la IP de mysite.localhost de 127.0.1.1 a 127.0.0.1

Ahora visite http://mysite.localhost y http://localhost

:)


Para Kubuntu 14.04 y Apache 2.4.7

Después de probar las sugerencias anteriores, y aún toparse con problemas de permisos, un "chmod 755 $ HOME" funcionó para mí. No debe ser utilizado en un sistema multiusuario.


Solo una nota para las personas que se quitan el pelo sobre este tema, tendrás que usar sudo para que todas estas configuraciones tengan lugar si estás usando una instancia de AWS.

sudo a2ensite example.com

Tenga en cuenta que necesita hacer esto incluso para reiniciar apache. Si no ve sus cambios teniendo lugar, este es probablemente el culpable.

sudo service apache2 restart


Tuve un problema similar, pero ninguna de estas publicaciones anteriores funcionó para mí. Más tarde, leí y revisé todos y cada uno de los archivos de configuración de Apache y PHP.

Podría descubrir que en apache2.conf (en ubuntu 13.10) hay una bandera llamada

HostnameLookups off

Por defecto esto se desactivará, cambié esto a

HostnameLookups on

Al hacerlo, Apache comenzó a conectar mis entradas de host y vhost config bien.

También a continuación está mi archivo Vhost real. que solía hacerlo funcionar

Por supuesto, también recomiendo agregar Require all granted en la directiva Vhost.

<VirtualHost *:80> ServerName test.yoursite.domain.in DocumentRoot path_to_code_base/public <Directory path_to_code_base/public> Options -Indexes Require all granted DirectoryIndex index.php AllowOverride All </Directory> ErrorLog /path_to_code_base/logs/error.log LogLevel warn CustomLog /path_to_code_base/logs/access.log combined </VirtualHost>

Estoy publicando esto para ayudar a otros que no quieren perder tiempo en degradar Ubuntu a 13.04 desde 13.10.

Sí, no veo esto en ningún blog, tampoco pude entender cuál es realmente el significado de hostnameLookups.

Espero que esto ayude .


Ubuntu 13.10 y las variantes se han movido a Apache 2.4. Apache 2.4 quiere que los archivos de configuración de host virtual habilitados terminen en .conf de manera predeterminada.

Solución

Ahora, para corregir este problema, hay dos métodos que puede usar para lograr el mismo resultado.

  1. La primera solución y la solución simple es agregar una extensión .conf a todo su host virtual. El nuevo Apache 2.4 lee cada host virtual en el directorio de sitios disponibles con la extensión .conf delineada en el nuevo archivo de configuración de Apache 2.4.

  2. La segunda solución es eliminar la extensión .conf en el archivo de configuración de Apache 2.4 ubicado en /etc/apache2/apache2.conf

En el antiguo archivo Apache 2.2, el archivo .conf tenía un Incluir sitios habilitados / mientras que el nuevo archivo .conf tiene

# Include the virtual host configurations: IncludeOptional sites-enabled/*.conf

Cambia esa línea para leer:

# Include the virtual host configurations: IncludeOptional sites-enabled/

Los resultados: el comando a2ensite yourdomain ahora se ejecuta como se esperaba. Si estás usando el segundo método; sus archivos de host virtual no necesitan tener la extensión .conf.

Note: Configuration file is "/etc/apache2/apache2.conf" in new Apache, so please copy document root path and other configurations from "/etc/apache2/sites-available/000-default.conf" to "/etc/apache2/apache2.conf"


<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName mysite.localhost DocumentRoot /var/www/mysite <Directory /var/www/mysite/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog /var/log/apache2/mysite-error.log CustomLog /var/log/apache2/mysite-access.log common </VirtualHost>

En mi caso, acabo de reemplazar <VirtualHost *:80> a <VirtualHost mysite.localhost:80> después de mucho ensayo y error

Espero que esto ayude.

Saludos,