por - directorio apache linux
¿Cómo cambio el directorio raíz de un servidor apache? (17)
¿Alguien sabe cómo cambiar la raíz del documento del servidor Apache? Básicamente quiero que localhost
provenga del directorio /users/spencer/projects
lugar de /var/www
.
Editar
Terminé descubriéndolo. Algunos sugirieron que cambiara el archivo httpd.conf
, pero terminé encontrando un archivo en /etc/apache2/sites-available/default
y cambié el directorio raíz de /var/www
a /home/myusername/projects_folder
y eso funcionó.
Debe cambiar la configuración de DocumentRoot
en su archivo httpd.conf
. Lo más probable es que esté bajo algo como /etc/apache2/conf/httpd.conf
Use su editor favorito (recomiendo Vim ) y busque DocumentRoot
y cámbielo a /users/spencer/projects
. También busque un poco más abajo para una configuración que se parece a esto:
<Directory "/var/www">
También querrá cambiar lo que está en las citas a su nuevo directorio. Esto le da a Apache acceso para leer desde ese directorio cuando un usuario realiza una solicitud para llamarle.
Ahora reinicia tu servicio de apache ( httpd -k restart
) y deberías estar listo.
Edición : los archivos de configuración del sitio de Apache2 normalmente se guardan en /etc/apache2/sites-available/
(Debian, Ubuntu, etc.).
En RedHat 7.0: /etc/httpd/conf/httpd.conf
En caso de que esté utilizando Ubuntu 16.04. Actualice el archivo 000-default.conf en el directorio / etc / apache2 / sites-available.
aquí -> ServerAdmin webmaster @ localhost DocumentRoot / var / www / html / YourFolder
En la versión apache 2.4.18 (Ubuntu).
1. Vaya a este archivo /etc/apache2/apache2.conf busque <Directory /var/www/>
y sustitúyalo por su directorio ......
2. Vaya a /etc/apache2/sites-available/000-default.conf busque DocumentRoot /var/www/html
y sustitúyalo por su DocumentRoot ...
En lugar de cambiar el directorio predeterminado de su servidor web, puede crear un Alias
.
Por lo tanto tienes que crear dos archivos:
- uno en
/etc/apache2/sites-available/
y - uno en
/etc/apache2/sites-enabled/
Llámelos a ambos como example.conf
e inserte en ambos archivos Alias <where you want to access (eg. /example)> "<your files directory (eg. /home/user/host/example)>"
Entonces deberías poder acceder a él con //localhost/example
.
EDITAR:
Tal vez olvidé mencionar algunas órdenes porque las olvido: P
o debe editar las autorizaciones de la carpeta / archivo al que intenta acceder.
Estaba trabajando con LAMP y para cambiar la carpeta de raíz de documentos, he editado el archivo predeterminado que está en la carpeta / etc / apache2 / sites-available . Si quieres hacer lo mismo solo edita de la siguiente manera
DocumentRoot /home/username/new_root_folder
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/username/new_root_folder>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Después de esto, si escribe localhost en el navegador, se cargará el contenido * / home / username / new_root_folder * .
Esto es para Ubunutu 14.04:
En el archivo /etc/apache2/apache2.conf
debería ser como se muestra a continuación sin el nombre del directorio:
<Directory /home/username>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
y en el archivo /etc/apache2/sites-available/000-default.conf
debe incluir el nombre del directorio personalizado, es decir, www:
DocumentRoot /home/username/www
Si no es como el anterior, le dará un error al cargar el servidor: Forbidden You don''t have permission to access / on this server
Hice que /var/www
fuera un enlace flexible al directorio requerido (por ejemplo, /users/username/projects
) y las cosas estaban bien después de eso.
Sin embargo, naturalmente, el original /var/www
necesita ser borrado, o renombrado.
La forma correcta de cambiar el directorio o ejecutar desde varios directorios bajo un puerto diferente para apache2 es la siguiente:
Para apache2, los archivos de configuración se encuentran en /etc/apache2
y no usan un solo archivo de configuración como en versiones anteriores, pero se dividen en archivos de configuración más pequeños, con /etc/apache2/apache2.conf
como el archivo de configuración principal. Para servir archivos desde un directorio diferente, necesitamos un nuevo archivo de configuración de host virtual. Los archivos de configuración de host virtual se encuentran en /etc/apache2/sites-available
(no edite archivos dentro de sites habilitados). La instalación predeterminada de apache usa el archivo conf de virtualhost 000-default.conf
.
Comience por crear un nuevo archivo de host virtual copiando el archivo de host virtual predeterminado utilizado por la instalación predeterminada de apache (el que se ejecuta en localhost en el puerto 80). Cambie al directorio /etc/apache2/sites-available
y luego haga una copia con sudo cp 000-default.conf example.com.conf
, ahora edite el archivo con sudo gedit example.com.conf
para:
<VirtualHost *:80>
ServerAdmin example@localhost
DocumentRoot /home/ubuntu/example.com
</VirtualHost>
He eliminado las líneas no importantes del archivo de arriba por brevedad. Aquí DocumentRoot
es la ruta al directorio desde el cual se servirán los archivos del sitio web, como index.html
.
Cree el directorio desde el que desea servir los archivos, por ejemplo; mkdir example.com
y cambio de propietario y grupo predeterminado del directorio, por ejemplo, si su nombre de usuario registrado es ubuntu
cambie los permisos como sudo chown ubuntu:www-data example.com
. Esto otorga acceso completo al usuario ubuntu
y permite el acceso de lectura y ejecución al grupo www-data
.
Ahora edite el archivo de /etc/apache2/apache2.conf
apache /etc/apache2/apache2.conf
emitiendo el comando sudo gedit apache2.conf
y busque la línea <Directory /var/www/>
y debajo de la etiqueta de cierre </Directory>
, agregue lo siguiente a continuación:
<Directory /home/ubuntu/example.com>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
Ahora hay dos comandos para habilitar o deshabilitar los archivos de configuración de host virtual, que son a2ensite
y a2dissite
respectivamente. Ahora, ya que nuestro archivo example.com.conf
usa el mismo puerto ( 80
) que el archivo de configuración predeterminado ( 000-default.conf
), tenemos que deshabilitar el archivo de configuración predeterminado emitiendo el comando sudo a2dissite 000-default.conf
y habilite nuestro archivo de sudo a2ensite example.com.conf
mediante sudo a2ensite example.com.conf
Ahora reinicie o vuelva a cargar el servidor con el comando sudo service apache2 restart
. Ahora apache sirve los archivos del directorio example.com
en localhost
en el puerto predeterminado de 80
.
El comando a2ensite
básicamente crea un enlace simbólico al archivo conf bajo el directorio habilitado para el sitio
No edite archivos dentro de directoy habilitado para sitios (o habilitado con *), como se indica en esta respuesta https://.com/a/41568701/2532763
Para cambiar el puerto y ejecutar desde varios directorios en diferentes puertos:
Ahora, si necesita ejecutar el directorio en un puerto diferente, cambie el número de puerto de 80 a 8080 editando el archivo de host virtual como:
<VirtualHost *:8080>
ServerAdmin user@localhost
DocumentRoot /home/ubuntu/work
</VirtualHost>
y editando /etc/apache2/ports.conf
y agregando Listen 8080
justo debajo de la línea Listen 80
Ahora podemos habilitar el archivo de configuración de host virtual predeterminado que se ejecuta en el puerto 80 ya que el directorio example.com usa el puerto 8080, como sudo a2ensite 000-default.conf
Ahora reinicie o vuelva a cargar el servidor con el comando sudo service apache2 restart
. Ahora se puede acceder a ambos directorios desde localhost
y localhost:8080
Para apache2 en Linux Mint 17.3 Cinnamon 64-bit los siguientes trabajos:
En
/etc/apache2/sites-available/
abra el archivo000-default.conf
, y cambie la raíz de documentos a la ruta absoluta de su directorio.sudo vim /etc/apache2/sites-available/000-default.conf
En
/etc/apache2/
abrahttpd.conf
, y agregue una etiqueta<Directory>
haga referencia a su directorio y que contenga exactamente la misma configuración que la etiqueta paravar/www
.sudo vim /etc/apache2/apache2.conf
En mi máquina se veía así:
<Directory /home/my_user_name/php/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Nota: en el primer paso, es probable que desee cambiar la raíz de documentos en el archivo default-ssl.conf
también para fines de SSL. Pero por lo que puedo decir, esto no es necesario para que se ejecute un entorno de desarrollo general.
Se aplica a Ubuntu 14.04 y versiones posteriores. Asegúrese de realizar una copia de seguridad de los siguientes archivos antes de realizar cambios.
1. /etc/apache2/apache2.conf
y busque la <Directory /var/www/>
y reemplace la ruta con /home/<USERNAME>/public_html
. Puedes usar * en lugar de.
2. Abra /etc/apache2/sites-available/000-default.conf
y reemplace DocumentRoot
propiedad de valor DocumentRoot
de /var/www/html
a /home/<USERNAME>/public_html
. También <Directory /var/www/html>
a <Directory /home/<USERNAME>/public_html
.
3.Abra /etc/mods-available/php7.1.conf
. Encuentra y comenta el siguiente código
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine Off
</Directory>
</IfModule>
No encienda el indicador de php_admin_flag engine OFF
ya que la razón se menciona en el comentario anterior Código de directiva. También la versión php puede ser 5.0, 7.0 o cualquier cosa que haya instalado.
Cree el directorio public_html
en la página de home/<USERNAME>
.
Reinicie el servicio de apache ejecutando el comando sudo service apache2 restart
.
Prueba ejecutando script de ejemplo en el servidor.
Si alguien ha instalado LAMP
en la carpeta /opt
entonces /etc/apache2
no es lo que está buscando.
Busque el archivo httpd.conf
en /opt/lampp/etc/httpd.conf
.
Cambie la línea en esta carpeta y guárdela desde el terminal.
Si estás (como yo) encontrando esta publicación a través de Google:
Lo encontré en /etc/apache2/sites-available/000-default.conf
Si estás usando Linux Mint (opinión personal, de todas las distribuciones, esta me está haciendo feliz), sigue esto:
1- Vaya a / etc / apache2 / sites-available y edite 000-default.conf 2- Busque DocumentRoot, ejemplo DocumentRoot / var / www / html que cambia a su directorio respectivo; 3- Abre el terminal y escribe: sudo service apache2 restart
EDITADO ----- Me doy cuenta de que en Mint, vaya a /etc/apache2/apache.conf, reemplace / var / www a su ruta respectiva, luego reinicie el servidor (paso 3).
Eso es.
Si no podías encontrar http.conf
y http.conf
el camino de Nick.
Reinicie Apache usando sudo service apache2 restart
Tuve que editar /etc/apache2/sites-available/default
. Las líneas son las mismas que las mencionadas por RDL.
Tenga en cuenta que esto solo se aplica a Ubuntu 14.04 LTS y versiones más recientes.
En mi Ubuntu 14.04 LTS, la raíz del documento se estableció en /var/www/html
. Se configuró en el siguiente archivo:
/etc/apache2/sites-available/000-default.conf
Así que solo haz un
sudo nano /etc/apache2/sites-available/000-default.conf
y cambia la siguiente línea a lo que quieras:
DocumentRoot /var/www/html
Tambien hacer un
sudo nano /etc/apache2/apache2.conf
y encontrar esto
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
y cambie /var/www/html
a su directorio preferido
y guárdalo.
Después de guardar los cambios, simplemente reinicie el servidor web apache2 y habrá terminado :)
sudo service apache2 restart
Si prefiere un editor de texto gráfico, simplemente puede reemplazar el sudo nano
por un gksu gedit
.