Opciones para configurar Apache para tener en cuenta otras carpetas a pesar de / var / www

1

Estoy usando Ubuntu 12.10, y sé que si coloco un archivo php (index.php) debajo de / var/www, y lo visito localhost:80/index.php, funcionará bien.

Sin embargo, digamos que tengo varios proyectos en carpetas de pedidos en directorios como:

/home/myuser/Projects/Joomla

y

/home/myuser/Work/testphp

¿Cuáles son mis alternativas para que Apache pueda leer esas carpetas? Sé que tengo estas posibilidades:

  • Crear enlaces simbólicos (pero no he podido averiguar qué permisos / grupos debo configurar y por qué)

  • Agregue VirtualHosts (no he encontrado un recurso que explique cómo usar VirtualHosts para esta situación).

¿Alguien podría decirme cuáles son mis posibilidades y cuál es la mejor y por qué?

Hommer Smith
fuente
¿En qué URL desea que se pueda acceder a los archivos de esos otros directorios? Hay algunos métodos diferentes para usar, dependiendo de la respuesta a esa pregunta. ¿O es su problema que Apache ni siquiera puede acceder a los archivos y desea saber cómo establecer permisos para permitir que lo haga?
David Z
Hola, David Z. Es una pregunta conceptual, quiero saber cómo decirle a Apache que pueda acceder a todos los archivos de esas carpetas, son básicamente un proyecto de Joomla.
Hommer Smith
¿Qué quiere decir con "No he encontrado un recurso que explique cómo usar VirtualHosts"? ¿Quiere decir que no puede hacer llamadas con diferentes encabezados "Host:" o que no puede encontrar un ejemplo para diferentes VirtualHosts con diferentes DocumentRoots?
csikos.balint

Respuestas:

0

Sigue estos pasos:

1. Edite el archivo de configuración predeterminado:

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

y agregue esta línea:

DocumentRoot /home/myuser

2. Cree un nuevo archivo de configuración del sitio:

touch /etc/apache2/sites-available/yourSite.conf
vi /etc/apache2/sites-available/yourSite.conf

<VirtualHost *:80> 

ServerName Joomla
DocumentRoot /home/myuser/Projects/Joomla
    <Directory /home/myuser/Projects/Joomla>
            AllowOverride all
            Options all
    </Directory>

</VirtualHost>

3. Vuelva a cargar su servidor:

service apache2 reload

Puede acceder ahora poniendo Joomla en la URL. Si no funciona, debe crear el enlace simbólico:

ln -s /etc/apache2/sites-available/yourSite.conf /etc/apache2/sites-enabled/yourSite.conf
Manolo
fuente