Configurer le site localhost dans Apache?

11

Je cherche depuis des semaines sur la façon de configurer l'environnement localhost sur Ubuntu sans aucune bonne solution.

Voici ce que je veux réaliser:

Je veux avoir mon dossier racine en tant que tel /home/'username'/Sites/'projectname.pl 'ou / home /' username '/ Sites / pl /' projectname '/ public (ou simular)

Lorsque j'accède à mon localhost, je ne veux pas avoir à écrire localhost / 'projectname' / public (ou autre), je voudrais pouvoir accéder au projet simplement en tapant http: //'projectname'.pl

Je sais que cela est réalisable sur le serveur apache sur OSX mais je n'ai pas pu trouver de guides pour y parvenir sur ma machine Ubuntu.

Je serais vraiment reconnaissant de toute aide et j'espère vraiment que c'est possible.

Cordialement!

Étain
la source

Réponses:

16

Vous pouvez configurer vos vhosts dans

/etc/apache2/sites-available

Pour chaque vhost que vous souhaitez créer un fichier conf dans ce répertoire. Dans la configuration vhost, vous pouvez définir la racine de votre document. Le nom du fichier doit se terminer par .conf

Ainsi, par exemple: /etc/apache2/sites-available/projectname.conf:

<VirtualHost *:80>
  ServerName projectname.pl

  DocumentRoot "/home/Sites/projectname/public"

</VirtualHost>

Activez maintenant votre site avec:

sudo a2ensite projectname

Et redémarrez apache:

sudo /etc/init.d/apache2 restart

Modifiez ensuite votre fichier / etc / hosts.

Collez simplement la ligne:

127.0.0.1 projectname.pl

a la fin.

Vous pouvez maintenant accéder à votre site avec http://projectname.pl

rechengehirn
la source
Merci pour votre réponse. J'ai utilisé certains caractères illégaux dans ma question, ce qui a entraîné la chute de certains textes. J'ai mis à jour ma question maintenant. Veuillez vous y référer à nouveau et voir s'il y a autre chose que je dois faire pour le faire fonctionner. Cordialement!
étain
Eh bien, fondamentalement, cela reste le même. J'ai édité la réponse pour répondre à vos souhaits :)
rechengehirn
Les deux points clés ici sont nommer la configuration apache avec une extension de config et redémarrer apache ensuite.
JohnMerlino
A travaillé pour moi !!
arqam
1

Juste pour ajouter aux autres réponses ici, la façon dont j'ai configuré un tel comportement est avec des liens symboliques ... Semble fonctionner correctement. C'est très facile à faire et ne nécessite aucun fichier de configuration.

sudo ln -s ~/path/to/yoursite/ /var/www/html/yoursite

La dernière partie de ce qui précède peut être différente pour vous. Ce qui précède est ce que j'utilise dans Linux Mint 17. Le répertoire '/ var / www / html /' est le dossier "site" apache par défaut.

Alors oui, pour tous ceux qui recherchent une méthode simple et propre pour mapper un site sans placer réellement le répertoire de leur site dans le dossier apache par défaut, c'est parti.

Remarque: Je ne sais pas si ce qui précède est approprié pour les environnements de production, mais pour le développement local, cela semble correct. La raison pour laquelle je ne suis pas sûr est que le lien symbolique porte les autorisations du dossier dans le répertoire personnel, qui est (très probablement) "détenu" par l'utilisateur. Si vous en avez besoin, vous pouvez évidemment changer cela en une «racine» plus sécurisée comme le répertoire apache, mais je laisse le mien tranquille car je ne l'utilise que dans un environnement de développement.

derekmx271
la source