Comment créer des pages Web dans mon répertoire personnel et demander au serveur Web de les servir dans mon navigateur Web?

9

J'ai récemment installé le navigateur Web Apache dans mon Debian Squeeze (en utilisant la commande taskselet en sélectionnant [ ] Web server). Maintenant, je le lance via sudo /etc/init.d/apache2 startpuis je vais dans mon navigateur et je saisis et http://localhostla page " Ça marche! " Apparaît indiquant que j'ai installé et démarré le serveur Web avec succès.

Maintenant, je sais que le fichier HTML de la page " Ça marche! " Est dans /var/wwwet je suis amené à croire que si je crée de nouvelles pages, je dois les bourrer dans ce répertoire. La création de pages serait facile mais ce faisant, je dois lancer la sudocommande à chaque fois que je crée / édite un fichier sous le /var/wwwrépertoire.

Je voudrais savoir comment créer un répertoire dans mon HOME, par exemple ~/html/test/index.htmlet afficher cette page lorsque j'entre l'adresse http://localhost/html/testdans l'adresse de mon navigateur?

Eric
la source

Réponses:

6

Comme l'a dit Ulrich, vous pouvez le faire en activant le userdirmodule.

Sur Debian, cela peut être fait en utilisant l' a2enmodutilitaire, qui active ou désactive les modules Apache. Tu vois man a2enmod.

Dans ce cas, il vous suffit d'exécuter

sudo a2enmod userdir

puis redémarrez le serveur Apache pour que la modification prenne effet. Notez que le module userdir est dans la base Apache, donc vous n'avez rien à installer de plus. Pour référence, la configuration userdir est dans /etc/apache2/mods-available/userdir.conf.

Tout a2enmodce que vous faites ici est de créer un lien symbolique du /etc/apache2/mods-enabledrépertoire vers les fichiers /etc/apache2/mods-available/{userdir.conf/userdir.load}. Vous pouvez également le faire manuellement. C'est à dire

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

Ensuite, mettez tout ce que vous voulez rendre disponible sur le Web ~/public_html, et il devrait être accessible à partir de http://servername/~username.

Faheem Mitha
la source
1
Bien qu'Ulrich réponde à peu près de la même manière que celle-ci, je l'ai cochée comme réponse car elle est plus détaillée.
Eric
6

Vous recherchez probablement mod_userdir : "Ce module permet d'accéder aux répertoires spécifiques à l'utilisateur à l'aide de la syntaxe http://example.com/~user/ ."

N'ayez pas peur de jouer avec la configuration, ayez simplement des sauvegardes des fichiers de configuration et assurez-vous que votre pare-feu bloque votre apache vers le monde extérieur.

Ulrich Schwarz
la source
1
Merci @Ulrich Schwarz, je pense que c'est ce dont j'ai besoin. Alors, comment puis-je configurer cela? Je ne connais pas encore très bien Apache (je ne l'ai installé que maintenant) et je ne sais pas comment procéder avec votre suggestion.
Eric
2

Personnellement, j'ai utilisé des liens symboliques , selon le projet, pour avoir un lien à l'intérieur /var/www/ou /var/wwwêtre lui - même un lien vers l'un des dossiers dans le répertoire personnel du mien (par exemple:) ~/projects/www. De cette façon, je peux me débarrasser du caractère "~". Parfois, c'est aussi utile pour moi, quand je veux montrer quelque chose à un autre spectateur (via quelque chose comme:) http://253.153.87.231/page.html, et que l'on n'est pas familier avec le clavier, donc il ne pouvait tout simplement pas trouver le symbole "~" sur le clavier (- un peu comme chercher la clé étiquetée "any") .

Faheem et Ulrich vous ont probablement déjà proposé la réponse la meilleure et la plus couramment recommandée (du moins en matière de sécurité).

Janar
la source
C'est ce que je veux faire, ça marche bien? Pouvez-vous donner la syntaxe pour créer ces liens?
Menasheh
0

Maintenant, vous pouvez le faire en changeant la racine Web, mais vous ne le voulez vraiment pas, et voici pourquoi:

Si un attaquant trouve une vulnérabilité dans Apache ou dans votre code, il pourra peut-être accéder à la racine Web. C'est là que se trouvent toutes vos affaires ...

La racine Web est généralement protégée, avec des contrôles pour empêcher les attaquants de se manifester. Votre maison, peut-être pas aussi bien sécurisée.

Rory Alsop
la source