Как изменить порт apache windows

Если какая-либо программа использует порт, то другой процесс уже не может использовать этот же самый порт. К примеру, если на вашем компьютере порт 80 уже занят, то Apache просто не запустится).

Зачем менять порт веб-сервера

Если какая-либо программа использует порт, то другой процесс уже не может использовать этот же самый порт. К примеру, если на вашем компьютере порт 80 уже занят, то Apache просто не запустится).

Ещё одной причиной, почему может возникнуть желание поменять порт — сделать ваш сервер менее заметным. К примеру, если вы не предприняли мер по защите, то любой в вашей локальной или глобальной сети может подключиться к вашему веб-серверу. Если скрипты содержат уязвимости или просто плохо настроены, то постороннее лицо может лазить по вашим локальным сайтам и, в случае удачной атаки, даже лазить по всему вашему компьютеру. Если поменять порт со стандартного 80 на какой-нибудь необычный, то сервер будет чуть труднее найти. Хотя сканеры портов всё равно смогут это сделать.

Итак, по умолчанию Apache использует 80 порт, это определяется директивой:

Listen 80

в конфигурационном файле httpd.conf.

Чтобы изменить порт, откройте этот файл и вместо 80 впишите любой другой незанятый в вашей системе:

Listen 48855

Для кого не подойдёт смена порта

Если ваш сайт предназначен быть публичным сервером и сайты должны быть доступны другим пользователям, то смена порта нежелательна, поскольку они смогут перейти на ваш сайт только по специальному адресу.

Как открыть сайт на нестандартном порту

Чтобы открыть сайт на нестандартных портах (не на 80 или 443), добавьте через двоеточие к адресу сайта порт, который прослушивает сервер:http://localhost:48855

Также можно делать ссылки такого вида: http://localhost:48855. Они являются работающими и вы можете перенаправить посетителя с одной страницы или сайта на другой, работающий на нестандартном порте.

Связанные статьи:

  • Apache Forwarding — проброска портов веб-сервера (100%)
  • Apache для Windows (52.4%)
  • Как запустить Apache на Windows (52.4%)
  • Документация по Apache на русском языке (52.4%)
  • Как подключить PHP к Apache на Windows (52.4%)
  • Для чего нужен веб-сервер Apache (RANDOM — 52.4%)

На прошлой неделе я столкнулся с сервером с HTTPS-портом 80, уже занятым другим программным обеспечением. «Виновником» было неудивительно, что другое программное обеспечение веб-сервера, а именно IIS. Поскольку пользователи IIS уже привыкли к порту по умолчанию, установка Apache не имела другого выбора, кроме как использовать менее популярный порт для HTTP, в данном случае порт 81.

Вы можете спросить, почему порт 80 важен для http? Ну, во-первых, это простота использования для пользователей. Если вы просматриваете веб-сервер, прослушивающий порт, отличный от порта 80, вам нужно будет указать номер порта вместе с адресом.

Примерно так: http://yourdomain.com:81/ если порт 81 является портом вашего веб-сервера. Если вы используете порт 80, вам не нужно будет вводить порт 80 по адресу, поскольку это стандартный порт, используемый для HTTP. В соответствии с http://www.tcpipguide.com

«Чтобы избежать хаоса, программное обеспечение, которое реализует определенный процесс сервера, обычно использует один и тот же зарезервированный номер порта на каждом IP-устройстве, поэтому клиенты могут легко его найти … Каждый веб-браузер просто« знает », что веб-сайты предназначены для прослушивания запросов, отправляемых на порт 80”,

Итак, установив этот факт, давайте посмотрим, как мы можем изменить порт нашей установки Apache. Сначала найдите файл httpd.conf в папке Apache> conf.

image

httpd.conf — это текстовый файл, используемый всеми реализациями Apache, поэтому изменение установки Unix Apache или Windows Apache выполняется одинаково — через этот файл конфигурации. Откройте файл в вашем любимом текстовом редакторе и найдите строку «Listen 80»:

image

Эта строка определяет Apache для прослушивания порта 80. Все, что вам нужно сделать, это изменить этот порт 80 на любой порт, который вы хотите использовать. Убедитесь, что используемый вами порт является свободным и еще не занят другими службами. Прочитайте наше руководство о бесплатный сканер портов если вы не уверены

После того, как вы отредактировали файл, сохраните его и перезапустите Apache. Чтобы проверить, если вы уже используете новый порт, просмотрите URL с портом, который вы использовали. Например, если вы ввели порт 81 в качестве нового порта, новый URL-адрес должен быть http: // yourdomain: 81.

Другой метод, который я читал об онлайн, немного отличается. Если вышеперечисленное не работает для вас, попробуйте перейти в /etc/apache2/ports.conf и изменить там строку Listen на что-то вроде Listen 81.

Затем перейдите в /etc/apache2/sites-enabled/000-default.conf и измените первую строку на VirtualHost *: 81. Перезапустите Apache, и вы сможете посещать домен, не вводя номер порта. Apache должен автоматически перенаправить в / var / www / html. Наслаждайтесь!

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?

Eric Leschinski's user avatar

asked Oct 15, 2010 at 9:15

vivek.m's user avatar

In /etc/apache2/ports.conf, change the port as

Listen 8079

Then go to /etc/apache2/sites-enabled/000-default.conf

And change the first line as

<VirtualHost *: 8079>

Now restart

sudo service apache2 restart

Apache will now listen on port 8079 and redirect to /var/www/html

sith's user avatar

sith

3,1848 gold badges27 silver badges46 bronze badges

answered Sep 26, 2014 at 16:53

Shankar ARUL's user avatar

Shankar ARULShankar ARUL

12.1k11 gold badges67 silver badges69 bronze badges

3

Open httpd.conf file in your text editor.
Find this line:

Listen 80

and change it

Listen 8079

After change, save it and restart apache.

answered Oct 15, 2010 at 9:18

ismailperim's user avatar

ismailperimismailperim

1,5222 gold badges17 silver badges24 bronze badges

9

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.

Ref.: http://www.go2linux.org/which_service_or_program_is_listening_on_port

answered Oct 20, 2010 at 13:11

vivek.m's user avatar

vivek.mvivek.m

3,1635 gold badges31 silver badges47 bronze badges

2

If you need apache Listen port other than 80, you should add next file under ubuntu

«/etc/apache2/ports.conf»

the list of Listen ports

Listen 80
Listen 81
Listen 82

After you have to go on your Virtual hosts conf file and define next

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


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


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

answered Mar 27, 2018 at 12:21

dmitri's user avatar

dmitridmitri

4605 silver badges11 bronze badges

This is working for me on Centos

First: in file /etc/httpd/conf/httpd.conf

add

Listen 8079 

after

Listen 80

This till your server to listen to the port 8079

Second: go to your virtual host for ex. /etc/httpd/conf.d/vhost.conf

and add this code below

<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>

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

dlemstra's user avatar

dlemstra

7,6352 gold badges26 silver badges43 bronze badges

answered Dec 30, 2015 at 20:42

Ahmed Bermawy's user avatar

Ahmed BermawyAhmed Bermawy

2,2104 gold badges36 silver badges42 bronze badges

If you are using Apache on Windows:

  1. 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»);
  2. Start a command prompt as Administrator (using Win+R+cmd+Enter is not enough);
  3. Change to Apache’s directory, e.g.: cd c:wampbinapacheapache2.4.9bin;
  4. 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);
  5. Make sure that the service is stopped: httpd.exe -k stop -n "YourServiceName"
  6. Start it with: httpd.exe -k start -n "YourServiceName"
  7. 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

    If the port number is not the one you wanted to use, then open the Apache config file (e.g. C:wampbinapacheapache2.4.9confhttpd.conf open with a code editor or wordpad, but not notepad — it does not read new lines properly) and replace the number on the line that starts with Listen with the number of the port you want, save it and repeat step 6. If it is the one you wanted to use, then continue:

  8. Check the PID of the process that is using that port with Win+R+resmon+Enter, click on Network tab and then on Ports subtab;
  9. Kill it with: taskkill /pid NUMBER /f (/f forces it);
  10. Recheck resmon to confirm that the port is free now and repeat step 6.

This ensures that Apache’s service was started properly, the configuration on virtual hosts config file as sarul mentioned (e.g.: C:wampbinapacheapache2.4.9confextrahttpd-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".

Community's user avatar

answered Feb 4, 2016 at 18:36

Armfoot's user avatar

ArmfootArmfoot

4,5255 gold badges44 silver badges60 bronze badges

For FC22 server

cd /etc/httpd/conf
edit httpd.conf [enter]

Change:
Listen 80
to:
Listen whatevernumber

Save the file

systemctl restart httpd.service [enter]
if required, open whatevernumber in your router / firewall

answered Aug 23, 2015 at 7:18

Fedora's user avatar

Run this command if your ufw(Uncomplicatd Firewall) is enabled .
Add for Example port 8080

$ sudo ufw allow 8080/tcp

And you can check the status by running

$ sudo ufw status

For more info check :
https://linuxhint.com/ubuntu_allow_port_firewall

answered Aug 26, 2020 at 19:53

Hesam Moosapour's user avatar

I have installed xampp control panel and Apache 2.2 on windows XP
when I type http://localhost/ gives me page which says It Works!

Now, I want to change the port number 80 to some other number

How to change it ?
in how many files does it needs to be changed ?
dose it require to restart the system to change to take effect ?

Note: I have changed port number in C:xamppapacheconfhttpd.conf

in two places where it says

Listen 80

and

ServerName localhost:80

Pls help,
thanks.

joschi's user avatar

joschi

21k3 gold badges46 silver badges50 bronze badges

asked Mar 9, 2010 at 5:08

1

Please go to the

httpd.conf

and change

Listen 80

to

Listen 8080

or any port.

Remember to allow that port through firewall and you have restart the Apache service not the system.

answered Jun 23, 2014 at 10:53

TBI Infotech's user avatar

TBI InfotechTBI Infotech

1,55610 silver badges17 bronze badges

Go to your httpd.conf file and on about like 40ish change:

Listen 80

to:

Listen 1234

Or whatever port you choose!

answered Mar 9, 2010 at 5:12

Old question, but maybe this helps someone..

If you are running in a virtual host environment, just change the top line of the virtual host directive:

<VirtualHost 172.20.30.40:18080>
    ServerName www.example.com
    DocumentRoot "/www/domain-18080"
</VirtualHost>

You will still need to add the listen 18080 directive in httpd.conf.

answered Feb 18, 2017 at 11:56

Jahmic's user avatar

JahmicJahmic

2591 gold badge5 silver badges14 bronze badges

1 Open Httpd.conf file from (c:/xamp/apache/conf) and edit Replace the words

Listen 80 to Listen 8080

2 ServerName localhost:80 To ServerName localhost:8080
And save the file.

  1. Open the file httpd-ssl.conf from (c:/ xamp/apache/conf/extra). for edit ssl port number to 8081 So need to replace

Listen 443 To Listen 8081

**<VirtualHost _default_:443> To <VirtualHost _default_:8081>**

ServerName localhost:8013 To ServerName localhost:8081

Save File

  1. Open Xamp

  2. Go to Config -> Service and Port Settings -> Appache

  3. Change Main port to 8080 and SSL Port to 8081

More in Details

answered Mar 19, 2017 at 12:59

Muhammed Athil's user avatar

Go to your apache-tomcat Installation folder there you find conf folder inside that server.xml file will be there.. You can change the port number and configuration setting for your server.

Drive:apache-tomcatconfserver.xml

answered Mar 9, 2010 at 5:14

thanks for response

but only changing port number in: C:xamppapacheconfhttpd.conf
didn’t work (apache couldn’t start)

so with above mention change,

we have to change port number in another file to make it work

i have changed in : C:xamppapacheconfextrahttpd-ssl.conf

in above file
find

(if port number you want is 85)

Listen 443

change it to

Listen 85

find

change it to

find

ServerName localhost:443

change it to

ServerName localhost:85

the port number in C:xamppapacheconfhttpd.conf and C:xamppapacheconfextrahttpd-ssl.conf should be different.

restart Apache service in XAMPP Control Panel
and type in your browses address bar : http://localhost:’port number’/

answered Mar 9, 2010 at 6:31

To answer the original question:

To change the XAMPP Apache server port here the procedure :

1. Choose a free port number

The default port used by Apache is 80.

Take a look to all your used ports with Netstat (integrated to XAMPP Control Panel).

Screenshot of xampp control netstat

Then you can see all used ports and here we see that the 80port is already used by System.

screenshot netstat port 80

Choose a free port number (8012, for this exemple).

2. Edit the file «httpd.conf«

This file should be found in C:xamppapacheconf on Windows or in bin/apache for Linux.:

Listen 80
ServerName localhost:80

Replace them by:

Listen 8012
ServerName localhost:8012

Save the file.

Access to : http://localhost:8012 for check if it’s work.

If not, you must to edit the http-ssl.conf file as explain in step 3 below. ↓

3. Edit the file «http-ssl.conf«

This file should be found in C:xamppapacheconfextra on Windows or see this link for Linux.

Locate the following lines:

Listen 443
<VirtualHost _default_:443>
ServerName localhost:443

Replace them by with a other port number (8013 for this example) :

Listen 8013
<VirtualHost _default_:8013>
ServerName localhost:8013

Save the file.

Restart the Apache Server.

Access to : http://localhost:8012 for check if it’s work.

4. Configure XAMPP Apache server settings

If your want to access localhost without specify the port number in the URL
http://localhost instead of http://localhost:8012.

  • Open Xampp Control Panel
  • Go to ConfigService and Port SettingsApache
  • Replace the Main Port and SSL Port values ​​with those chosen (e.g. 8012 and 8013).
  • Save Service settings
  • Save Configuration of Control Panel
  • Restart the Apache Server
    xampp apache setting port
    It should work now.

4.1. Web browser configuration

If this configuration isn’t hiding port number in URL it’s because your web browser is not configured for. See : Tools ► Options ► General ► Connection Settings… will allow you to choose different ports or change proxy settings.

4.2. For the rare cases of ultimate bad luck

If step 4 and Web browser configuration are not working for you the only way to do this is to change back to 80, or to install a listener on port 80 (like a proxy) that redirects all your traffic to port 8012.

To answer your problem :

If you still have this message in Control Panel Console :

Apache Started [Port 80]

  • Find location of xampp-control.exe file (probably in C:xampp)
  • Create a file XAMPP.INI in that directory (so XAMPP.ini and xampp-control.exe are in the same directory)

Put following lines in the XAMPP.INI file:

[PORTS]
apache = 8012

Now , you will always get:

Apache started [Port 8012]

Please note that, this is for display purpose only.
It has no relation with your httpd.conf.

To answer the original question:

To change the XAMPP Apache server port here the procedure :

1. Choose a free port number

The default port used by Apache is 80.

Take a look to all your used ports with Netstat (integrated to XAMPP Control Panel).

Screenshot of xampp control netstat

Then you can see all used ports and here we see that the 80port is already used by System.

screenshot netstat port 80

Choose a free port number (8012, for this exemple).

2. Edit the file «httpd.conf«

This file should be found in C:xamppapacheconf on Windows or in bin/apache for Linux.:

Listen 80
ServerName localhost:80

Replace them by:

Listen 8012
ServerName localhost:8012

Save the file.

Access to : http://localhost:8012 for check if it’s work.

If not, you must to edit the http-ssl.conf file as explain in step 3 below. ↓

3. Edit the file «http-ssl.conf«

This file should be found in C:xamppapacheconfextra on Windows or see this link for Linux.

Locate the following lines:

Listen 443
<VirtualHost _default_:443>
ServerName localhost:443

Replace them by with a other port number (8013 for this example) :

Listen 8013
<VirtualHost _default_:8013>
ServerName localhost:8013

Save the file.

Restart the Apache Server.

Access to : http://localhost:8012 for check if it’s work.

4. Configure XAMPP Apache server settings

If your want to access localhost without specify the port number in the URL
http://localhost instead of http://localhost:8012.

  • Open Xampp Control Panel
  • Go to ConfigService and Port SettingsApache
  • Replace the Main Port and SSL Port values ​​with those chosen (e.g. 8012 and 8013).
  • Save Service settings
  • Save Configuration of Control Panel
  • Restart the Apache Server
    xampp apache setting port
    It should work now.

4.1. Web browser configuration

If this configuration isn’t hiding port number in URL it’s because your web browser is not configured for. See : Tools ► Options ► General ► Connection Settings… will allow you to choose different ports or change proxy settings.

4.2. For the rare cases of ultimate bad luck

If step 4 and Web browser configuration are not working for you the only way to do this is to change back to 80, or to install a listener on port 80 (like a proxy) that redirects all your traffic to port 8012.

To answer your problem :

If you still have this message in Control Panel Console :

Apache Started [Port 80]

  • Find location of xampp-control.exe file (probably in C:xampp)
  • Create a file XAMPP.INI in that directory (so XAMPP.ini and xampp-control.exe are in the same directory)

Put following lines in the XAMPP.INI file:

[PORTS]
apache = 8012

Now , you will always get:

Apache started [Port 8012]

Please note that, this is for display purpose only.
It has no relation with your httpd.conf.

Like this post? Please share to your friends:
  • Как изменить порт 8291 winbox mikrotik
  • Как изменить порт 3389 на другой
  • Как изменить порог разряда батареи
  • Как изменить порог включения вентилятора на видеокарте nvidia geforce
  • Как изменить порог включения вентилятора ваз 2114