Come faccio a creare pagine Web nella mia directory home e il server Web le serve nel mio browser Web?


9

Ho recentemente installato il browser Web Apache nel mio Debian Squeeze (usando il comando tasksele selezionando [ ] Web server). Ora riesco ad avviarlo tramite sudo /etc/init.d/apache2 starte poi vado sul mio browser e digito http://localhoste viene visualizzata la pagina " Funziona! " Che indica che ho installato e avviato il server Web con successo.

Ora so che il file HTML per la pagina " Funziona! " È dentro /var/wwwe sono portato a credere che se creo nuove pagine, devo inserirle in questa directory. Creare pagine sarebbe facile ma, nel fare ciò, devo emettere il sudocomando ogni volta che creo / modifico un file nella /var/wwwdirectory.

Vorrei sapere come posso creare una directory nella mia HOME, ad es. ~/html/test/index.htmlE avere quella pagina visualizzata quando inserisco l'indirizzo http://localhost/html/testnel mio indirizzo del browser?

Risposte:


6

Come ha detto Ulrich, puoi farlo abilitando il userdirmodulo.

Su Debian, questo può essere fatto usando l' a2enmodutility, che abilita o disabilita i moduli Apache. Vedere man a2enmod.

In questo caso, devi solo correre

sudo a2enmod userdir

e quindi riavviare il server Apache per rendere effettive le modifiche. Si noti che il modulo userdir è in Apache di base, quindi non è necessario installare nulla in più. Per riferimento la configurazione userdir è in /etc/apache2/mods-available/userdir.conf.

a2enmodQui tutto ciò che sta facendo è creare un collegamento simbolico dalla /etc/apache2/mods-enableddirectory ai file /etc/apache2/mods-available/{userdir.conf/userdir.load}. Puoi anche farlo manualmente. ie

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

Quindi metti qualsiasi materiale web che vuoi rendere disponibile sotto ~/public_html, e quindi dovrebbe essere accessibile da http://servername/~username.


1
Sebbene la risposta di Ulrich sia più o meno la stessa, l'ho contrassegnata come risposta perché è più dettagliata.
Eric,

6

Probabilmente stai cercando mod_userdir : "Questo modulo consente di accedere a directory specifiche dell'utente utilizzando la http://example.com/~user/ sintassi."

Non aver paura di armeggiare con la configurazione, fai solo un backup dei file di configurazione e assicurati che il tuo firewall blocchi l'apache sul mondo esterno.


1
Grazie @Ulrich Schwarz, penso che questo sia ciò di cui ho bisogno. Quindi, come posso impostarlo? Non ho ancora molta familiarità con Apache (installato solo ora) e non so come procedere con il tuo suggerimento.
Eric

2

Personalmente ho usato i link simbolici , a seconda del progetto per avere un link all'interno /var/www/o /var/wwwessere esso stesso link a una delle cartelle nella mia home directory (ad esempio:) ~/projects/www. In questo modo posso liberarmi del carattere "~". A volte è anche utile per me, quando voglio mostrare qualcosa ad un altro visualizzatore (tramite qualcosa del tipo:) http://253.153.87.231/page.html, e non ho familiarità con la tastiera, quindi non è riuscito a trovare il simbolo "~" dalla tastiera (- un po 'come cercare la chiave etichettata "qualsiasi") .

Faheem e Ulrich probabilmente ti danno già la risposta migliore e più comunemente raccomandata (almeno, quando si tratta di sicurezza).


Questo è quello che voglio fare, funziona bene? Puoi dare la sintassi per creare quei collegamenti?
Menasheh,

0

Ora puoi farlo cambiando la radice del web, ma davvero non vuoi, ed ecco perché:

Se un utente malintenzionato rileva una vulnerabilità in Apache o nel tuo codice, potrebbe essere in grado di accedere alla radice Web. Ecco dove sono tutte le tue cose ...

Il Web root è in genere protetto, con controlli per impedire lo scoppio degli aggressori. La tua casa, forse non così ben protetta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.