¿Cómo creo páginas web en mi directorio de inicio y hago que el servidor web las sirva en mi navegador web?

9

Recientemente instalé el navegador web Apache en mi Debian Squeeze (usando el comando tasksely seleccionando [ ] Web server). Ahora lo entiendo para iniciar a través sudo /etc/init.d/apache2 starty luego voy a mi navegador y teclear http://localhosty el " funciona! " Página muestra indicando que he instalado e iniciado el servidor web con éxito.

Ahora sé que el archivo HTML para la página " ¡Funciona! " Está dentro /var/wwwy creo que si creo nuevas páginas, necesito insertarlas en este directorio. Crear páginas sería fácil, pero al hacerlo, necesito emitir el sudocomando cada vez que creo / edito un archivo en el /var/wwwdirectorio.

Me gustaría saber cómo puedo crear un directorio en mi INICIO, por ejemplo, ¿ ~/html/test/index.htmly mostrar esa página cuando ingreso la dirección http://localhost/html/testen la dirección de mi navegador?

Eric
fuente

Respuestas:

6

Como dijo Ulrich, puede hacer esto habilitando el userdirmódulo.

En Debian, esto se puede hacer utilizando la a2enmodutilidad, que habilita o deshabilita los módulos Apache. Ver man a2enmod.

En este caso, solo necesitas correr

sudo a2enmod userdir

y luego reinicie el servidor Apache para que el cambio surta efecto. Tenga en cuenta que el módulo userdir está en Apache base, por lo que no tiene que instalar nada adicional. Como referencia, la configuración de userdir está en /etc/apache2/mods-available/userdir.conf.

Todo lo que a2enmodestá haciendo aquí es crear un enlace simbólico desde el /etc/apache2/mods-enableddirectorio a los archivos /etc/apache2/mods-available/{userdir.conf/userdir.load}. También puedes hacer esto manualmente. Es decir

faheem@orwell:/etc/apache2/mods-enabled$ ls -la userdir.*
lrwxrwxrwx 1 root root 30 Feb  6 03:11 userdir.conf -> ../mods-available/userdir.conf
lrwxrwxrwx 1 root root 30 Feb  6 03:11 userdir.load -> ../mods-available/userdir.load

Luego, coloque todas las cosas web que desee que estén disponibles ~/public_html, y luego debería ser accesible desde http://servername/~username.

Faheem Mitha
fuente
1
Aunque Ulrich responde más o menos lo mismo, marqué esto como la respuesta porque es más detallado.
Eric
6

Probablemente esté buscando mod_userdir : "Este módulo permite acceder a directorios específicos del usuario utilizando la sintaxis http://example.com/~user/ ".

No tenga miedo de jugar con la configuración, solo haga copias de seguridad de los archivos de configuración y asegúrese de que su firewall bloquee su apache en el mundo exterior.

Ulrich Schwarz
fuente
1
Gracias @ Ulrich Schwarz, creo que esto es lo que necesito. Entonces, ¿cómo configuro esto? Todavía no estoy muy familiarizado con Apache (solo lo instalé ahora) y no sé cómo proceder con su sugerencia.
Eric
2

Personalmente, he usado enlaces simbólicos , dependiendo del proyecto, ya sea para tener un enlace dentro /var/www/o para /var/wwwser un enlace a una de las carpetas en el directorio de inicio de la mina (por ejemplo:) ~/projects/www. De esa manera puedo deshacerme del personaje "~". A veces también es útil para mí, cuando quiero mostrar algo a otro espectador (a través de algo como:) http://253.153.87.231/page.html, y uno no está tan familiarizado con el teclado, por lo que simplemente no pudo encontrar el símbolo "~" en el teclado (- como buscar la clave etiquetada "cualquiera") .

Faheem y Ulrich probablemente te cuenten la mejor y más comúnmente recomendada respuesta de todos modos (al menos, cuando se trata de seguridad).

Janar
fuente
Esto es lo que quiero hacer, ¿funciona bien? ¿Puedes dar la sintaxis para crear esos enlaces?
Menasheh
0

Ahora puede hacer esto cambiando la raíz web, pero realmente no quiere hacerlo, y he aquí por qué:

Si un atacante encuentra una vulnerabilidad en Apache, o en su código, puede obtener acceso a la raíz web. Que es donde están todas tus cosas ...

La raíz web generalmente está protegida, con controles para detener a los atacantes. Su casa, posiblemente no tan bien asegurada.

Rory Alsop
fuente