Configurer Apache pour écouter sur un port autre que 80


102

J'utilise le serveur centOS. Je veux configurer apache pour écouter sur le port 8079. J'ai ajouté la directive LISTEN 8079 dans httpd.conf.
J'ai ouvert le port 8079 dans iptables et redémarré iptables. J'ai même arrêté le service iptables.

"netstat -nal | grep 8079" shows "tcp  0 0 :::8079 :::* LISTEN"

Si j'essaye d'accéder http://localhost:8079ou http://myserver.com:8079depuis cette machine, je peux accéder à cette page. MAIS à partir de toute autre machine, je ne peux pas accéder au site sur un port autre que 80. Sur le port 80, cela fonctionne. Sur le port 8079, ce n'est pas le cas.

Que dois-je configurer d'autre?

Réponses:


138

Dans /etc/apache2/ports.conf, changez le port comme

Listen 8079

Ensuite, allez dans /etc/apache2/sites-enabled/000-default.conf

Et changez la première ligne comme

<VirtualHost *: 8079>

Maintenant redémarrez

sudo service apache2 restart

Apache va maintenant écouter sur le port 8079 et rediriger vers / var / www / html


1
Non, juste le message ennuyeux "Cette page Web n'est pas disponible". Juste pour clarifier, le port 80 fonctionne parfaitement. Changer à la fois le VirtualHost et le Listen ne le résout pas pour moi. (AWS ubuntu). BTW, la raison pour laquelle j'en ai besoin pour écouter un port différent est parce que j'ai également configuré nginx pour écouter 80.
Tomer

1
question rapide: avez-vous ouvert le port entrant dans les groupes de sécurité alors que vous dites que vous êtes sur AWS ubuntu?
Shankar ARUL - jupyterdata.com

1
s'il y a une ligne NameVirtualHost *:80au Listen 80- dessus , changez-la également ......
Haider Ali

75

Ouvrez le fichier httpd.conf dans votre éditeur de texte. Trouvez cette ligne:

Listen 80

et changez-le

Listen 8079

Après le changement, enregistrez-le et redémarrez apache.


3
oui, mais j'ai mentionné dans la première ligne que j'ai déjà essayé cette "J'ai ajouté la directive LISTEN 8079 dans httpd.conf": ((
vivek.m

Oh sory. Je ne l'ai pas vu. Pouvez-vous publier le fichier httpd.conf n'importe où? Et utilisez-vous des logiciels tiers Wamp, Xampp, Appserv?
ismailperim

vous pouvez obtenir httpd.conf ici fileuploading.net/860467 rien de tel que WAMP, Xampp, Appserv. Tout ce que j'ai fait, c'est compiler les connecteurs apache, tomcat et jk à partir de la source et faire de mon mieux pour les faire fonctionner ensemble.
vivek.m

Je n'ai pas trouvé le problème: (tout semble normalement. J'ai essayé d'ajouter la ligne Listen 8076 sur mon serveur local mais cela fonctionnait normalement. Pouvez-vous essayer de réinstaller Apache si c'est possible?
ismailperim

2
Une chose que tout le monde semble oublier en répondant à ce genre de questions est de mentionner l'emplacement du fichier. Le fichier se trouve dans /etc/apache2/ports.conf
Mateus Viccari

23

C'était un problème de pare-feu. Il y avait un pare-feu matériel qui bloquait l'accès à presque tous les ports. (La désactivation du pare-feu logiciel / SELinux bla bla n'a eu aucun effet)

Ensuite, j'ai scanné les ports ouverts et utilisé le port qui était ouvert.

Si vous rencontrez le même problème, exécutez la commande suivante

sudo nmap -T Aggressive -A -v 127.0.0.1 -p 1-65000

Il recherchera tous les ports ouverts sur votre système. Tout port ouvert est accessible de l'extérieur.

Réf .: Http://www.go2linux.org/which_service_or_program_is_listening_on_port


netstat -anp | grep apache2 (Vous pouvez voir le port d'écoute et le PID de celui-ci s'il est en cours d'exécution.Ubuntu)
ImranNaqvi

Mon fournisseur de services cloud avait un pare-feu sur le dessus qui bloquait le port. Vérifiez les pare-feu placés ailleurs que sur le serveur cible.
Yamada le

16

Si vous avez besoin d'un port d'écoute apache autre que 80, vous devez ajouter le fichier suivant sous ubuntu

"/etc/apache2/ports.conf"

la liste des ports d'écoute

Listen 80
Listen 81
Listen 82

Une fois que vous devez accéder à votre fichier de configuration des hôtes virtuels et définir le suivant

<VirtualHost *:80>
  #...v host 1
</VirtualHost>


<VirtualHost *:81>
  #...host 2
</VirtualHost>


<VirtualHost *:82>
  #...host 3
</VirtualHost>

7

Cela fonctionne pour moi sur Centos

Premièrement: dans le fichier /etc/httpd/conf/httpd.conf

ajouter

Listen 8079 

après

Listen 80

Ceci jusqu'à ce que votre serveur écoute le port 8079

Deuxièmement: accédez à votre hôte virtuel par exemple. /etc/httpd/conf.d/vhost.conf

et ajoutez ce code ci-dessous

<VirtualHost *:8079>
   DocumentRoot /var/www/html/api_folder
   ServerName example.com
   ServerAlias www.example.com
   ServerAdmin root@example.com
   ErrorLog logs/www.example.com-error_log
   CustomLog logs/www.example.com-access_log common
</VirtualHost>

Cela signifie que lorsque vous accédez à votre www.example.com:8079redirection vers

/ var / www / html / api_folder

Mais vous devez d'abord redémarrer le service

sudo service httpd restart


2

Si vous utilisez Apache sous Windows :

  1. Vérifiez le nom du service Apache avec Win+ R+ services.msc+ Enter(si ce n'est pas ApacheX.Y, il devrait avoir le nom du logiciel que vous utilisez avec apache, par exemple: "wampapache64");
  2. Démarrez une invite de commande en tant qu'administrateur (l'utilisation de Win+ R+ cmd+ Enterne suffit pas);
  3. Accédez au répertoire d'Apache, par exemple cd c:\wamp\bin\apache\apache2.4.9\bin:;
  4. Vérifiez si le fichier de configuration est OK avec: httpd.exe -n "YourServiceName" -t(remplacez le nom du service par celui que vous avez trouvé à l'étape 1);
  5. Assurez-vous que le service est arrêté: httpd.exe -k stop -n "YourServiceName"
  6. Commencez avec: httpd.exe -k start -n "YourServiceName"
  7. Si ça commence bien, le problème n'est plus là, mais si vous obtenez:

    AH00072: make_sock: impossible de se lier à l'adresse IP: PORT_NUMBER

    AH00451: pas de prises d'écoute disponibles, arrêt

    Si le numéro de port n'est pas celui que vous vouliez utiliser, ouvrez le fichier de configuration Apache (par exemple, C:\wamp\bin\apache\apache2.4.9\conf\httpd.confouvrez avec un éditeur de code ou un bloc - notes , mais pas le bloc - notes - il ne lit pas correctement les nouvelles lignes) et remplacez le numéro sur la ligne qui commence avec Listenle numéro du port souhaité, enregistrez-le et répétez l'étape 6. Si c'est celui que vous vouliez utiliser, continuez:

  8. Vérifiez le PID du processus qui utilise ce port avec Win+ R+ resmon+ Enter, cliquez sur l' onglet Réseau puis sur le sous - onglet Ports ;
  9. Tuez-le avec: taskkill /pid NUMBER /f( /fforce);
  10. Vérifiez resmonà nouveau que le port est libre maintenant et répétez l'étape 6.

Cela garantit que le service Apache a été démarré correctement, la configuration sur le fichier de configuration des hôtes virtuels comme sarul mentionné (par exemple :)C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf est nécessaire si vous définissez le chemin de vos fichiers là-dedans et changez également le port. Si vous changez encore, souvenez - vous de redémarrer le service: httpd.exe -k restart -n "YourServiceName".


1

Pour serveur FC22

cd / etc / httpd / conf modifier httpd.conf [entrée]

Changement: écouter 80 à: écouter quel que soit le nombre

Enregistrez le fichier

systemctl restart httpd.service [enter] si nécessaire, ouvrez le numéro de votre routeur / pare-feu

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.