2017-06-10 5 views
0

J'ai un Ubuntu de Linode.com. J'essaie d'héberger plusieurs sites Web (domaines, chacun écoutera différents ports). Voici ce que je l'ai fait: Dans le fichier mysite.com.conf:Hôte Plusieurs domaines sous Linux (Ubuntu) du fournisseur Linode.com avec Apache 2.4

Listen *:81 
<VirtualHost *:81> 
    ServerName mysite.com 
    ServerAlias www.mysite.com 
</VirtualHost> 

Dans le fichier ports.conf

Listen *81 

puis exécutez la commande dans le terminal:

sudo a2ensite mysite.com.conf 
sudo service apache2 restart 

Puis-je configurer Gestionnaire DNS pour domaine mysite.com Mais quand je visite mysite.com à partir du navigateur, il écoute toujours le port 80. Donc, quand je configure multiplier le fichier hôte virtuel comme ci-dessus, pour différents domaines, Tous d'entre eux juste la route au port 80. Savez-vous quelle étape j'ai ratée et comment dire à Apache de redistribuer à différents port selon le nom de domaine entrant? J'ai suivi le tutoriel here.

+0

Ce n'est pas comme cela que la sélection de port fonctionne. Je doute que vous ayez vraiment besoin de différents ports. Vous devrez utiliser des URL comme https: //www.mysite.com:81/ pour atteindre un tel serveur http. C'est à peine souhaitable. A la place, vous voulez utiliser des "hôtes virtuels basés sur le nom", où tous les hôtes écoutent _sur le même numéro de port. Jetez un oeil à la documentation du serveur http apache. C'est la technologie courante de nos jours pour héberger plusieurs noms d'hôtes/domaines. – arkascha

+0

J'ai lu le tutoriel ici sur le site Apache: https://httpd.apache.org/docs/2.4/vhosts/examples.html Si je dois mettre le port après le nom des domaines, je peux y parvenir sans rien faire avec Apache. –

+0

Que voulez-vous dire par "alors je peux y parvenir sans rien faire avec Apache"? Vous utiliserez certainement le serveur http apache et vous devrez certainement le configurer, que vous utilisiez des hôtes virtuels basés sur un nom ou un port. – arkascha

Répondre

0

Tran

J'ai dans ma configuration et nous espérons qu'il vous aidera.

Mais avant tout, vous devez désactiver le 000 default.conf en faisant cela

sudo a2dissite 000-default.conf

Puis ajouter après les ports que vous souhaitez apache pour écouter par exemple mon apache écoute aux ports suivants 80,8080,1000 et 8000 dans mon fichier de configuration de ports.conf

# If you just change the port or add more ports here, you will likely also 
# have to change the VirtualHost statement in 
# /etc/apache2/sites-enabled/000-default.conf 

Listen 80 

<IfModule ssl_module> 
     Listen 443 
</IfModule> 

<IfModule mod_gnutls.c> 
     Listen 443 
</IfModule> 

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet 

Ensuite, votre mysite.com.conf devrait ressembler à ceci

<VirtualHost *:80> 

     ServerName mysite.com 
     ServerAlias www.mysite.com 

     ServerAdmin [email protected] 
     DocumentRoot /path/to/mysite.com 

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

</VirtualHost> 

Aftre faire tout ce travail, écrivez les commandes suivantes

sudo a2ensite mysite.com.conf 
sudo service apache2 restart

Ensuite, essayez d'accéder à votre site comme celui-

mysite.com

Espérons que cela aide. Merci

+0

Ce que je veux, c'est juste visiter: mysite. com et il cherchera automatiquement le port de ce domaine et le redirigera vers celui-ci. mysite.com:8080 n'est pas le bon choix pour les utilisateurs réguliers. –

+0

avez-vous essayé de visiter votre site comme ce monsite.com sans ajouter 8080 et n'a pas fonctionné – arksnorman

+0

Si je n'ai pas mis le port 8080 après le domaine alors il redirigera automatiquement au port 80. –