web-dev-qa-db-fra.com

Configurer le site localhost dans Apache?

Cela fait des semaines que je cherche à configurer l’environnement localhost sur Ubuntu sans trouver de solution satisfaisante.

C'est ce que je veux réaliser:

Je veux avoir mon dossier racine en tant que tel /home/ 'nomutilisateur'/Sites/'nomprojet.pl' ou/home/'nomutilisateur'/Sites/pl/'nomprojet'/public (ou similaire)

En accédant à mon hôte local, je ne veux pas écrire localhost/'nom du projet'/public (ou autre chose). J'aimerais pouvoir accéder au projet simplement en tapant http: // 'nomprojet'.pl

Je sais que cela est réalisable sur le serveur Apache sous OSX, mais je n’ai trouvé aucun guide pour y parvenir sur ma machine Ubuntu.

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

Cordialement!

11
Pewter

J'ai résolu ce problème en suivant ce guide. Une solution vraiment soignée qui vous permet de créer un dossier dans votre dossier "Sites" spécifié, puis d'y accéder sans avoir à ajouter de sites disponibles pour chaque nouveau site.

LE guide -> http://css.dzone.com/articles/drop-folder-directory-and-have

0
Pewter

Vous pouvez configurer vos hôtes virtuels dans

/etc/Apache2/sites-available

Pour chaque vhost que vous aimez, créez un fichier de configuration 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

Ensuite, éditez votre fichier/etc/hosts.

Il suffit de coller la ligne:

127.0.0.1 projectname.pl

a la fin.

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

15
rechengehirn

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. C’est ce que j’utilise dans Linux Mint 17. Le répertoire '/ var/www/html /' est le dossier par défaut "site" d’Apache.

Donc oui, pour 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, voilà.

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 aller. La raison pour laquelle je ne suis pas sûr est que le lien symbolique porte les autorisations du dossier dans le répertoire de base, 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.

1
derekmx271