1 votes

L'accès à mon site Web hébergé sur apache modifie le numéro de port.

Toute aide serait grandement appréciée. Je suis coincé avec ce problème depuis longtemps maintenant.

Maintenant, voici la chose. J'ai sur mon serveur ubuntu 16.04 deux vhosts, un pour Nextcloud ( https://mydomain.com/owncloud/ ) qui fonctionne parfaitement et un pour mon wordpress ( https://mydomain.com/ ) qui ne fonctionne pas. Chaque fois que je saisis https://mydomain.com il retourne https://mydomain.com:16501 et mon navigateur web safari dit qu'il ne peut pas se connecter au serveur mydomain.com.

Mon wordpress fonctionnait auparavant et je n'ai aucune idée de l'origine de ce 16501.

J'ai essentiellement trois vhosts dans sites-enabled...

000.default.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

RewriteEngine on
RewriteCond %{SERVER_NAME} =mydomain.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

nextcloud.conf

<IfModule mod_ssl.c>
   <VirtualHost _default_:443>

     ServerAdmin mail@mymail.com
     ServerName mydomain.com
     DocumentRoot /var/www/html

Alias /nextcloud "/var/www/owncloud/"

<Directory /var/www/owncloud/>
  Options +FollowSymlinks
  AllowOverride All

 <IfModule mod_dav.c>
  Dav off
 </IfModule>

 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud

</Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined 

     <IfModule mod_headers.c>
          Header always set Strict-Transport-Security "max-age=15768000; preload"
     </IfModule>

SSLCertificateFile /etc/letsencrypt/live/mydomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

   </VirtualHost>
</IfModule>

wordpress.conf

<IfModule mod_ssl.c>
   <VirtualHost _default_:443>

     ServerAdmin mail@mymail.com
     ServerName mydomain.com
     ServerAlias www.mydomain.com
     DocumentRoot /var/www/html

<Directory /var/www/html/>
  AllowOverride All

</Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined 

SSLCertificateFile /etc/letsencrypt/live/mydomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

   </VirtualHost>
</IfModule>

Merci pour votre aide !

0voto

pa4080 Points 27038

Vous avez deux hôtes virtuels avec le même nom de domaine. ServerName Apache ne peut donc pas menacer cela et n'utilise que la première directive. La première est celle qui est définie dans le fichier nextcloud.conf parce que la lettre "n" est située avant "w" dans l'alphabet.

Une manière de résoudre ce problème est de combiner le contenu de nextcloud.conf y wordpress.conf et créez un VirtualHost - vous pouvez nommer le nouveau fichier de configuration mydomain.com.conf par exemple :

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>

        ServerAdmin mail@mymail.com
        ServerName mydomain.com      # Note along with mydomain.com your cert. file must
        ServerAlias www.mydomain.com # contain www.mydomain.com to use ServerAlias here

        DocumentRoot /var/www/html    
        <Directory /var/www/html/>
            AllowOverride All
        </Directory>

        Alias /nextcloud "/var/www/owncloud/"
        <Directory /var/www/owncloud/>

            Options +FollowSymlinks
            AllowOverride All

            <IfModule mod_dav.c>
                 Dav off
            </IfModule>

            SetEnv HOME /var/www/owncloud
            SetEnv HTTP_HOME /var/www/owncloud

            <IfModule mod_headers.c>
                Header always set Strict-Transport-Security "max-age=15768000; preload"
            </IfModule>

        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined 

        SSLCertificateFile /etc/letsencrypt/live/mydomain.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf

    </VirtualHost>
</IfModule>

Dans ce cas, vous devriez être en mesure d'accéder à l'installation de WordPress à l'adresse suivante https://mydomain.com et l'installation de ownCloud à https://mydomain.com/nextcloud . N'oubliez pas de a2dissite les anciens fichiers de conf, a2ensite le nouveau et redémarrez Apache.

Une autre solution consiste à utiliser des noms de domaine différents (FQDN) pour les VirtualHosts du stand. Par exemple mydomain.com pour WordPress et www.mydomain.com (ou cloud.mydomain.com ) pour ownCloud. Dans ce cas, vous n'avez pas besoin d'utiliser la directive Alias /nextcloud "/var/www/owncloud/" au lieu de cela, vous pouvez utiliser DocumentRoot /var/www/owncloud/ Vous pourrez ainsi accéder à votre ownCloud directement à l'adresse suivante https://www.mydomain.com (respectivement à https://clould.mydomain.com ).

En outre, dans la documentation sur les Apaches, vous trouverez les éléments suivants être informé de ne pas utiliser le moteur de réécriture lorsque vous pouvez utiliser des directives plus simples. Dans votre définition d'hôte HTTP, vous pouvez utiliser la directive Redirect comme elle l'est montré ici . La seule limite de cette approche est que vous devez créer un VirtualHost HTTP par FQDN.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X