- Configure apache to listen on port other than 80
- 8 Answers 8
- Как изменить HTTP-порт Apache в Linux
- Изменить порт apache ubuntu на другой
- How To Change Port Number in Apache in Ubuntu
- How To Change Port Number in Apache in Ubuntu
- 1. Open Apache Config File
- 2. Change Apache Port Number
- 3. Open Virtual Host Configuration (for Ubuntu/Debian)
- 4. Restart Apache Server
Configure apache to listen on port other than 80
I use centOS server. I want to configure apache to listen on port 8079. I added LISTEN 8079 directive in httpd.conf .
I opened port 8079 in iptables and restarted iptables. I even stopped iptables service.
"netstat -nal | grep 8079" shows "tcp 0 0 . 8079 . * LISTEN"
If I try to access http://localhost:8079 or http://myserver.com:8079 from that machine, I can access that page. BUT from any other machine I am not able to access the site on any port other than 80. On port 80, it works. On port 8079 it does not. What else do I need to configure?
8 Answers 8
In /etc/apache2/ports.conf , change the port as
Then go to /etc/apache2/sites-enabled/000-default.conf
And change the first line as
sudo service apache2 restart
Apache will now listen on port 8079 and redirect to /var/www/html
No, just the «This webpage is not available» annoying message. Just to clarify, port 80 works perfectly. Changing both the VirtualHost and the Listen doesn’t solve it for me. (AWS ubuntu). B.T.W the reason I need it to listen to a different port is because I’ve also configured nginx to listen to 80.
quick question: did you open up the inbound port in the security groups as you say you’re on AWS ubuntu ?
Open httpd.conf file in your text editor. Find this line:
After change, save it and restart apache.
yes, but I mentioned in the first line that I have already tried this «I added LISTEN 8079 directive in httpd.conf» :((
Oh sory. I didnt see it. Can you post httpd.conf file any where? And are you using 3rd party software Wamp,Xampp,Appserv?
you can get httpd.conf here fileuploading.net/860467 nothing like WAMP, Xampp, Appserv. All I have done is compiling apache, tomcat and jk connector from source and trying my best to make them work together.
i didnt find the problem 🙁 everything seems normally. i tried add Listen 8076 line in my local server but its worked normally. Can you try re-setup apache if is possible?
One thing everybody seems to forget when answering this kind of questions is to mention the file location. The file is located in /etc/apache2/ports.conf
It was a firewall issue. There was a hardware firewall that was blocking access to almost all ports. (Turning off software firewall / SELinux bla bla had no effect)
Then I scanned the open ports and used the port that was open.
If you are facing the same problem, Run the following command
sudo nmap -T Aggressive -A -v 127.0.0.1 -p 1-65000
It will scan for all the open ports on your system. Any port that is open can be accessed from outside.
netstat -anp | grep apache2 (You could see the listening port and PID from this if it’s running.Ubuntu)
My cloud service provider had a firewall on top that was blocking the port. Check firewalls placed other than in the target server.
If you need apache Listen port other than 80, you should add next file under ubuntu
Listen 80 Listen 81 Listen 82
After you have to go on your Virtual hosts conf file and define next
This is working for me on Centos
First: in file /etc/httpd/conf/httpd.conf
This till your server to listen to the port 8079
Second: go to your virtual host for ex. /etc/httpd/conf.d/vhost.conf
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
This mean when you go to your www.example.com:8079 redirect to
/var/www/html/api_folder
But you need first to restart the service
sudo service httpd restart
- Check the name of the Apache service with Win + R + services.msc + Enter (if it’s not ApacheX.Y, it should have the name of the software you are using with apache, e.g.: «wampapache64»);
- Start a command prompt as Administrator (using Win + R + cmd + Enter is not enough);
- Change to Apache’s directory, e.g.: cd c:\wamp\bin\apache\apache2.4.9\bin ;
- Check if the config file is OK with: httpd.exe -n «YourServiceName» -t (replace the service name by the one you found on step 1);
- Make sure that the service is stopped: httpd.exe -k stop -n «YourServiceName»
- Start it with: httpd.exe -k start -n «YourServiceName»
- If it starts alright, the problem is no longer there, but if you get:
AH00072: make_sock: could not bind to address IP:PORT_NUMBER AH00451: no listening sockets available, shutting down
This ensures that Apache’s service was started properly, the configuration on virtual hosts config file as sarul mentioned (e.g.: C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf ) is necessary if you are setting your files path in there and changing the port as well. If you change it again, remember to restart the service: httpd.exe -k restart -n «YourServiceName» .
Как изменить HTTP-порт Apache в Linux
HTTP-сервер Apache сегодня является одним из наиболее часто используемых веб-серверов в Интернете благодаря его гибкости, стабильности и целому ряду функций, некоторые из которых на данный момент отсутствуют на других веб-серверах, таких как конкурент Nginx.
Некоторые из наиболее важных функций Apache включают в себя возможность загружать и запускать различные типы модулей и специальные конфигурации во время выполнения без фактической остановки сервера или, что еще хуже, компиляции программного обеспечения каждый раз, когда добавляется новый модуль и играет особую роль. файлами .htaccess, которые могут изменять конфигурации веб-сервера, характерные для корневых веб-каталогов.
По умолчанию веб-сервер Apache получает указание прослушивать входящие соединения и привязываться к порту 80. Если вы выберете конфигурацию TLS, сервер будет прослушивать безопасные соединения через порт 443.
Чтобы указать веб-серверу Apache привязываться и прослушивать веб-трафик на портах, отличных от стандартных веб-портов, вам необходимо добавить новый оператор, содержащий новый порт для будущих привязок.
В системе на основе Debian/Ubuntu необходимо изменить файл конфигурации /etc/apache2/ports.conf и на основе RHEL/CentOS. дистрибутивы отредактируйте файл /etc/httpd/conf/httpd.conf.
Откройте файл, относящийся к вашему собственному дистрибутиву, с помощью текстового редактора консоли и добавьте новый оператор порта, как показано в приведенном ниже отрывке.
# nano /etc/apache2/ports.conf [On Debian/Ubuntu] # nano /etc/httpd/conf/httpd.conf [On RHEL/CentOS]
В этом примере мы настроим сервер Apache HTTP для прослушивания подключений через порт 8081. Убедитесь, что вы добавили приведенный ниже оператор в этот файл после директивы, которая указывает веб-серверу прослушивать порт 80, как показано на изображении ниже.
После того, как вы добавили указанную выше строку, вам необходимо создать или изменить виртуальный хост Apache в дистрибутиве на основе Debian/Ubuntu, чтобы начать процесс привязки в соответствии с вашими собственными требованиями к виртуальному хосту.
В дистрибутивах CentOS/RHEL изменение применяется непосредственно к виртуальному хосту по умолчанию. В приведенном ниже примере мы изменим виртуальный хост веб-сервера по умолчанию и укажем Apache прослушивать веб-трафик с порта 80 на порт 8081.
Откройте и отредактируйте файл 000-default.conf и измените порт на 8081, как показано на рисунке ниже.
# nano /etc/apache2/sites-enabled/000-default.conf
Наконец, чтобы применить изменения и заставить Apache привязываться к новому порту, перезапустите демон и проверьте таблицу сокетов локальной сети с помощью команды netstat или ss. Порт 8081 при прослушивании должен отображаться в сетевой таблице вашего сервера.
# systemctl restart apache2 # netstat -tlpn| grep apache # ss -tlpn| grep apache
Вы также можете открыть браузер и перейти к IP-адресу вашего сервера или доменному имени через порт 8081. Страница Apache по умолчанию должна отображаться в браузере. Однако, если вы не можете просмотреть веб-страницу, вернитесь к консоли сервера и убедитесь, что установлены правильные правила брандмауэра, разрешающие трафик через порт.
В дистрибутиве Linux на основе CentOS/RHEL установите пакет policycoreutils, чтобы добавить необходимые правила SELinux для привязки Apache к новому порту и перезапустите HTTP-сервер Apache, чтобы применить изменения.
# yum install policycoreutils
Добавьте правила Selinux для порта 8081.
# semanage port -a -t http_port_t -p tcp 8081 # semanage port -m -t http_port_t -p tcp 8081
Перезапустите веб-сервер Apache.
# systemctl restart httpd.service
Выполните netstat или команду ss, чтобы проверить, успешно ли связывается новый порт, и прослушивать входящий трафик.
# netstat -tlpn| grep httpd # ss -tlpn| grep httpd
Откройте браузер и перейдите к IP-адресу вашего сервера или доменному имени через порт 8081, чтобы проверить, доступен ли новый веб-порт в вашей сети. В браузере должна отображаться страница Apache по умолчанию.
Если вы не можете перейти по указанному выше адресу, убедитесь, что вы добавили правильные правила брандмауэра в таблицу брандмауэра вашего сервера.
Изменить порт apache ubuntu на другой
У меня apache стоит на порту 80. Хочу поменять, например, на 8080.
Менял здесь /etc/apache2/ports.conf не помогает. После перезапуска apache порт восстанавливается на 80. В других местах менял — тоже самое.
Подскажите верный вариант?
grep -ri Listen /etc/apache2
После перезапуска apache порт восстанавливается на 80
# netstat -tulpn | grep :80 # netstat -tulpn | grep :8080
идешь в /etc/apache2/sites-enabled/default и меняешь Listen 80 на «не 80»
Ещё я добавил в файл /etc/apache2/apache2.conf строчку «Listen 8080» — только тогда работает.
Однако, теперь работает на двух портах. Как отменить порт 80
В безлунную полночь зарезать на цыганском кладбище черную курицу и написать ее кровью себе на лбу «MᖷTЯ». Дома в зеркале прочтешь ответ.
сделай в консоли cat /etc/apache2/sites-enabled/000-default
ServerName sitev.ru
ServerAlias sitev.ru http://www.sitev.ru
DocumentRoot /var/www/sitev.ru
AllowOverride All
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews
+SymLinksIfOwnerMatch
Order allow,deny
Allow from all
# 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
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
# 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
How To Change Port Number in Apache in Ubuntu
Sometimes, you may need to run Apache on a different port because you need to run reverse proxy on port 80. Here’s how to change port number in Apache in Ubuntu. You can also use these steps to change Apache port number in Windows, CentOS and other Linux systems.
How To Change Port Number in Apache in Ubuntu
Here are the steps to change port number in Apache in Ubuntu from 80 to 8080.
1. Open Apache Config File
Open terminal and run the following command to open Apache server configuration file.
CentOS/Fedora:
$ sudo vi /etc/httpd/conf/httpd.conf
Ubuntu/Debian:
$ sudo vi /etc/apache2/ports.conf
2. Change Apache Port Number
You will find the following line binding Apache to port 80
3. Open Virtual Host Configuration (for Ubuntu/Debian)
When you change port number in Apache on Ubuntu/Debian systems, you need to also change port number in virtual host configuration file
If you have configured virtual host for your website (e.g www.mysite.com) at /etc/apache2/sites-enabled/mysite.conf then you can open that file instead.
$ sudo vi /etc/apache2/sites-enabled/mysite.conf
Otherwise, open the default virtual host configuration file at
$ sudo vi /etc/apache2/sites-enabled/000-default.conf
You will find the following line
In redhat/fedora/centos systems, Apache automatically applies the changes to default virtual host file. If you have setup your own virtual host, then you will have to update port number in it, as described above.
4. Restart Apache Server
Restart Apache Server to apply changes
$ sudo systemctl restart apache2 #SystemD $ sudo service apache2 restart #SysVInit
Open browser and enter http://your_ip_adress:8080 (e.g http:192.168.1.102:8080). You will see the Apache default page
That’s it! Now Apache will run on a different port, 8080.
That’s it! Now Apache will run on a different port, 8080. By the way, if you want to create charts & dashboards to monitor your business or website, you can try Ubiq. We offer a 14-day free trial.