Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

Creaprog a écrit :

Vous m'avez pas compris.

ou tu t'es mal exprimé... smile

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

pires57 a écrit :

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

pires57 a écrit :

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

Anonyme68 a écrit :

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... lol

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

pires57 a écrit :

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 wink

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

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)

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

Anonyme68 a écrit :
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...

1390230275.jpg

(u petit cours que j'avais fait là-dessus)

Dernière modification par Dr. Hugo Z. Hackenbush (Le 20/01/2014, à 16:08)