vps hostname et sous-domaine Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
vodario
Membre
Membre
Messages : 12
Inscription : 15 oct. 2017, 20:41
Status : Hors-ligne

Je découvre debian, le vps... Pas simple... Mais je résiste à la tentation de tout jeter !

Première grosse question et blocage total :

Je décris :
J'ai un domaine (ex. mondomaine.com) qui pointe sur un hébergement web classique que je voudrais conserver
J'ai configuré un sous-domaine (groupe.mondomaine.com) qui pointe vers un vps (DNS : groupe.mondomaine.com A ip-du-vps)
Le service VPS (pulseheberg) me propose de renseigner un host-name ; je donne groupe et donc le server name est groupe.mondomaine.com

Lamp parfaitement installé. J'ai une jolie page Apache2 sur groupe.mondomaine.com

Maintenant : je veux faire cohabiter "nextcloud" et aussi "wordpress" et pourquoi pas à terme un autre 'service' comme moodle.
Je voulais mettre nextcloud en "sous-domaine" et pouvoir diffuser l'adresse à mes amis nextcloud.mondomaine.com.
idem avec phpmyadmin que je voudrais atteindre en tapant phpmyadmin.mondomaine.com
Et je bloque. Aucune idée sur quoi, où, comment ...

Comment avoir une adresse cloud.mondomaine.com alors que l'adresse de mon vps est déjà avec un sous-domaine (groupe)... Un sous-domaine de sous-domaine ? Je crois bien que ça n'existe pas ! comprends pas...

Help ! :010:
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,

La première question à se poser: est-ce possible avec ton hébergement ?
Pas sur que ton hébergeur propose de pouvoir installer plusieurs domaines/sous-domaines.
Je suis allé voir, l'entrée de gamme des VPS ont 30Go de disque. J'ai donc des doutes...

Et ce sera le même problème avec les bases de données: Est-ce que tu sais de combien de bases SQL tu dispose ?

Pour répondre à la question générique: comment installer plusieurs domaines/sous-domaines:
Ce n'est pas compliqué, il suffit de créer un fichier vhost par domaine.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
vodario
Membre
Membre
Messages : 12
Inscription : 15 oct. 2017, 20:41
Status : Hors-ligne

lol a écrit : 16 oct. 2017, 07:13 La première question à se poser: est-ce possible avec ton hébergement ?
Réponse de Pulseheberg : "C'est possible, via une configuration virtualhost sur apache2... Je vous laisse explorer cette piste là" :icon_razz:

Maintenant, donc...

J'ai trouvé un tuto de configuration du virtualHost et tenté de suivre (mais ça marche pas... :076: ) https://udona.fr/sysadmin/installer-ser ... 9-stretch/

"Apache fonctionne sous forme de virtual-host, dans des fichiers de configuration. Pour nous simplifier la tache j’ai pour habitude de créer un template pré-configuré, qui va permettre de déployer un site rapidement sans aller chercher la doc."

# On se rend dans le dossier en question
# cd /etc/apache2/sites-available/
# On créer un template et on y ajoute
# vim template.conf

Code : Tout sélectionner

<VirtualHost *:80>
 ServerName 
 ServerAlias 
 
 DocumentRoot /var/www/
 
 <Directory /var/www/>
 Options -Indexes +FollowSymLinks
 AllowOverride All
 Require all granted
 </Directory>
</VirtualHost>
Après installation de phpmyadmin dans /var/www
pour le rendre disponible sur le sous-domaine phpmyadmin.monsupersite.fr. Configuration et activation sur le serveur web pour rendre le panel disponible via internet.


# Création virtual host pour phpmyadmin

Code : Tout sélectionner

cp /etc/apache2/sites-available/template.conf /etc/apache2/sites-available/phpmyadmin.conf
# On modifie la configuration

Code : Tout sélectionner

vim /etc/apache2/sites-available/phpmyadmin.conf

Code : Tout sélectionner

<VirtualHost *:80>
	ServerName phpmyadmin.monsupersite.fr
	ServerAlias www.phpmyadmin.monsupersite.fr  (  :icon_sad: [color=#00BF80]déjà, là pour ma part, c'est confus ! faut-il respecter cette arborescence ?[/color])

	DocumentRoot /var/www/phpmyadmin

	<Directory /var/www/phpmyadmin>
		Options -Indexes +FollowSymLinks
		AllowOverride All
		Require all granted
	</Directory>
</VirtualHost>
# On active le site et ont reload

Code : Tout sélectionner

a2ensite phpmyadmin && service apache2 reload
[/color]

J'ai un "Ce site est inaccessible.
Impossible de trouver l'adresse DNS du serveur phpmyadmin.mondomaine.com."

Vos directives ?
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Hello,

Je te propose ce tout petit guide qui devrait t'éclairer:

Assure-toi que le dns pointe bien sur ton vps.

1) Crée un sous dossier dans /var/www (C'est dans ce dossier que sera ton site)

Code : Tout sélectionner

# mkdir -p /var/www/test.domaine
2) Mets-y un fichier index.html dedans pour tester

Code : Tout sélectionner

nano /var/www/test.domaine/index.html

Code : Tout sélectionner

<html>
  <head>
    <title>test.demaine.com</title>
  </head>
  <body bgcolor=white>
    <p>Je suis sur test.demaine.com</p>
  </body>
</html>
3) Donne les droits à www-data à ce dossier et aux fichiers qui se trouvent dedans

Code : Tout sélectionner

# chown -R www-data:www-data /var/www/test.domaine
4) Dans /etc/apache2/sites-available

Code : Tout sélectionner

# nano /etc/apache2/sites-available/test.domaine.conf
Remplace XXX par l'ip de ton VPS évidemment

Code : Tout sélectionner

<VirtualHost xxx.xxx.xxx.xxx:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test.domaine
ServerName test.domaine.com
<Directory /var/www/test.domaine>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
5) Active le site (Cela va créer un lien virtuel dans /etc/apache2/sites-enable qui pointera vers le fichier de conf

Code : Tout sélectionner

# a2ensite test.domaine.conf 
Enabling site test.domaine.
To activate the new configuration, you need to run:
  systemctl reload apache2
6) Vérifie la conf d'apache

Code : Tout sélectionner

# apachectl configtest
Syntax OK
7) Redémarre apache

Code : Tout sélectionner

# service apache2 restart
8) Teste dans un navigateur:
http://test.domaine.com/
Image

Si tu passe toutes ces étapes tu aura déjà bien avancé et tu pourra envisager de passer à un truc un peu plus compliqué! :006:
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
vodario
Membre
Membre
Messages : 12
Inscription : 15 oct. 2017, 20:41
Status : Hors-ligne

Cool. Je vais faire ça.

Une question avant : "domaine" dans ce test correspond-il bien à 'mondomaine' (et non pas au serverName qui ressemble à "groupe.mondomaine.com" ; c'est ce qui rend confus aussi tout ça pour moi, ce servername du vps...) ?

ServerName test.domaine.com deviendrait donc pour moi test.mondomaine.com ou bien test.groupe.mondomaine.com ?

J'ai dans les DNS une entrée A pour groupe.mondomaine.com qui pointe vers l'IP du VPS...
Faut-il ajouter une enrée A pour test.mondomaine.com ?
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,
Je suis parti du principe que tu voulais tester un sous-domaine:
vodario a écrit :J'ai un domaine (ex. mondomaine.com) qui pointe sur un hébergement web classique que je voudrais conserver
Donc pour ton essai tu peux prendre: test.mondomaine.com

Mais tu aurais pu choisir www.mondomaine.com (C'est un sous-domaine), truc.mondomaine.com, 123.mondomaine.com, 123-456.mondomaine.com, etc.

Je te suggère un peu de lecture: https://fr.wikipedia.org/wiki/Nom_de_domaine
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
vodario
Membre
Membre
Messages : 12
Inscription : 15 oct. 2017, 20:41
Status : Hors-ligne

Merci Lol ! J'apprécie vraiment !

J'ai suivi pas à pas le process que tu as écrit.

Résultat :
si je tape mon ip ou bien si je tape mon servername "groupe.mondomaine.com" : j'affiche le contenu du fichier html test !

si je tape test.mondomaine.com, je n'affiche rien du tout (site inaccessible).
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Re,

Que contient le répertoire /etc/apache2/sites-enabled ?

Que contiennent les fichiers
cat /etc/apache2/sites-enabled/000-default.conf
et éventuellement /etc/apache2/default-ssl.conf
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
vodario
Membre
Membre
Messages : 12
Inscription : 15 oct. 2017, 20:41
Status : Hors-ligne

/etc/apache2/sites-enabled
nextcloud.conf@ --> /etc/apache2/sites-available/nextcloud.conf
phypmyadmin.conf@ --> /etc/apache2/sites-available/phpmyadmin.conf
test.domaine.conf@ --> /etc/apache2/sites-available/test.domaine.conf

cat /etc/apache2/sites-enabled/000-default.conf n'existe pas (en fait j'ai supprimé ce fichier en installant nextcloud avant...)

/etc/apache2/default-ssl.conf idem n'existe pas...
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Hello,

Il n'est pas conseillé de travailler directement dans sites-enabled, ce n'est pas propre.
Dans ce répertoire il y a simplement des liens symboliques vers les fichiers de conf qui sont dans sites-available

On crée ou supprime ces liens syboliques avec:

Code : Tout sélectionner

a2ensite monfichier.conf
a2dissite monfichier.conf

Reprenons s'il te plaît (Sans panorama complet, ça va être compliqué):

Code : Tout sélectionner

ls /etc/apache2/sites-enabled
ls /etc/apache2/sites-available
+ contenu (cat) de tous les fichiers qui sont activés dans /etc/apache2/sites-enabled

Rassure-moi: tu n'as pas touché à d'autres fichiers de conf de apache ?
Si oui, tu as fait des backup ?
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
vodario
Membre
Membre
Messages : 12
Inscription : 15 oct. 2017, 20:41
Status : Hors-ligne

sites-enabled
nextcloud.conf phpmyadmin.conf test.domaine.conf

sites-avalaible (je les mets à la ligne pour libilité) :
000-default.conf
pypmyadmin.conf
test.domaine.conf
default-ssl.conf
nextcloud.conf
template.conf


Les fichiers conf sont créés dans site-available (ainsi template.conf ou nextcloud.conf) et en activant avec a2ensite. Donc sans aller dans sites-enabled...

Tuto qui incitait à cela pour Apache

Code : Tout sélectionner

# vim /etc/apache2/apache2.conf
 
# Ajout à la fin du fichier // activation module rewrite
<ifModule mod_rewrite.c>
RewriteEngine On
</ifModule>
 
# Ajout à la fin du fichier // désactivation de la signature serveur
ServerSignature Off
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Très bien.
Pas de pb pour le contenu de /etc/apache2/apache2.conf.
Par contre c'est le contenu intégral de nextcloud.conf et phpmyadmin.conf que j'aimerais voir.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
vodario
Membre
Membre
Messages : 12
Inscription : 15 oct. 2017, 20:41
Status : Hors-ligne

Code : Tout sélectionner

<VirtualHost *:80>
ServerAdmin admin@mondomaine.com
DocumentRoot "/var/www/html/nextcloud"
ServerName groupe.mondomaine.com
ServerAlias cloud.mondomaine.com
<Directory "/var/www/html/nextcloud/">
Options MultiViews FollowSymlinks

AllowOverride All
Order allow, deny
Allow from all
</Directory>
TransferLog /var/log/apache2/nextcloud_access.log
ErrorLog /var/log/apache2/nexcloud_error.log
</VirtualHost>
et (je remarque que la syntaxe n'est pas exactement la même au passage. Pas de guillemets et pas de / dans documentRoot ci-dessous)

Code : Tout sélectionner

<VirtualHost *:80>
ServerName phpmyadmin.mondomaine.com
ServerAlias www.phpmyadmin.mondomaine.com

DocumentRoot /var/www/phpmyadmin

<Directory /var/www/phpmyadmin/>
Options -Indexes +FollowSymlinks

AllowOverride All
Require all granted
</Directory>
</VirtualHost>
vodario
Membre
Membre
Messages : 12
Inscription : 15 oct. 2017, 20:41
Status : Hors-ligne

Expériences : si je note l'ip du serveur dans le <VirtualHost> du fichier phpmyadmin.conf, c'est lui qui "prend le dessus" : c'est à dire qu'en adressant groupe.mondomaine.com je ne vois plus le test mais l'interface de phpmyadmin.

Une solution est certainement présente sur https://httpd.apache.org/docs/2.4/fr/vh ... mples.html... Pour le moment, je ne sais pas quelle est ma situation...
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,

Je te suggère ceci:
Change /var/www/html/nextcloud par /var/www/nextcloud
Remplace * par ton IP

Code : Tout sélectionner

<VirtualHost TON_IP:80>
ServerAdmin admin@mondomaine.com
DocumentRoot "/var/www/nextcloud"
ServerName cloud.mondomaine.com
<Directory "/var/www/nextcloud">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow, deny
Allow from all
</Directory>
TransferLog /var/log/apache2/nextcloud_access.log
ErrorLog /var/log/apache2/nexcloud_error.log
</VirtualHost>

Code : Tout sélectionner

<VirtualHost TON_IP:80>
ServerName phpmyadmin.mondomaine.com
DocumentRoot /var/www/phpmyadmin
<Directory /var/www/phpmyadmin/>
Options -Indexes +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Les guillemets ne devraient pas avoir d'importance.
Le problème provenait très probablement de *:80

Vérifie les droits des dossiers (chown www-data:www-data...) redémarre apache et teste, ça devrait aller mieux.
Bien entendu il faudra passer rapidement tout ça en HTTPS sur le port 443, mais c'est une autre aventure...

Évite aussi pour phpmyadmin un nom aussi facile à trouver... C'est souvent la première cible des scripts kiddies... Pas de admin, sql, mysql, etc...

Edit: En tout état de cause teste fichier par fichiers, tester trois vhosts en même temps alors que tu commence, est un peu...
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
vodario
Membre
Membre
Messages : 12
Inscription : 15 oct. 2017, 20:41
Status : Hors-ligne

Ok. Bien vu.
J'ai supprimé les liens symboliques pour refaire les tests successivement.

Donc si pas de lien aux fichiers conf : page Apache2 de l'installation (sous l'url "groupe.mondomaine.com" donnée par le serveur)
Si j'active a2ensite phpmyadmin ; l'url "groupe.mondomaine.com" pointe vers l'accueil de phpmyadmin
Si j'active ensuite nextcloud ; la même url pointe vers l'accueil de nextcloud
(le dernier rentré prend la main !)

J'ai été modifier des dns sur le serveur du "mondomaine.com" pour créer des A avec les "ServerName" (j'ai suivi tes conseils pour modifier les dénominations trop évidentes)
Pour le moment, si je tape "cloud.mondomaine.com" : rien n'est trouvé. Idem pour phpmyadmin.
il y a donc 3 entrée "A" : une pour mon serveur vps groupe.mondomaine.com et celles pour nextcloud et phpmyadmin... (en fait je doute que ce soit utile ici... mais c'est mieux de dire ce qui est...)
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,

Jusqu'a présent on a parlé de:
test.mondomaine.com qui devrait pointer sur /var/www/test.mondomaine (Ou tout autre dossier de la racine du répertoire personnel d'apache2: Considère /var/www comme le /home d'Apache2)

Pour corser les choses tu as ajouté:
cloud.mondomaine.com qui devrait pointer sur /var/www/nextcloud
et
phpmyadmin.mondomaine.com qui devrait pointer sur /var/www/phpmyadmin

groupe.mondomaine.com ça sort d'ou ? ça sert à quoi et tu souhaites que ça pointe vers quoi ?
Il faut être clair dans ce que tu souhaite faire (et le décrire correctement) sinon on arriva à rien (ou alors par bol...)
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
vodario
Membre
Membre
Messages : 12
Inscription : 15 oct. 2017, 20:41
Status : Hors-ligne

lol a écrit : 16 oct. 2017, 17:51 groupe.mondomaine.com ça sort d'ou ? ça sert à quoi et tu souhaites que ça pointe vers quoi ?
C'est ce que Pulseheberg demande de renseigner lors de la location du vps.
Pulseberg_AchatExemple.png
Du coup, puisqu'il fallait suivre servername.yourdomaine.com, j'ai donné ce nom groupe.mondomaine.com (je peux bien sûr changer "groupe" en n'importe quoi...)
Et j'ai l'impression que ça vient compliquer le tout ?

Donc d'une part, www.mondomaine pointe vers un site vitrine sur un autre hébergement et j'aimerais que groupe.mondomaine pointe sur un mini-site sur le vps (ça ça marche sans difficulté) et en plus j'aimerais utiliser le vps pour utiliser nextcloud, phpmyadmin et dans le futur d'autres services. Est-ce un peu plus clair ? :pardon:
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
vodario
Membre
Membre
Messages : 12
Inscription : 15 oct. 2017, 20:41
Status : Hors-ligne

:031: Je viens de changer le nom "hostname" ! En fait on peut mettre n'importe quoi (contrairement à ce qu'indiquait le formulaire !!)
J'ai mis "vps001" qui remplace groupe.mondomaine.com...

dans le fichier /etc/hosts il y a donc
127.0.0.0 localhost.localdomaine localhost
xxx.xxx.xxx.xxx vps001
::1 localhost ip6-localhost ip6-loopback
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Hello,

Je comprend mieux la confudion (et le nom de ton topic).

1) Apache ne tient pas compte de ton fichier hosts (et de ton hostname). Ta machine pourrait s'appeller delorenbarre.domainealacon.net que ça ne changerait rien.
2) Apache ne prend en compte que les ServerName qui se trouvent dans ses fichiers de conf.

3) Si tu pointe avec ton navigateur vers ton apache avec un domaine alors qu'aucun ServerName n'est défini pour ce domaine dans la conf d'apache il va te renvoyer sur le site par défaut (d'ou l'importance de le définir)

Je te suggère pour y voir plus clair:

1) De désactiver tous les vhosts

2) De restaurer les fichiers de conf initiaux d'apache et de mettre comme ServerName groupe.mondomaine.com comme ceci:
/etc/apache2/sites-available/000-default.conf

Code : Tout sélectionner

<VirtualHost XXX.XXX.XXX.XXX:80>
	ServerName groupe.mondomaine.com
	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/html
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Code : Tout sélectionner

a2enssite 000-default.conf
service apache2 force-reload
Tu devrais maintenant toucher le répertoire /var/www/html quand tu tape http://groupe.mondomaine.com

3) De réactiver un par un les autres vhosts et de tester:

- Tu devrais toujours toucher /var/www/html quand tu tape http://groupe.mondomaine.com
- Tu devrait toucher /var/www/nextcloud quand tu tape http://cloud.mondomaine.com
- etc.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Répondre