Windows server открыть порт для apache

Обновлено: 05.07.2024

Этичный хакинг и тестирование на проникновение, информационная безопасность

Подключение виртуальных хостов Apache в Windows

Виртуальные хосты могут быть привязаны к имени хоста (например, study.loc), к IP (например, 127.0.0.3) и к порту (*:81). Второй и третий способ хороши тем, что нам не придётся решать вопрос о DNS преобразованиях имени нашего виртуального хоста (это, обычно, достигается изменением системного файла C:\Windows\System32\drivers\etc\hosts либо использованием личного DNS сервера с соответствующими записями).

Рассмотрим все три способа. Но начнём с небольшой подготовки. Создадим каталог, в котором будем размещать наши виртуальные хосты. Например, C:\Server\data\htdocs\virthosts\. А в этом каталоге создадим три новых папки: host1, host2, host3. В каждой из них создайте по индексному файлу (index.html) с любым содержанием, который позволил бы идентифицировать, что вы попали в нужный хост. Я сделаю следующие записи в соответствующих индексных файлах хостов, для первого хоста:

Теперь приступим к настройки виртуальных хостов.

Виртуальные хосты на основе IP

Для виртуальных хостов, которые привязаны к IP, требуются несколько IP. Тем не менее, на своём локальном сервере вы можете проделать этот фокус, поскольку в IPv4, в 127.0.0.1 также отражается любой адрес в пределах от 127.0.0.0 до 127.255.255.255.

Попробуйте набрать в браузере 127.0.0.1, а затем попробуйте 127.0.0.2, 127.0.0.3, 127.0.0.4, 127.0.0.5 и т.д. Как видите, IP у нас много, и к каждому из них можно привязать виртуальных хост.

Перезапустите веб-сервер (делайте перезапуск после каждого изменения файла настройки):

А теперь откройте 127.0.0.2:

01

При этом на другие IP 127.0.0.*, а также на localhost наши настройки влияние не оказывают.

Виртуальные хосты на основе портов (разные сайты на разных портах)

02

Виртуальные хосты на основе имени хоста

Следующий способ требует редактирование файла C:\Windows\System32\drivers\etc\hosts (либо внесение записи в ваш собственный DNS сервер). Придумайте любое имя хоста, желательно, не совпадающее с реальным. Примеры supersite, study.loc, video.ofme. Я возьму в качестве примера study.loc. Откройте файл C:\Windows\System32\drivers\etc\hosts и добавьте туда:

03

Аналогично настраиваются и субдомены (dir1.study.loc, dir2.study.loc, dir3.localhost и т.п.).

Автоматическое создание виртуальных хостов / субдоменов

А также, если вы не сделали этого ранее, строку:

Теперь любая папка, созданная в C:\Server\data\htdocs\virthosts\ будет доступна по адресу вида

Обратите внимание на обозначение «%1» - оно значит первую часть имени, запрошенного виртуального хоста. То есть для запрошенного хоста super.localhost символы «%1» будут обозначать «super».

Вместо «%1» вы можете указать «%0» - это означает полное имя, то есть для запрошенного хоста super.localhost символы «%0» будут обозначать super.localhost и, следовательно, будет искаться папка super.localhost, а не super (как это происходит при использовании %1).

Помните, имена хостов вида *.localhost автоматически преобразуются в локальные IP адреса. Но если вы хотите использовать другие имена хостов, то укажите их в файле C:\Windows\System32\drivers\etc\hosts, чтобы компьютер понимал, какое имя какому IP адресу соответствует.

Обратите внимание, что теперь не учитывается .localhost. На самом деле, вы можете использовать и .localhost, просто создав папки «host1.localhost», «host2.localhost» и так далее.

Как сделать резервную копию БД MySQL в Windows?

Резервную копию можно создать в графическом веб-интерфейсе в phpMyAdmin. Если вы хотите сделать бэкап сразу всех баз данных, то перейдите на главную страницу phpMyAdmin, оттуда перейдите во вкладку Экспорт. Далее всё достаточно просто, в том числе и с дополнительными опциями.

Аналогично при бэкапе отдельных баз данных: перейдите на страницу интересующей БД, а далее в Экспорт.

Если вы по каким-то причинам хотите сделать бэкап базы данных MySQL из командной строки в Windows, то для этого понадобиться утилита mysqldump.exe, она поставляется вместе с MySQL и расположена в каталоге C:\Server\bin\mysql-8.0\bin\.

Для её использования откройте командную строку и перетащите туда программу. Программу можно использовать с разнообразными опциями:

Если вы хотите сделать резервную копию всех баз данных в один файл, то выполните:

Кстати, файл нужно искать в той папке, которую вы видите в приглашении командной строки.

Для того, чтобы сделать резервную копию только одной базы данных (например, rsyslog):

Чтобы сделать резервную копию нескольких баз данных используйте опцию --databases, а после него через пробел перечислите желаемые для бэкапа базы данных:

Чтобы сделать резервную копию только одной таблицы (wp_posts) из базы данных (wordpress):

Для того, чтобы сделать резервную копию нескольких таблиц, перечислите их через пробел после названия БД:

Краткая характеристика основных директив конфигурационных файлов Apache

Настройка ограничения доступа к папкам сервера

Если вы хотите использовать SSL в веб-сервере Apache под Windows, то вам необходимы три файла: *.key, *.csr и *.crt. Если вы купили валидный SSL сертификат для вашего сайта, то эти файлы вам должны прислать после покупки. Их может быть больше – среди них могут быть промежуточные сертификаты.

Предполагается, что вы ставили веб-сервер по этой инструкции – иначе замените абсолютные пути на свои собственные.

Откройте командную строку Windows (WIN + x, далее выберите «Командная строка»). В командной строке введите команды:

При вводе последней команды появятся запросы на английском языке. Ниже следует их перевод.

Двухбуквенное имя страны (двухбуквенный код)

Название штата или провинции/области (полное имя)

Название населённого пункта (например, города)

Название организации (т.е. компании).

Подразделение организации (т.е. отдел)

Общее имя (например, FQDN сервера или ВАШЕ имя). Можете ввести localhost.

Пожалуйста, введите следующие «дополнительные» атрибуты для отправки с вашим запросом сертификата

  • Пароль запроса:
  • Опциональное имя компании:

Теперь выполните команду:

В результате в каталоге C:\Server\bin\Apache24\bin\ должны появиться три новых файла:

  • localhost.key
  • localhost.csr
  • localhost.crt

Из них нам понадобятся только два:

При использовании сертификатов для настройки реального веб-сайта, удобнее создать виртуальный хост с примерно следующими настройками:

Для настройки использования SSL на локальном веб-сервере Apache в Windows следуйте инструкции ниже.

В каталоге C:\Server\ создайте новую папку certs и переместите туда файлы localhost.key и localhost.crt.

Обратите внимание, что вам может понадобиться отредактировать следующие директивы

  • DocumentRoot — укажите путь до сайтов на сервере
  • ServerName — укажите имя вашего хоста, если то не локалхост

После этого сохраните изменения, закройте файл и перезапустите веб-сервер.


К самоподписанным сертификатам нет доверия и эту ошибку нельзя убрать без добавления таких сертификатов в доверенные. Для перехода нажмите «Всё равно продолжить».

Настоящие валидные сертификаты для своих сайтов (в том числе бесплатно на любое количество времени), вы сможете получить здесь.

Чтобы понимать, что такое Forwarding и для чего это нужно, вспомним как устроено подключение большинства домашних компьютеров. Обычно у большинства из нас дома установлен роутер, к которому подключён кабель Интернет-провайдера. От этого роутера наши домашние устройства — компьютеры, телефоны, планшеты, умные телевизоры и другие — подключаются к Интернету через Wi-Fi или кабель. То есть у нас дома функционирует локальная сеть, в которой у каждого из устройств есть свой локальный (серый) IP адрес.

Представим, что на одном из компьютеров вы установили и настроили веб-сервер Apache. И вы хотите, чтобы к этому веб-серверу можно было подключаться из Интернета. Самый простой способ это сделать — набрать в адресной строке внешний IP адрес.

Кстати, вот вы сидите за компьютером, который через роутер подключён к Интернету, у меня к вам вопрос, какой внешний IP адрес у компьютера? Вы можете зайти на один из многочисленных сервисов показа вашего IP адреса, но суть в том, что любой ответ будет неправильным. Дело в том, что у вашего компьютера, который подключён к Интернету через роутер, вообще нет внешнего IP! Этот внешний IP есть только у вашего роутера (и то не всегда — об этом в этой же статье, но позже).

Если вашему компьютеру нужно выйти в Интернет, то он по локальной сети обращается к роутеру, роутер для него делает запрос, и затем также по локальной сети отправляет полученный ответ. То есть роутер выходит в Интернет, а ваш компьютер — нет. У роутера есть внешний IP адрес, а у вашего компьютера — нет.

Возвращаемся к нашей ситуации — мы хотим, чтобы наш веб-сервер был доступен из Глобальной сети (из Интернета) — как мы все знаем, в глобальной сети компьютеры обмениваются данными друг с другом на основе адресации по IP. Но у нашего компьютера вообще нет внешнего IP — есть только локальный, который для Интернета является немаршрутизируемым, то есть никто никакие данные на наш локальный IP адрес не сможет прислать из глобальной сети.

Вот именно эту проблему и решает Forwarding, который ещё называют «переадресацией» портов, «проброской портов», «перенаправлением портов».

Для чего нужна проброска портов. Что делает Forwarding

Перенаправление портов заключается в следующем: на роутере (или на другом сетевом устройстве) устанавливается правило, суть которого примерно в следующем

В качестве IP адреса может быть указан локальный, серый IP. Пример такого адреса выше (192.168.1.30). В качестве исходного порта и порта назначения можно указывать любые порты, они не обязательно должны быть одинаковыми.

Перенаправление портов для Apache

Как бы это не было странно, но именно в настройках Apache ничего для перенаправления портов делать не надо.

Настройка роутера требует добавления одной записи, в которой нужно указать локальный IP адрес, на который будет переадресовываться пришедший запрос. По умолчанию в роутерах используется DHCP — если коротко, благодаря этому протоколу любое подключившееся к роутеру устройство автоматически получает IP адрес. Это удобно — не нужно делать настройки. Но дело в том, что устройству выдаётся любой не занятый IP в локальной сети. Поэтому у компьютера с веб-сервером может меняться IP адрес при каждом переподключении, в результате, настроенная переадресация портов перестанет работать из-за смены IP веб-сервера.

То есть начать нужно с того, чтобы настроить статичный локальный IP адрес для компьютера. Это можно сделать двумя способами: 1) на компьютере с веб-сервером, 2) в роутере

Для изменения на компьютере, откройте Панель управления → Сеть и Интернет → Центр управления сетями и общим доступом → Изменение параметров адаптера:


Правой кнопкой мыши откройте контекстное меню интересующего вас подключения, найдите там пункт IP версии 4 (TCP/IPv4):


Нажмите Свойства и пропишите нужные параметры в зависимости от настроек вашей сети (Основной шлюз — это IP адрес вашего роутера):


Некоторые роутеры поддерживают выдачу статичных IP адресов определённым устройствам сети — они их запоминают на основе MAC-адреса устройства. У всех роутеров это настраивается чуть по-разному, но обычно нужно искать в настройках DHCP. Некоторые роутеры не поддерживают эту возможность.

Переадресация портов для Apache в роутере


В качестве портов назначения и перенаправления запроса укажите 80. На скриншоте видно, что можно установить не один порт, а диапазон портов. Если вы хотите настроить только один порт, то укажите одно и то же значение в качестве начала диапазона и конца диапазона.

В качестве Local (локальный IP, адрес, куда будет перенаправлен запрос) укажите IP веб-сервера. External (внешний IP) указывать не нужно.

Активируйте созданное правило перенаправления портов.

Теперь все запросы, пришедшие на 80 порт роутера, будут перенаправлены на указанный IP адрес и указанный порт. Аналогичные настройки можно сделать для любых служб — для FTP сервера, SSH и так далее. То есть к этим службам появиться доступ из внешней сети.

Делая такие настройки, всегда помните о безопасности. Теперь служба становится доступной из глобальной сети, и хакеры могут атаковать её.

Когда не нужен Forwarding

Если у вас кабель Интернет-провайдера напрямую подключается к компьютеру с веб-сервером, то вам не нужен форвардинг. При аренде VPS сервера также не нужен форвардинг, так как у таких серверов прямой (белый) IP адрес.

Если Интернет провайдер использует NAT

NAT — это технология, которая позволяет множеству устройств выходить в Интернет используя один и тот же IP адрес. Кстати, в вашей локальной сети, в которой имеется роутер, уже применяется NAT — именно благодаря этому все ваши устройства могут выходить в Глобальную сеть и не нужно каждому из них иметь внешний IP.

И поэтому даже если вы на своём роутере правильно настроили форвардинг портов, может получиться так, что вы всё равно не сможете подключится к нему из Интернета. Выход из такой ситуации только один — аренда белого IP у Интернет-провайдера.

Одной из наиболее значимых функций Apache является возможность загружать и запускать различные типы модулей и конфигураций, не останавливая работу веб-сервера. Кроме того, не нужно каждый раз перекомпилировать сервер, добавляя в него новые модули. Важную роль играют .htaccess файлы, которые могут изменять конфигурации веб-сервера в определенных каталогах. В этой статье мы рассмотрим как изменить порт apache в Ubuntu и CentOS.

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


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

Нужно открыть и отредактировать файл /etc/apache2/sites-enabled/000-default.conf, указав порт 8081, как показано на картинке ниже.

sudo nano /etc/apache2/sites-enabled/000-default.conf


Чтобы применить изменения и новые порты Apache стали доступны, перезапустите сервис. После перезапуска порт 8081 должен отображаться в выводе утилиты ss или netstat. Команды для Ubuntu:

sudo systemctl restart apache2
sudo netstat -tlpn | grep apache
sudo ss -tlpn | grep apache



Если у вас включен SELinux в CentOS или RHEL установите пакет policycoreutils, чтобы добавить необходимые правила. А потом перезапустите Apache для применения изменений.

sudo yum install policycoreutils

Чтобы открыть порт Apache 8081 добавьте правила SELinux.

Откройте браузер и попытайтесь перейти на ваш сервер по IP-адресу или доменному имени через порт 8081. Убедитесь в работоспособности порта. В браузере должна отобразиться страница Apache.

Если вы вcё ещё не можете получить доступ к данному адресу убедитесь, что этот порт разрешен в брандмауэре вашего сервера.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Кто-нибудь, пожалуйста, помогите мне, я могу изменить любые другие настройки?

Чтобы изменить порт сервера XAMPP Apache, выполните следующие действия:

1. Выберите свободный номер порта.

Порт по умолчанию, используемый Apache, - 80 .

Screenshot of xampp control netstat

Затем вы можете увидеть все используемые порты, и здесь мы видим, что порт 80 уже используется System .

screenshot netstat port 80

Выберите свободный номер порта ( 8012 для этого примера).

2. Отредактируйте файл " httpd.conf "

Этот файл следует найти в C:\xampp\apache\conf в Windows или в bin/apache для Linux .:

3. Отредактируйте файл " http-ssl.conf "

Этот файл следует найти в C:\xampp\apache\conf\extra в Windows или просмотреть ссылка для Linux .

Найдите следующие строки:

Замените их на другой номер порта ( 8013 для этого примера):

Перезагрузите сервер Apache.

4. Настройте параметры сервера XAMPP Apache.

  • Откройте Панель управления Xampp .
  • Выберите Конфигурация ► Настройки службы и порта ► Apache .
  • Замените значения Основной порт и Порт SSL выбранными (например, 8012 и 8013 ).
  • Сохраните настройки службы
  • Сохраните конфигурацию панели управления
  • Перезагрузите сервер Apache Теперь он должен работать.

4.1. Конфигурация веб-браузера

Если эта конфигурация не скрывает номер порта в URL-адресе, это потому, что ваш веб-браузер не настроен для. См. Раздел Инструменты ► Параметры ► Общие ► Параметры подключения… позволяет выбрать другие порты или изменить настройки прокси.

4.2. Для редких случаев полного невезения

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

  • Найдите местоположение файла xampp-control.exe (возможно, в C:\xampp )
  • Создайте файл XAMPP.INI в этом каталоге (чтобы XAMPP.ini и xampp-control.exe находились в одном каталоге)

Поместите следующие строки в файл XAMPP.INI :

Теперь вы всегда получите:

Если не работает с идентификатором порта, измените его. например, 8082,8080 Перезапустите xammp, запустите сервер apache, проверьте его. Теперь он работает.

У меня тоже была проблема. Я переключил порт, но не смог запустить на 8012.

Skype был задействован, потому что у него был тот же порт - 80. И он не мог позволить apache изменить свой порт.

Перезагрузите xampp, запустите apache, проверьте localhost.

Если XAMPP server сейчас работает, остановите сервер XAMPP.

Выполните следующие действия, чтобы изменить номер порта.

Откройте файл в следующем месте.

Слушайте 80

Это номер порта, используемый XAMPP.

Затем найдите строку ServerName и обновите номер порта , который вы ввели ранее для Listen

Теперь сохраните и перезапустите сервер XAMPP.

Лучшее решение - перенастроить сервер XAMPP Apache для прослушивания и использования разных номеров портов. Вот как вы это делаете:

Измените номер порта на номер порта. по вашему выбору (например, порт 1234), как показано ниже

Измените его, чтобы прослушивать новый порт по вашему выбору. Скажи как:

Измените это ServerName на свой новый номер порта.

9) Наконец, есть еще одно место, где вы должны изменить номер порта. Для этого нажмите и откройте кнопку «Конфигурация» на панели управления XAMPP. Затем нажмите кнопку «Настройки службы и порта». В нем щелкните вкладку «Apache», введите и сохраните новые номера портов в полях «Основной порт» и «Порт SSL». Нажмите «Сохранить» и закройте поля конфигурации.

Это должно делать свое дело. Теперь «запустите» Apache, и если все пойдет хорошо, ваш сервер Apache должен запуститься.

Вы также увидите, что номер порта Apache на панели управления XAMPP изменился на новые идентификаторы порта, которые вы установили.

Читайте также: