Pages : 1
#1 Le 19/01/2014, à 12:02
- Creaprog
Créer plusieurs ports sur apache2
Bonjour,
Je souhaite créer plusieurs ports sur apache2.
exemple :
www/ffff ports 81
www/gg port 80
www/ggg port 82
Comment faire ?
Hors ligne
#2 Le 19/01/2014, à 12:24
- jplemoine
Re : Créer plusieurs ports sur apache2
non. il faut prendre les ports 80 (c'est celui par défaut) et par habitude, les autres sont 8080 et suivants.
ce qui donne (par exemple) :
www/ffff ports 8080
www/gg port 80
www/ggg port 8081
Pour cela, il faut modifier :
dans /etc/apache2/ports.conf
NameVirtualHost *:80
Listen 80
NameVirtualHost *:8080
Listen 8080
NameVirtualHost *:8081
Listen 8081
Dans /etc/apache2/sites-available et dans la définition du virtualhost :
<VirtualHost *:8081>
(il faut adapter le port)
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#3 Le 19/01/2014, à 12:44
- Creaprog
Re : Créer plusieurs ports sur apache2
Je fais comment pour le répertoire ?
Hors ligne
#4 Le 19/01/2014, à 12:49
- pires57
Re : Créer plusieurs ports sur apache2
Pour créer un repertoire tu peut utiliser la commande
mkdir nom_repertoire
Ceci dit, je te déconseille de travailler directement dans
/var/www
mais plutot de faire ceci
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#5 Le 19/01/2014, à 15:00
- Creaprog
Re : Créer plusieurs ports sur apache2
Vous m'avez pas compris.
J'ai ajouter les ports, mais je voudrais faire le lien entre les ports et les répertoires.
Hors ligne
#6 Le 19/01/2014, à 15:17
- jplemoine
Re : Créer plusieurs ports sur apache2
Vous m'avez pas compris.
ou tu t'es mal exprimé...
Le lien entre les ports et les répertoires se fait dans la définition des virtuals hosts.
Dans le répertoire /etc/apache2/sites-available, il y a 2 fichiers :
- default --> correspond au port par défaut 80
- default-ssl --> correspond au port SSL par défaut (443)
Voir doc sur Apache2.
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#7 Le 19/01/2014, à 16:10
- compte supprimé x0
Re : Créer plusieurs ports sur apache2
Pour créer un repertoire tu peut utiliser la commande
mkdir nom_repertoire
Ceci dit, je te déconseille de travailler directement dans
/var/www
mais plutot de faire ceci
Mais il ne faut plus faire ça ! Ça date d'apache1, encore, ce genre de techniques. Les virtual hosts permettent justement toute la souplesse nécessaire. Et tout se passe dans le virtual host du site. C'est fait pour ! Les données du site tu les mets n'importe où !
Cf ici : http://forum.ubuntu-fr.org/viewtopic.ph … #p15281851
et là : http://httpd.apache.org/docs/2.2/vhosts/
Dernière modification par Dr. Hugo Z. Hackenbush (Le 19/01/2014, à 16:23)
#8 Le 19/01/2014, à 17:00
- pires57
Re : Créer plusieurs ports sur apache2
tu as tes méthodes, j'ai les miennes, en attendant mes serveurs ont toujours fonctionné correctement.
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#9 Le 19/01/2014, à 17:04
- compte supprimé x0
Re : Créer plusieurs ports sur apache2
tu as tes méthodes, j'ai les miennes, en attendant mes serveurs ont toujours fonctionné correctement.
Les miens aussi ! Merci !
Mais ce ne sont pas mes méthodes mais celles d'apache ! Et je n'empêche personne de se compliquer l'existence... Il faut bien s'occuper...
Dernière modification par Dr. Hugo Z. Hackenbush (Le 19/01/2014, à 17:05)
#10 Le 19/01/2014, à 18:20
- Compte anonymisé
Re : Créer plusieurs ports sur apache2
Suite a un accroche sur un autre post, je peux vous affirmer que les connaissances sur apache2 de "Dr. Hugo Z. Hackenbush" sont souvent, comment dire ... très théoriques.
La documentation apache2 présente un exemple appelé "Servir différents sites sur différents ports." sur :
http://httpd.apache.org/docs/2.2/vhosts/examples.html
C'est donc par conséquent aussi une méthode d'apache (et pas d'apache1 comme tu sembles penser) ...
Plusieurs moyens permettent d'arriver au même résultat avec plus ou moins de difficulté. Dans ce cas cela rajoute une ligne dans un fichier, de la dire que ça va compliquer l'existence....
#11 Le 19/01/2014, à 18:58
- compte supprimé x0
Re : Créer plusieurs ports sur apache2
Suite a un accroche sur un autre post, je peux vous affirmer que les connaissances sur apache2 de "Dr. Hugo Z. Hackenbush" sont souvent, cohttp://forum.ubuntu-fr.org/img/fluxtoolbar/smooth/bt_pre.pngmment dire ... très théoriques.
La documentation apache2 présente un exemple appelé "Servir différents sites sur différents ports." sur :
http://httpd.apache.org/docs/2.2/vhosts/examples.html
C'est donc par conséquent aussi une méthode d'apache (et pas d'apache1 comme tu sembles penser) ...
Plusieurs moyens permettent d'arriver au même résultat avec plus ou moins de difficulté. Dans ce cas cela rajoute une ligne dans un fichier, de la dire que ça va compliquer l'existence....
Tu appelles ça : http://doc.ubuntu-fr.org/tutoriel/lamp_ … de_travail ajouter une ligne dans un fichier ?
T'as vu quelque chose sur le site d'apache où il fallait changer des droits de répertoires, créer des liens symboliques et tout ça ?
J'attends avec impatience que tu m'en fasses part... Je serais très curieux de lire ça... (et ne viens pas avec les liens entre sites-enabled et sites-available...).
Si je ne m'abuse, l'exemple que tu cites se passe dans les virtual hosts... Or c'est à peu près ce que j'ai écrit :
Les virtual hosts permettent justement toute la souplesse nécessaire. Et tout se passe dans le virtual host du site. C'est fait pour !
En outre, si tu regardes de près les exemples du site apache, tu constateras aussi qu'il n'est jamais question de /var/www. Serait-ce donc qu'on pourrait s'en passer ? En revanche, il y est souvent question de DocumentRoot. A ton avis elle sert à quoi, cette directive ? Juste pour écrire /var/www ? Bizarre ! Comme c'est bizarre !
Mais, peut-être as-tu, disons, quelques problèmes de lecture et de compréhension de ce que tu lis... Je ne l'affirmerais pas, je ne suis pas assez prétentieux...
Dernière modification par Dr. Hugo Z. Hackenbush (Le 19/01/2014, à 19:37)
#12 Le 19/01/2014, à 19:37
- pires57
Re : Créer plusieurs ports sur apache2
Il va falloir ce calmer la, inutile de rabaisser les autres.
Il est vrais que les Vhost peuvent être utilisés, comme je l'ai dit chacun sa méthode, le but étant que cela fonctionne est soit un minimum sécurisé...
maintenant si tu me trouve une grosse faille dans la doc que je conseille il n'y a aucun souci et je changerais de méthode a conseillé ...
Je connais les deux méthodes donc c'est pas un souci pour moi de changé.
Bref, merci de se recentrer sur le sujet et de ne pas se livrer a des règlements de comptes.
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#13 Le 19/01/2014, à 19:57
- compte supprimé x0
Re : Créer plusieurs ports sur apache2
Je n'ai pas dit qu'il y avait une faille. Je n'en sais strictement rien. J'ai juste dit qu'on pouvait faire beaucoup plus simple.
La directive ServerName te permet de définir le nom du serveur (=> localhost/serveur en local).
La directive DocumentRoot sert à définir l'endroit où sont les données du site. Alors il faut évidemment que apache puisse y accéder en lecture, puisqu'apache n'écrit pas, en tous cas pas là (les logs sont ailleurs). Si c'est chez toi, "autres" (donc aussi apache) peuvent y accéder en lecture avec les permissions par défaut. Je précise : "autres", ce n'est évidement pas un autre de l'extérieur. L'extérieur, lui, envoie une requête à apache... Il ne va pas (et ne peut pas) farfouiller dans le site ! C'est apache qui fait ça !
Et le bloc
<Directory documentroot/>
Options FollowSymLinks Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
te permet de fixer toutes sortes de droits particuliers (mais des droits par rapport à un client apache qui vient se connecter, pas des droits système qui n'ont rien à voir). Par exemple AllowOverride None interdit la surcharge par des .htaccess. FollowSymLinks autorise apache à suivre les liens symboliques. Etc. Voir dans la doc d'apache...
Pour un site (je ne parle pas du contenu) je fais ça (par exemple) :
mkdir /home/hackenbush/mon_site
Puis je crée un virtual host avec
...
ServerName mon_site
DocumentRoot /home/hackenbush/mon_site
<Directory /home/hackenbush/mon_site/>
...
J'enregistre dans sites-available sous le nom de "mon_site" (ou autre, parce que c'est à l'intérieur que ça se passe)
Je valide avec
sudo a2ensite mon_site
Je redémarre apache. Terminé !
Je ne fais pas partie du groupe je ne sais quoi, je ne crée pas de liens je ne sais où, je ne modifie aucune permission...
Si je veux déplacer mon site ailleurs, dans un sous-répertoire par exemple, je le déplace, je modifie les 2 lignes
DocumentRoot /home/hackenbush/mon_site
<Directory /home/hackenbush/mon_site/>
dans site-available, puis je relances apache. Terminé !
Et /var/www je ne sais même plus que ça existe...
Dernière modification par Dr. Hugo Z. Hackenbush (Le 19/01/2014, à 20:20)
#14 Le 19/01/2014, à 20:21
- pires57
Re : Créer plusieurs ports sur apache2
ouai je l'ai déjà utilisé quelques fois cette méthode
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#15 Le 19/01/2014, à 20:52
- compte supprimé x0
Re : Créer plusieurs ports sur apache2
ouai je l'ai déjà utilisé quelques fois cette méthode
Tu l'as même toujours utilisée. Puisque le vhost /etc/sites-available/default (et le lien dans sites-enabled) pointe sur /var/www ! Et que tu t'es toujours arrangé pour qu'en fin de compte tout se trouve dans /var/www... Directement ou non...
Le voilà !
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
C'est celui-là qu'apache utilise, à défaut d'en avoir un (ou plusieurs) autre(s) ! Un par site !
Dernière modification par Dr. Hugo Z. Hackenbush (Le 19/01/2014, à 21:12)
#16 Le 20/01/2014, à 08:56
- bruno
Re : Créer plusieurs ports sur apache2
Désolé mais je vais jeter un peu d'huile sur le feu
Le « tuto » cité est franchement mauvais.
Tout d'abord ce n'est vraiment un tutoriel mais une « recette » pour répondre à un besoin particulier, et cette recette n'est ni complète, ni fonctionnelle dans le cas général.
La méthode consistant à définir tous les vhosts dans un seul et même fichier fonctionne mais n'est pas « propre». Cela empêche par exemple d'activer/désactiver un site à volonté avec une simple commande (a2ensite/a2disstie).
On propose en exemple d'utiliser /media comme dossier de stockage des sites. C'est franchement très curieux. Sur un serveur, classiquement on placera ses sites dans /www, /srv ou dans des dossiers sous /home suivant l'usage et le partitionnement du serveur. Le lecteur néophyte risque de croire que c'est une bonne idée d'aller mettre ses sites dans /media…
Rappelons au passage que /media est censé être utilisé pour les montages automatiques. Mais c'est un détail par rapport au reste…
La manipulation proposée pour modifier les droits accès sur le dossier contenant les sites me parait aberrante. Je ne l'ai pas testée mais je doute fort que cela fonctionne (en fait j'en suis sûr).
Pour le site « public » (je préférerai dire en production) il faut que le dossier et tout ce qu'il contient soit lisible par www-data. Pour le site en développement il faut que le dossier et tout ce qu'il contient soit lisible par www-data et modifiable par l'utilisateur. Or la commande chmod proposée ne résout en rien ces problèmes de droits d'accès sur lesquels buttent tous les néophytes. Et je ne comprends pas l'usage du groupe « users » (présent mais non utilisé dans la configuration par défaut de Debian/Ubuntu) dans ce cadre.
Enfin au lieu d'utiliser proprement les vhosts en indiquant le chemin réel du dossier à servir, on laisse /var/www et on conseille decréer des liens symboliques de /var/www vars les dossiers à servir.
C'est fonctionnel mais ce n'est pas très sécurisé. Personnellement sur un serveur en production j'ai comme réglage général -Followsymlinks.
Dernière modification par bruno (Le 20/01/2014, à 08:57)
#17 Le 20/01/2014, à 09:38
- compte supprimé x0
Re : Créer plusieurs ports sur apache2
C'est à peu près ce que je fais, il me semble.
1 site = 1 virtual host, et tout se passe dans le virtual host.
Effectivement je ne distingue pas développement/production (chez moi, je ne suis qu'en local) et j'utilise le fait que "autres" (donc apache aussi) peut lire par défaut dans un dossier /home/$USER/.../site et bien entendu $USER peut lire et écrire, donc modifier.
Ce serait la partie développement.
Et pour la partie production, il suffirait de copier ça dans /srv ou dans /var/www (pourquoi pas ?) ou même ailleurs, en créant le vhost adéquat (1 par site, toujours), avec les permissions système les plus restrictives possibles qui permettent juste à apache de lire...
Dernière modification par Dr. Hugo Z. Hackenbush (Le 20/01/2014, à 09:45)
#18 Le 20/01/2014, à 12:09
- Compte anonymisé
Re : Créer plusieurs ports sur apache2
qui permettent juste à apache de lire...
Je suis d’accord que cela fonctionnera, mais uniquement avec des pages HTML statiques. Là on est bien d'accord.
Par contre si on associe apache2 avec php (le principe du serveur LAMP cf. ton lien http://doc.ubuntu-fr.org/tutoriel/lamp_repertoires_de_travail, sinon ça s'appellera serveur LA). Il arrive que php doit pouvoir modifier les fichiers. Dans notre cas "others" étant que en lecture. Je comprends pas bien comment ça peut marcher. (ps : je peux me tromper, je n'ai pas pu tester sur ma machine)
J'ai pas écrit le tuto sur ubuntu-fr.org, mais tu penses bien que celui qui l'a écrit ne c'est pas amusé à modifier les droits si ça fonctionne sans, sinon c'est bien bête il faudra penser à changer ce tuto.
En outre, si tu regardes de près les exemples du site apache, tu constateras aussi qu'il n'est jamais question de /var/www. Serait-ce donc qu'on pourrait s'en passer ? En revanche, il y est souvent question de DocumentRoot. A ton avis elle sert à quoi, cette directive ? Juste pour écrire /var/www ? Bizarre ! Comme c'est bizarre !
Par contre j'ai jamais parler de l'obligation d'utiliser ce dossier, si j'ai laissé présager ça, c'est que je me suis peut-être mal exprimé.
#19 Le 20/01/2014, à 14:55
- compte supprimé x0
Re : Créer plusieurs ports sur apache2
Dr. Hugo Z. Hackenbush a écrit :qui permettent juste à apache de lire...
Je suis d’accord que cela fonctionnera, mais uniquement avec des pages HTML statiques. Là on est bien d'accord.
Par contre si on associe apache2 avec php (le principe du serveur LAMP cf. ton lien http://doc.ubuntu-fr.org/tutoriel/lamp_repertoires_de_travail, sinon ça s'appellera serveur LA). Il arrive que php doit pouvoir modifier les fichiers. Dans notre cas "others" étant que en lecture. Je comprends pas bien comment ça peut marcher. (ps : je peux me tromper, je n'ai pas pu tester sur ma machine)
Tu confonds encore tout !
Quand php/apache assemblent des pages à la volée, vont chercher des données dans mysql, etc. elle ne sont écrites nulle part, ces pages, mais seulement envoyées ! Et apache fait ça chaque fois qu'il reçoit la requête ! Donc ça n'a pas besoin de pouvoir écrire pour que ce soit dynamique !
En revanche, si php doit écrire, il doit évidemment pouvoir le faire. Ça veut dire qu'il faut donner à apache la permission d'écrire dans le répertoire concerné qui n'a aucune raison, a priori, d'être celui du site. Suppose que ce soit un bon de commande rempli. Tu vas l'envoyer direct dans ton répertoire de compta, ou je ne sais où ailleurs, là où ça va être traité. Tu ne vas pas stocker ça dans ton site ! Donc apache doit pouvoir écrire là ! Mais c'est un autre problème !
Ça peut arriver, bien sûr, que php modifie des fichiers du site lui-même. Encore que je m'imagine assez mal quelle utilité ça pourrait avoir... Un site qui se modifie chaque fois que quelqu'un se connecte ? Alors il peut y avoir des choses comme des cookies, des sessions, etc. Ça veut dire droits en écriture là où tu les stockes, mais pas ailleurs !
Et de toutes façons j'ai précisé :
avec les permissions système les plus restrictives possibles
Tu devrais faire un site toi-même au lieu d'utiliser wordpress... Tu comprendrais mieux comment ça marche...
(u petit cours que j'avais fait là-dessus)
Dernière modification par Dr. Hugo Z. Hackenbush (Le 20/01/2014, à 16:08)
Pages : 1