¿Alguien sabe cómo cambiar la raíz del documento del servidor Apache? Básicamente quiero localhost
venir del /users/spencer/projects
directorio en lugar de /var/www
.
Editar
Terminé descubriéndolo. Algunos sugirieron que cambie el httpd.conf
archivo, pero terminamos encontrar un archivo en /etc/apache2/sites-available/default
y cambiaron el directorio raíz de /var/www
a /home/myusername/projects_folder
y que trabajaban.
Respuestas:
Necesita cambiar la
DocumentRoot
configuración en suhttpd.conf
archivo. Lo más probable es que esté debajo de algo como/etc/apache2/conf/httpd.conf
Use su editor favorito (recomiendo Vim ) y busque el
DocumentRoot
y cámbielo a/users/spencer/projects
. También busque un poco más abajo para una configuración que se vea así:También querrá cambiar lo que está entre comillas a su nuevo directorio. Esto le da acceso a Apache para leer desde ese directorio cuando un usuario realiza una solicitud que lo llama.
Ahora reinicie su servicio apache (
httpd -k restart
) y debería estar listo.Editar : los archivos de configuración del sitio Apache2 ahora generalmente se guardan en
/etc/apache2/sites-available/
(Debian, Ubuntu, etc.).fuente
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 estaba configurada en
/var/www/html
. Se configuró en el siguiente archivo:Así que solo haz un
y cambie la siguiente línea a lo que desea:
También hacer un
y encuentra esto
y cambio
/var/www/html
a tu directorio preferidoy guárdalo.
Después de guardar los cambios, simplemente reinicie el servidor web apache2 y habrá terminado :)
Si prefiere un editor de texto gráfico, puede reemplazarlo
sudo nano
por agksu gedit
.fuente
var/www/html
como raíz predeterminada. ¿Están realmente tratando de perder el tiempo de las personas? :)You don't have permission to access / on this server.
cuando llego a localhost: 80 en mi navegador. ¿Necesito cambiar el puerto?<Directory path_to_directory> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
/etc/apache2/apache2.confTuve que editar
/etc/apache2/sites-available/default
. Las líneas son las mismas que menciona RDL.fuente
.conf
al final, y por defecto tiene un000-
prefijo". El resultado es/etc/apache2/sites-available/000-default.conf
. No he probado esto, pero puede ayudar a algunas personas.Esto es para Ubunutu 14.04:
En el archivo
/etc/apache2/apache2.conf
debe ser como se muestra a continuación sin el nombre del directorio:y en el archivo
/etc/apache2/sites-available/000-default.conf
debe incluir el nombre del directorio personalizado, es decir, www:Si no es lo anterior, le dará un error al cargar el servidor:
Forbidden You don't have permission to access / on this server
fuente
La forma correcta de cambiar el directorio o ejecutar desde múltiples directorios bajo un puerto diferente para apache2 es la siguiente:
Para apache2, los archivos de configuración se encuentran debajo
/etc/apache2
y no usan un solo archivo de configuración como en versiones anteriores, sino que se dividen en archivos de configuración más pequeños,/etc/apache2/apache2.conf
siendo el archivo de configuración principal. Para servir archivos de un directorio diferente, necesitamos un nuevo archivo virtualhost conf. Los archivos conf de virtualhost se encuentran en/etc/apache2/sites-available
(no edite archivos dentro de sitios habilitados). El valor por defecto de Apache instalación utiliza el archivo conf host virtual000-default.conf
.Comience creando un nuevo archivo virtualhost copiando el archivo virtualhost 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 copiasudo cp 000-default.conf example.com.conf
, ahora edite el archivo porsudo gedit example.com.conf
:He eliminado las líneas no importantes del archivo anterior por brevedad. Aquí
DocumentRoot
está la ruta al directorio desde el que se van a servir los archivos del sitio web comoindex.html
.Cree el directorio desde el que desea servir los archivos, por ejemplo;
mkdir example.com
y cambie el propietario y el grupo predeterminado del directorio, por ejemplo, si su nombre de usuario conectado esubuntu
cambiar los permisos comosudo chown ubuntu:www-data example.com
. Esto otorga acceso completo al usuarioubuntu
y permite el acceso de lectura y ejecución al grupowww-data
.Ahora edite el archivo apache conf
/etc/apache2/apache2.conf
emitiendo un comandosudo gedit apache2.conf
y encuentre la línea<Directory /var/www/>
y debajo de la etiqueta de cierre</Directory>
, agregue lo siguiente a continuación:Ahora hay dos comandos para habilitar o deshabilitar los archivos de configuración de virtualhost, que son
a2ensite
ya2dissite
respectivamente. Ahora, dado que nuestroexample.com.conf
archivo usa el mismo puerto (80
) utilizado por el archivo de configuración predeterminado (000-default.conf
), tenemos que deshabilitar el archivo de configuración predeterminado emitiendo el comandosudo a2dissite 000-default.conf
y habilitar nuestro archivo de conf virtualhostsudo a2ensite example.com.conf
Ahora reinicie o vuelva a cargar el servidor con el comando
sudo service apache2 restart
. Ahora apache sirve archivos del directorioexample.com
enlocalhost
el puerto predeterminado de80
.los
a2ensite
comando básicamente crea un enlace simbólico al archivo conf en el directorio habilitado para el sitioNo edite archivos dentro de un directorio habilitado para sitios (o habilitado para *), como se señala en esta respuesta https://stackoverflow.com/a/41568701/2532763
Para cambiar el puerto y ejecutar desde múltiples 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 virtualhost como:
y editando
/etc/apache2/ports.conf
y agregandoListen 8080
justo debajo de la líneaListen 80
Ahora podemos habilitar el archivo conf virtualhost 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 desdelocalhost
ylocalhost:8080
fuente
Estaba trabajando con LAMP y para cambiar la carpeta raíz del documento, 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
Después de esto, si escribe localhost en el navegador, cargará el contenido * / home / username / new_root_folder * .
fuente
Si no pudiste encontrar
http.conf
y seguiste el camino de Nick.Reinicie Apache usando
sudo service apache2 restart
fuente
Para apache2 en Linux Mint 17.3 Cinnamon 64-bit, funciona lo siguiente:
En
/etc/apache2/sites-available/
abrir el000-default.conf
archivo y cambiar la raíz de documentos a la ruta absoluta del directorio.sudo vim /etc/apache2/sites-available/000-default.conf
En
/etc/apache2/
abiertohttpd.conf
, y agregue una<Directory>
etiqueta que haga referencia a su directorio y que contenga exactamente la misma configuración que la etiquetavar/www
.sudo vim /etc/apache2/apache2.conf
En mi máquina se veía así:
Nota: En el primer paso, es probable que desee cambiar la raíz del documento en el
default-ssl.conf
archivo también para fines SSL. Pero, por lo que puedo decir, esto no es necesario para ejecutar un entorno de desarrollo general.fuente
En la versión 2.4.18 de apache (Ubuntu).
1. vaya a este archivo /etc/apache2/apache2.conf busque
<Directory /var/www/>
y reemplace su directorio ......2. vaya a /etc/apache2/sites-available/000-default.conf busque
DocumentRoot /var/www/html
y reemplace su DocumentRoot ...fuente
En caso de que estés usando Ubuntu 16.04. Actualice 000-default.conf en el directorio / etc / apache2 / sites-available.
aquí -> ServerAdmin webmaster @ localhost DocumentRoot / var / www / html / YourFolder
fuente
Hice
/var/www
que fuera un enlace suave al directorio requerido (p. Ej./users/username/projects
) y las cosas estaban bien después de eso.Sin embargo, naturalmente, el original
/var/www
debe eliminarse o cambiarse de nombre.fuente
Si alguien ha instalado
LAMP
en la/opt
carpeta, entonces el/etc/apache2
no es lo que está buscando.Busque el
httpd.conf
archivo en/opt/lampp/etc/httpd.conf
.Cambie la línea en esta carpeta y guárdela desde la terminal.
fuente
En RedHat 7.0:
/etc/httpd/conf/httpd.conf
fuente
Si está utilizando Linux Mint (opinión personal, de todas las distribuciones, esta me está haciendo feliz), siga esto:
1- Vaya a / etc / apache2 / sites-available y edite 000-default.conf 2- Busque DocumentRoot, por ejemplo DocumentRoot / var / www / html que cambie a su directorio respectivo; 3- Abra la terminal y escriba: sudo service apache2 restart
EDITADO ----- Me doy cuenta de que en Mint vas a /etc/apache2/apache.conf, reemplazas / var / www en tu ruta respectiva, que reinicias el servidor (paso 3).
Eso es.
fuente
Se aplica a Ubuntu 14.04 y versiones posteriores. Asegúrese de hacer una copia de seguridad de los siguientes archivos antes de realizar cualquier cambio.
1.Abra
/etc/apache2/apache2.conf
y busque la<Directory /var/www/>
directiva 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 laDocumentRoot
propiedad de valor de/var/www/html
a/home/<USERNAME>/public_html
. También<Directory /var/www/html>
a<Directory /home/<USERNAME>/public_html
.3.Abierto
/etc/mods-available/php7.1.conf
. Encuentra y comenta el siguiente códigoNo encienda
php_admin_flag engine OFF
bandera ya que la razón se menciona en el comentario arriba del código de la Directiva. También la versión php puede ser 5.0, 7.0 o cualquier cosa que haya instalado.Crear
public_html
directorio enhome/<USERNAME>
.Reinicie el servicio apache ejecutando el comando
sudo service apache2 restart
.Pruebe ejecutando un script de muestra en el servidor.
fuente
Si está (como yo) encontrando esta publicación a través de Google:
Lo encontré en /etc/apache2/sites-available/000-default.conf
fuente