Multi domaine sur un VPS (IP Unique/Linux/Apache)

Bonjour à tous,

Suite à l'acquisition d'un VPS, je souhaite transférer mes sites actuel dessus.
J'ai transféré les fichiers sur mon VPS, mis à jours mes dns pour chaque noms de domaine (IP du VPS sur le champs de type A) et transféré mes bases de données.

Quand je ping mes 4 sites, j'ai bien l'IP du VPS.

J'ai ensuite configuré mes sites via un virtual host


ServerAdmin contact[at]site-web1 fr
ServerName www site-web1 fr
ServerAlias site-web1 fr
ServerAlias *.site-web1 fr

DocumentRoot /var/www/site-web1


Options -Indexes +FollowSymLinks
AllowOverride All

ErrorLog /home/dev/logs/site-web1 fr_error.log
CustomLog /home/dev/logs/site-web1 fr_access.log combined



ServerAdmin contact[at]site-web2 fr
ServerName www site-web2 fr
ServerAlias site-web2 fr
ServerAlias *.site-web2 fr

DocumentRoot /var/www/site-web2


Options -Indexes +FollowSymLinks
AllowOverride All

ErrorLog /home/dev/logs/site-web2 fr_error.log
CustomLog /home/dev/logs/site-web2 fr_access.log combined



ServerAdmin contact[at]site-web3 fr
ServerName www site-web3 fr
ServerAlias site-web3 fr
ServerAlias *.site-web3 fr

DocumentRoot /var/www/site-web3


Options -Indexes +FollowSymLinks
AllowOverride All

ErrorLog /home/dev/logs/site-web3 fr_error.log
CustomLog /home/dev/logs/site-web3 fr_access.log combined



ServerAdmin contact[at]siteweb4 info
ServerName www siteweb4 info
ServerAlias siteweb4 info
ServerAlias *.siteweb4 info

DocumentRoot /var/www/siteweb4


Options -Indexes +FollowSymLinks
AllowOverride All


ErrorLog /home/dev/logs/siteweb4error.log
CustomLog /home/dev/logs/siteweb4access.log combined
SSLCertificateFile /xxx/xxx/xxx/www_siteweb4.pem
SSLCertificateKeyFile /xxx/xxx/xxx/www.siteweb4.key
SSLCertificateChainFile /xxx/xxx/xxx/www_siteweb4.ca-bundle.crt



Pour les accès :

site1 : ok
site2 : ok
site3 : Redirigé vers site 4 :cry:
site4 : https avec certificat ok et http redirigé vers https

Au niveau de mes .htaccess, ceux-ci sont vide ( pour les tests).

J'ai dû laisser passer quelque chose mais je vois pas :confused:

Avez-vous une idée de mon problème ?

Merci !!

Bonsoir,


ServerAlias site-web1 fr
ServerAlias *.site-web1 fr

Pour ma part je mets les "ServerAlias" sur la même ligne, ici ça donnerait :
ServerAliad 1web1.frweb1.fr *.1web1.frweb1.fr

Je vois que vous avez correctement rangés vos logs, vous devriez regarder sans vos errorlogs pour commencer, puis dans les accesslogs, pour voir un peu de quoi ça parle, ce que fait Apache de vos requêtes web.

Par ailleurs, j'espère que les espaces dans les noms de dossier sont fictifs, uniquement pour nous montrer de quoi vous parlez à titre d'exemple ;). Les espaces sous Linux ne sont vraiment pas une bonne pratique.

– Meddy

Bonjour,``

J'ai effectué vos modifications et je rencontre toujours le même problème :confused:


site4.fr:443>
ServerAdmin contact@site4.fr

# Domaines gérés par ce virtualhost
ServerName www site4.fr
ServerAlias site4.fr *.site4.fr

# Racine Web
DocumentRoot /var/www/site4

# Règles spécifiques s'appliquant à ce dossier

Options -Indexes +FollowSymLinks
AllowOverride All



ErrorLog /home/dev/logs/site4_error.log
CustomLog /home/dev/logs/site4_access.log combined
SSLCertificateFile /xxx/xxx/xxx/www_site4_info.pem
SSLCertificateKeyFile /xxx/xxx/xxx/www site4.fr.key
SSLCertificateChainFile /xxx/xxx/xxx/www_site4.ca-bundle.crt


SSLOptions +StdEnvVars


SSLOptions +StdEnvVars


BrowserMatch "MSIE [2-6]" <br /> nokeepalive ssl-unclean-shutdown <br /> downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown




site3.net:80>
ServerAdmin contact@site3.net

# Domaines gérés par ce virtualhost
ServerName www site3.net
ServerAlias site3.net *.site3.net

# Racine Web
DocumentRoot /var/www/site3

# Règles spécifiques s'appliquant à ce dossier

Options -Indexes +FollowSymLinks
AllowOverride All



# Où placer les logs pour cette hôte
ErrorLog /home/dev/logs/site3_error.log
CustomLog /home/dev/logssite3_access.log combined



site2.fr:80>
ServerAdmin contact@site2.fr

# Domaines gérés par ce virtualhost
ServerName www site2.fr
ServerAlias site2.fr *.site2.fr

# Racine Web
DocumentRoot /var/www/site2

# Règles spécifiques s'appliquant à ce dossier

Options -Indexes +FollowSymLinks
AllowOverride All



# Où placer les logs pour cette hôte
ErrorLog /home/dev/logs/site2_error.log
CustomLog /home/dev/logs/site2_access.log combined



site1.fr:80>
ServerAdmin contact@site1.fr

# Domaines gérés par ce virtualhost
ServerName www site1.fr
ServerAlias site1.fr *.site1.fr

# Racine Web
DocumentRoot /var/www/site1

# Règles spécifiques s'appliquant à ce dossier

Options -Indexes +FollowSymLinks
AllowOverride All



# Où placer les logs pour cette hôte
ErrorLog /home/dev/logs/site1_error.log
CustomLog /home/dev/logs/site1_access.log combined



Oui, ce sont mes premiers post donc je n'avais pas le droit de mettre des liens de sites internet.

Concernant les logs, dans le access.log j'ai un comportement byzarre (site4 qui va consulter un fichier dans le répertoire de site4 en https :cry: )

xx.xxx.xxx.xx - - [25/Oct/2016:08:19:33 +0200] "GET /wp-content/themes/xxx/js/custom.js?ver=4.6.1 HTTP/1.1" 200 22533 "https://www site3.net/xxx.pdf" "Mozilla/5.0 (iPad; CPU OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A456 Safari/602.1"
xx.xxx.xxx.xx - - [25/Oct/2016:08:19:33 +0200] "GET /wp-includes/js/wp-embed.min.js?ver=4.6.1 HTTP/1.1" 200 1219 "https://www site3.net/xxx.pdf" "Mozilla/5.0 (iPad; CPU OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A456 Safari/602.1"
xx.xxx.xxx.xx - - [25/Oct/2016:08:19:33 +0200] "GET /wp-content/uploads/xxx.jpg HTTP/1.1" 200 161689 "https://www site3.net/xxx.pdf" "Mozilla/5.0 (iPad; CPU OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A456 Safari/602.1"
xx.xxx.xxx.xx - - [25/Oct/2016:08:19:33 +0200] "GET /wp-content/themes/xxx/vafpress-framework/public/css/fonts/fontawesome-webfont.woff2?v=4.5.0 HTTP/1.1" 200 67085 "https://www site3.net/xxx.pdf" "Mozilla/5.0 (iPad; CPU OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A456 Safari/602.1"

Par contre j'ai rien dans error.log.

Merci

Bonjour,

Aujourd'hui test en ajoutant mes domaines dans le fichier Host mais je rencontre toujours le même problème.

bsr, tien un exemple https://github.com/alexonbalangue/Website-Secute-referencer/blob/master/system-software/linux-apache-conf/httpd-vhosts.conf, si pas la c'est autres à vérifier tes DNS en équivalence et etc.. (commence HTTP puis HTTPS)

Merci, je vais voir si j'ai fait une erreur de mon fichier conf.

Qu'entendez vous par DNS en équivalent ?

Pour commencer enlever:


Options -Indexes +FollowSymLinks

puis remplacer

ServerAlias site1.fr *.site1.fr

par ServerAlias site1.fr
#logs tu place ou tu veux
ErrorLog "var/www/site1/error_log" #you can hidding this if not have bug or other
CustomLog "var/www/site1/access_log" combined #you can hidding this if not have bug or other
#ou non vus aux public
ErrorLog "var/www/logs/site1-error" #you can hidding this if not have bug or other
CustomLog "var/www/logs/site1-access" combined #you can hidding this if not have bug or other

ton directory est bien comme ceci <.Directory "var/www/Directory/".>
ta oublier : Require all granted

Vous avez pensées à redémarré apache après la configuration vhost.conf et de vérifier si il ya une erreur encore une fois

Merci pour la réponse.

J'ai effectué vos modifications et oui, à chaque fois je fais un reload puis un restart d'apache.

Après les modifications, je ne suis plus redirigé vers le site4 (https) mais vers le site 2.

Parcontre je n'ai rien dans les logs :confused:

Bonjour,

J'ai remplacé mon site par un fichier php info et impossible d’accéder à la page (redirigé vers un autre site).

Le plus bizarre, c' est que ce site est le site par défaut :confused:

Je continue mes investigations

Je commence à être à cours d'idée :frowning:(

Les domaines concernés sont :slight_smile:
- www raid4x4dor fr : OK
- www instantanes-alphonse fr : OK
- www followmytrack net : NOK redirige vers le second

Bonjour Francis,

pourriez-vous copier votre fichier de virtualhost ici ? Si il faut ajuster en enlevant des points, ou censurer des noms, ne vous gênez pas bien entendu :). Utilisez peut-être la fonction de ce forum pour copier du code (c'est l'icône `</>`), ça pourrait aider à avoir un affichage clair et faire paraître une éventuelle erreur + facilement pour les utilisateurs souhaitant vous aider (sans interpréter des portions en html etc).
Vous pouvez sinon simplement "Joindre un fichier" avec votre config virtualhost.

Ce soucis est vraiment étrange, rien ne nous semble si dérangeant dans votre configuration et nos remarques sont + des remarques à valeur "esthétique" que des raisons à vos problèmes.

– Meddy

Merci pour votre réponse, je suis vraiment à cours d'idée et je vois pas l'erreur que j'ai pû faire :confused:

Mon fichier de conf est disponible sur https://docs.google.com/document/d/1cLbm_HL6BkWhweUT4iWXVwTDXu84Sl_QLkRpHy5c_sE/pub Google Doc

Encore merci pour votre aide

Comment se fait-il que tondeuses.info en http redirige sur https alors que vous n&#39;écoutez pas le 80 dans la configuration que vous montrez sur Google Doc ? Vous utilisez la fonction de redirection par DNS du manager OVH ?<br /><br />&gt; $ curl -v followmytrack.net<br />&gt; * Rebuilt URL to: followmytrack.net/<br />&gt; *   Trying 164.132.197.229...<br />&gt; * TCP_NODELAY set<br />&gt; * Connected to followmytrack.net (164.132.197.229) port 80 (#0)<br />&gt; &gt; GET / HTTP/1.1<br />&gt; &gt; Host: followmytrack.net<br />&gt; &gt; User-Agent: curl/7.50.3<br />&gt; &gt; Accept: */*<br />&gt; &gt; <br />&gt; &lt; HTTP/1.1 301 Moved Permanently<br />&gt; &lt; Date: Tue, 01 Nov 2016 14:53:41 GMT<br />&gt; &lt; Server: Apache<br />&gt; &lt; Location: http://www.instantanes-alphonse.fr/<br />&gt; &lt; Expires: Tue, 01 Nov 2016 16:53:41 GMT<br />&gt; &lt; Content-Length: 0<br />&gt; &lt; Content-Type: text/html; charset&#61;UTF-8<br />&gt; &lt; <br />&gt; * Curl_http_done: called premature &#61;&#61; 0<br />&gt; * Connection #0 to host followmytrack.net left intact<br /><br />Bien, on voit que la requête arrive bien sur votre serveur web, et que c&#39;est de ce même serveur que la redirection se fait : nous recevons un 301.<br /><br />&gt; apachectl configtest<br />&gt; [Tue Nov 01 16:14:39 2016] [warn] VirtualHost <a target="_blank">followmytrack.net:80</a> overlaps with VirtualHost instantanes-<a target="_blank">alphonse.fr:80,</a> the first has precedence, perhaps you need a NameVirtualHost directive<br /><br />On voit ici qu&#39;Apache trouve quelque chose qui ne lui plaît pas vraiment, et indique qu&#39;une virtualhost est superposée à une autre.<br /><br />Lien intéressant : http://www.cyberciti.biz/faq/warn-_default_-virtualhost-overlap-port80-first-hasprecedence/<br /><br />En résumé, j&#39;ai eu ce soucis il y a quelques années, j&#39;ai tout mis mes virtualhost en *:80 plutôt que domaine.tld:80. Vous devriez essayer ça, ça ne m&#39;étonnerait pas que ça résolve vos difficultés.<br />(ils proposent sinon de mettre en début de fichier &#34;NameVirtualHost &#34;, ça fonctionnera aussi, c&#39;est à mettre hors directive ).<br /><br />Attention concernant les logs, y a des majuscules et des minuscules, pas sûr que ce soit volontaire. On voit tondeuses.info arriver dans les logs de followmytrack ... on voit un errorlogs commun à toutes vos vhost exceptée followmytrack. Les logs Apache se placent généralement dans /var/log/apache2 (une pratique intéressante : followmytrack-error.log et followmytrack-access.log seraient dans /var/log/apache2/followmytrack/).<br />Ce n&#39;est pas la cause de votre problème évidemment, mais plutôt une suggestion :).

Merci, j'ai corrigé mon fichier qui était effectivement pas très propre ! (https://docs.google.com/document/d/1cLbm_HL6BkWhweUT4iWXVwTDXu84Sl_QLkRpHy5c_sE/pub Fichier de conf)

J'ai fait aussi un config test et je n'ai pas le même résultat :

root@vps330357:~# apachectl configtest
[Tue Nov 01 16:48:14.648407 2016] [alias:warn] [pid 3721] AH00671: The Alias directive in /etc/phpmyadmin/apache.conf at line 3 will probably never match because it overlaps an earlier Alias.
Syntax OK

Sur la page d'admin d'OVH, j'ai fait une redirection de tondeuses.info vers le serveur (Type A).

D'ou peux venir la 301, de Apache ?

Edit : Mon fichier htaccess est vide dans mon dossier cible (j'ai uniquement un fichier php info)

Merci

Vous avez omis celui-ci (1ère ligne) : ``

Là votre Apache va mieux, il vous parle d'une autre conf sans rapport avec votre soucis virtualhost. De plus, c'est un warn, ce qui ne bloquera pas et ne cassera pas votre Apache si vous faites un restart.
La notice vous invité à visiter le fichier `/etc/phpmyadmin/apache.conf` à la ligne 3 ; possiblement lié à l'omission de la vhost tondeuses.info ?

Votre 301 venez d'Apache comme le bloc que je vous ai copié précédemment l'indiquait, est-ce encore d'actualité après reload voir même restart de votre Apache ?

Merci, j'ai corrigé le virtualhost tondeuses.info

Dans le fichier /phpmyadmin/apache.conf, j'ai ceci :

Alias /phpmyadmin /usr/share/phpmyadmin



AuthType Basic
AuthName "phpMyAdmin Access"
AuthUserFile /etc/phpmyadmin/htpasswd

Require valid-user

Options FollowSymLinks
DirectoryIndex index.php



AddType application/x-httpd-php .php


SetHandler application/x-httpd-php


php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/




Après le restart, j'ai toujours le 301 d'apache :confused:

J'ai testé votre configuration sur mon serveur personnel (c'est ainsi que j'ai pus voir l'erreur des overlaps) et chez moi ça fonctionne après avoir viré les "`Require all granted`" (qui ne sont normalement utile que si vous faites de la gestion d'accès par ip ou user, par exemple). Ce dernier me générait une erreur dans le errorlog. Avec cette instruction je me prenais une erreur 500, car pour mes tests j'ai juste un index.php dans mes DocumentRoot ;).

Avez-vous encore l'erreur concernant phpmyadmin avec le configtest maintenant que vous avez corrigé la virtualhost en 1ère ligne ?
Que disent vos error logs ?

N'hésitez pas à faire un essaie à partie d'un navigateur en mode "incognito" ou "privé", ça permettra de ne pas utiliser votre cache local et ainsi d'être certain du résultat affiché.

La config qui m'a servit à tester (notez que j'ai éditer mon fichier /etc/hosts de mon poste afin de pouvoir vérifier localement) :


ServerAdmin contact@followmytrack.net
# Domaines gérés par ce virtualhost
ServerName www.followmytrack.net
ServerAlias followmytrack.net
# Racine Web
DocumentRoot /home/obeone/public_html/cust/fmt
# Règles spécifiques s'appliquant à ce dossier

AllowOverride All
# Require all granted

# Où placer les logs pour cette hôte
ErrorLog "/var/log/apache2/cust/followmytrack-error.log"
CustomLog /var/log/apache2/cust/followmytrack_access.log combined



ServerAdmin contact@1alphonse.fralphonse.fr
# Domaines gérés par ce virtualhost
ServerName www.1alphonse.fralphonse.fr
ServerAlias 1alphonse.fralphonse.fr
# Racine Web
DocumentRoot /home/obeone/public_html/cust/ia
# Règles spécifiques s'appliquant à ce dossier

AllowOverride All
# Require all granted

# Où placer les logs pour cette hôte
ErrorLog "/var/log/apache2/cust/alphone-error.log"
CustomLog /var/log/apache2/cust/alphonse_access.log combined

Alors j'ai édité le fichier apache.conf dans phpmyadmin et j'ai commenté :

#Alias /phpmyadmin /usr/share/phpmyadmin

Ensuite, j'ai édité mon fichier de conf et j'ai enlevé les

Require all granted

Puis j'ai fait un config test (Syntax : OK), un reload et un retart.

Je rencontre toujours le même problème et je n'ai rien dans les dossiers de log, c'est à moi de créer les fichiers où ils sont créer automatiquement ?

Merci

Tu dois seulement créer les dossiers de logs, il met une erreur si le dossier de log n'existe pas (enfin, plutôt un warn).

J'ai demandé à un collègue de passer voir, + familié du mutu il verra peut-être ce qu'on ne voit pas :).
(il est pas mal occupé pour le moment, il passera sûrement + tard)