web-dev-qa-db-fra.com

Comment ajouter un répertoire personnalisé, par exemple phpmyadmin?

Comme ma connaissance de Apache est minimale. J'aimerais le laisser grandir afin d'avoir plus d'expérience avec LAMP. Ma question brûlante pour aujourd'hui est:

Comment ajouter un répertoire personnalisé au serveur Web? (Par exemple, phpmyadmin)?

Mon objectif est de pouvoir créer des adresses personnalisées avec des sites Web personnalisés. Supposons que mon répertoire personnalisé se trouve à l'adresse suivante: /media/my/web/portal1 et j'aimerais le charger lorsque le client appelle

http://localhost/myportal1 at webbrowser. 

Pourriez-vous me donner une liste d'étapes avec quelques mots d'explication?

11
Adrian K.

Editez votre fichier de configuration Apache et ajoutez une alias directive. Par exemple, utilisons le fichier par défaut .

Sudo -e /etc/Apache2/sites-available/default

Créez votre alias en ajoutant une section dans la directive VirtualHost :

Alias /database/ "/usr/share/php5/phpmyadmin/"
<Directory "/usr/share/php5/phpmyadmin/">
    Order allow,deny
    Allow from all
    # New directive needed in Apache 2.4.3: 
    Require all granted
</Directory>

Enregistrez et redémarrez: Sudo /etc/init.d/Apache2 restart

Ou pour l'autre référence:

Sudo -e /etc/Apache2/sites-available/default

Et le contenu ...

Alias /myportal1/ "/media/my/web/portal1/"
<Directory "/media/my/web/portal1/">
    Order allow,deny
    Allow from all
    # New directive needed in Apache 2.4.3: 
    Require all granted
</Directory>

Enregistrez et redémarrez: Sudo /etc/init.d/Apache2 restart

Ajoutez plus de directives dans les directives Directory , telles que

Options Indexes FollowSymLinks 

Voir http://httpd.Apache.org/docs/2.2/mod/core.html#directory

C'est ce que tu cherchais?

25
user8290

Une alternative plus simple consiste à créer un lien symbolique à partir de la racine du document. Par exemple, si la racine du document est "/ var/www" (valeur par défaut sur la plupart des systèmes Linux), la commande suivante fait l'affaire:

Sudo ln -s /media/my/web/portal1 /var/www/myportal1

Cela fonctionne immédiatement - vous n'avez même pas besoin de recharger le serveur Apache.

5
Erel Segal-Halevi

Apache est un utilisateur de votre système, tout comme vous, sauf qu'il ne peut pas se connecter. Cela signifie que l'accès aux fichiers est exactement le même pour Apache que pour vous. Donc, tout d’abord, si Apache doit servir un répertoire dans/media/quelque chose, alors Apache doit avoir l’accès pour le lire et ses fichiers.

Deuxièmement, pour configurer un site qui utilise ce répertoire comme domicile, vous créez des fichiers-sites, tels que/etc/Apache2/sites-available/your-site. Cela fait partie de ce qu'on appelle vhosting. Il y a deux types différents; un basé sur le nom (le nom de domaine) et un basé sur IP. La configuration la plus courante consiste à utiliser des hôtes virtuels nommés. Vous pouvez en savoir plus à ce sujet ici: http://httpd.Apache.org/docs/2.2/vhosts/

1

Si simple en deux lignes:

Sudo ln -s /etc/phpmyadmin/Apache.conf /etc/Apache2/conf.d/phpmyadmin.conf

Après

il suffit de modifier le fichier "phpmyadmin.conf"

pico /etc/Apache2/conf.d/phpmyadmin.conf

et changez-le en 'loool' ou autre chose :)

Alias /loooool /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>

SetEnvIfNoCase User-Agent "^ZmEu" bad_bot
SetEnvIfNoCase User-Agent "^BackDoorBot" bad_bot
SetEnvIfNoCase user-agent "^BlackWidow" bad_bot 
SetEnvIfNoCase User-Agent "^BotALot" bad_bot

après tout cela recharger Apache: D

service Apache2 reload

tadaaa: D ciao :)

0
ucefkh