Как подключиться к серверу apache
Apache HTTP Server
Содержание
Версии Apache в Ubuntu
Хостинг сайтов
Можно реализовать четырьмя способами:
Установка
Для установки Apache выполните в терминале:
Настройка
В Ubuntu конечный файл настройки (apache2.conf) расделён на несколько файлов, расположенных в разных поддиректориях. Подробней написано в комментариях файла apache2.conf.
Кодировка по умолчанию
Для указания кодировки по умолчанию следует использовать директиву AddDefaultCharset в файле /etc/apache2/conf-available/charset.conf (или раскомментировать соответствующую строку):
Виртуальные хосты
Файлы настроек виртуальных хостов хранятся в /etc/apache2/sites-available/*.conf. По умолчанию в Apache уже настроен один виртуальный хост. Его настройки лежат в файле 000-default.conf. Вы можете использовать этот виртуальный хост в качестве примера.
Пример настройки виртуального хоста:
Назовите файл настройки именем вашего хоста host1.server1.conf и сохраните.
После создания файла настроек допишите в /etc/hosts имя вашего хоста:
Для включения созданного виртуального хоста используется утилита a2ensite :
Отключается хост аналогично утилитой a2dissite :
Модули
mod_userdir
Модуль mod_userdir позволяет использовать директории, находящиеся в домашних директориях пользователей для хранения веб страниц. По умолчанию Apache ищет запрашиваемые страницы в директории
и добавьте необходимого пользователя в группу www-data:
после чего перезагрузите Apache:
Страницы будут доступны по адресу http://localhost/
username, где username — имя пользователя.
Если Вы хотите запускать на сервере cgi-скрипты, подключите модуль cgi командой
По умолчанию cgi-скрипты размещаются в директории /usr/lib/cgi-bin, но вы можете разместить их где угодно, указав это в настройках своего виртуального хоста, либо глобально для всех хостов в файле /etc/apache2/conf-enabled/serve-cgi-bin.conf.
Настройка HTTPS в Apache
Веб-сервер Apache полностью поддерживает работу по HTTPS. Чтобы активировать поддержку HTTPS на уже установленном Apache, необходимо выполнить следующее.
Создание ключа и ssl-сертификата
Использование самоподписанных сертификатов хоть и защищает от пассивного прослушивания, тем не менее не гарантирует клиентам, что сервер является именно тем сервером, который им нужен. Преимуществом самоподписанных сертификатов является их бесплатность. Сертификат, подписанный компанией-сертификатором (Certificate authority), стоит денег.
Для создания ключа и сертификата вводим команду:
На вопрос «Enter PEM pass phrase:» отвечаем паролем, подтверждаем и запоминаем.
После ответа на все вопросы в директории должны появиться два новых файла — server.pem (ключ) и server.crt (сертификат).
Чтобы использовать сгенерированный ключ, нужно знать пароль, введённый нами, и Apache будет спрашивать его у нас при загрузке, а к чему нам лишние вопросы от демонов? 🙂 Поэтому снимаем пароль с ключа:
Скопируем их в /etc/ssl и назначим файлу ключа права чтения только администратору:
Настройка Apache
Для начала необходимо активировать mod_ssl :
А затем включить настройки HTTPS сайта по умолчанию:
Теперь необходимо отредактировать файл с настройками HTTPS сайта по умолчанию, указав в нём пути к вашим сертификатам. Сам файл называется /etc/apache2/sites-enabled/default-ssl (или /etc/apache2/sites-enabled/default-ssl.conf ).
В этом файле рекомендуется после директивы
чтобы запретить использование устаревшего протокола SSLv2.
Дальше вам необходимо отредактировать параметры, ответственные за сертификаты.
Теперь просто перезагрузите Apache:
И если все параметры указаны верно, ваши сайты станут доступны по HTTPS.
Перенаправление HTTP запросов на HTTPS
При этом все настройки директорий можно удалить, поскольку по HTTP на ваши сайты всё равно будет не попасть.
Всё, теперь ещё раз перезапустите Apache и убедитесь, что при заходе по HTTP вы автоматически перенаправляетесь на HTTPS-страницу.
Установка локального сервера Apache 2.4 на компьютер с Windows
Как установить локальный сервер Apache 2.4 на компьютер с Windows?
Использование Apache HTTP Server в Microsoft Windows
Этот документ объясняет, как установить, настроить и запустить Apache 2.4 под Microsoft Windows. Если у вас есть вопросы после просмотра документации (и любых журналов событий и ошибок), вам следует обратиться к списку рассылки, поддерживаемому равноправными пользователями.
В этом документе предполагается, что вы устанавливаете бинарный дистрибутив Apache. Если вы хотите скомпилировать Apache самостоятельно (возможно, для помощи в разработке или отслеживании ошибок), см. Компиляция Apache для Microsoft Windows.
Требования к операционной системе
Основной платформой Windows для запуска Apache 2.4 является Windows 2000 или более поздняя версия. Всегда получайте и устанавливайте текущий пакет обновления, чтобы избежать ошибок операционной системы.
Версии Apache HTTP Server более поздние, чем 2.2, не будут работать ни в одной операционной системе, предшествующей Windows 2000.
Загрузка Apache для Windows
Сам по себе Apache HTTP Server Project не предоставляет бинарные выпуски программного обеспечения, только исходный код. Отдельные коммиттеры могут предоставлять бинарные пакеты для удобства, но это не релиз, подлежащий доставке.
Если вы не можете скомпилировать Apache HTTP Server самостоятельно, вы можете получить бинарный пакет из многочисленных бинарных дистрибутивов, доступных в Интернете.
Популярные варианты развертывания Apache httpd (и, необязательно, PHP и MySQL) в Microsoft Windows включают в себя:
Настройка Apache для Windows
Apache настраивается с помощью файлов в подкаталоге conf. Это те же файлы, которые используются для настройки версии Unix, но есть несколько разных директив для Apache в Windows. Смотрите указатель директив для всех доступных директив.
Основные отличия в Apache для Windows:
Директивы управления процессом также различны:
MaxConnectionsPerChild: Как и директива Unix, она контролирует, сколько соединений будет обслуживать один дочерний процесс перед выходом. Однако, в отличие от Unix, процесс замены не доступен мгновенно. Используйте значение по умолчанию MaxConnectionsPerChild 0, если не указано, как изменить поведение для устранения утечки памяти в сторонних модулях или внутрипроцессных приложениях.
Предупреждение. Файл конфигурации сервера перечитывается при запуске нового дочернего процесса. Если вы изменили httpd.conf, новый дочерний элемент может не запуститься или вы можете получить неожиданные результаты.
LoadModule status_module «modules/mod_status.so»
Запуск Apache как сервиса
Apache поставляется с утилитой, которая называется Apache Service Monitor. С его помощью вы можете видеть и управлять состоянием всех установленных сервисов Apache на любом компьютере в вашей сети. Чтобы иметь возможность управлять службой Apache с помощью монитора, сначала необходимо установить службу (либо автоматически через установку, либо вручную).
Вы можете установить Apache в качестве службы Windows NT следующим образом из командной строки в подкаталоге Apache bin:
Если вам нужно иметь конкретно названные файлы конфигурации для разных сервисов, вы должны использовать это:
Удаление службы Apache легко. Просто используйте:
Определенную службу Apache, которую нужно удалить, можно указать с помощью:
Вы также можете управлять сервисом Apache с помощью переключателей командной строки. Для запуска установленного сервиса Apache необходимо использовать это:
Чтобы остановить службу Apache через ключи командной строки, используйте это:
Вы также можете перезапустить работающую службу и заставить ее перечитать файл конфигурации, используя:
По умолчанию все службы Apache зарегистрированы для запуска в качестве системного пользователя (учетная запись LocalSystem). Учетная запись LocalSystem не имеет прав доступа к вашей сети через какой-либо механизм, защищенный Windows, включая файловую систему, именованные каналы, DCOM или безопасный RPC. Однако он имеет широкие привилегии на локальном уровне.
Никогда не предоставляйте никаких сетевых привилегий учетной записи LocalSystem! Если вам нужен Apache для доступа к сетевым ресурсам, создайте отдельную учетную запись для Apache, как указано ниже.
Пользователям рекомендуется создать отдельную учетную запись для запуска служб Apache. Если вам необходимо получить доступ к сетевым ресурсам через Apache, это необходимо.
Обычно рекомендуется предоставлять пользователю доступ к службе Apache в режиме чтения и выполнения (RX) для всего каталога Apache2.4, за исключением подкаталога logs, где пользователь должен иметь права как минимум на изменение (RWXD).
Если вы разрешаете учетной записи входить в систему как пользователь и как служба, то вы можете войти в систему с этой учетной записью и проверить, имеет ли учетная запись привилегии для выполнения сценариев, чтения веб-страниц и что вы можете запустить Apache в окне консоли. Если это работает, и вы выполнили шаги, описанные выше, Apache должен работать как сервис без проблем.
Код ошибки 2186 является хорошим признаком того, что вам необходимо просмотреть конфигурацию «Вход в систему» для службы, поскольку Apache не может получить доступ к требуемому сетевому ресурсу. Также обратите пристальное внимание на привилегии пользователя, настроенного для запуска Apache.
При запуске Apache как службы вы можете получить сообщение об ошибке из диспетчера управления службами Windows. Например, если вы попытаетесь запустить Apache с помощью апплета Services на панели управления Windows, вы можете получить следующее сообщение:
Could not start the Apache2.4 service on \\COMPUTER
Error 1067; The process terminated unexpectedly.
(Не удалось запустить службу Apache2.4 на \\ COMPUTER
Ошибка 1067; Процесс неожиданно завершился.)
Вы получите эту общую ошибку, если возникнут проблемы с запуском службы Apache. Чтобы увидеть, что действительно вызывает проблему, вы должны следовать инструкциям по запуску Apache для Windows из командной строки.
Если у вас возникли проблемы со службой, рекомендуется выполнить приведенные ниже инструкции, чтобы попытаться запустить httpd.exe из окна консоли, и устранить ошибки, прежде чем пытаться запустить его как службу снова.
Запуск Apache как консольного приложения
Запуск Apache как службы обычно является рекомендуемым способом его использования, но иногда проще работать из командной строки, особенно во время начальной настройки и тестирования.
Чтобы запустить Apache из командной строки как консольное приложение, используйте следующую команду:
Apache выполнится и будет работать до тех пор, пока не будет остановлен нажатием Control-C.
Если Apache работает как служба, вы можете остановить его, открыв другое окно консоли и введя:
Запуску в качестве службы следует отдавать предпочтение перед запуском в окне консоли, потому что это позволяет Apache завершать любые текущие операции и корректно очищаться.
Но если сервер работает в окне консоли, вы можете остановить его, только нажав Control-C в том же окне.
Вы также можете Apache перезапустить. Это заставляет его перечитать файл конфигурации. Любые выполняемые операции разрешено выполнять без перерыва. Чтобы перезапустить Apache, нажмите Control-Break в окне консоли, которое вы использовали для запуска Apache, или введите
если сервер работает как сервис.
c:
cd «\Program Files\Apache Software Foundation\Apache2.4\bin»
httpd.exe
Затем дождитесь остановки Apache или нажмите Control-C. Затем введите следующее:
При работе с Apache важно знать, как он найдет файл конфигурации. Вы можете указать файл конфигурации в командной строке двумя способами:
В обоих этих случаях правильный ServerRoot должен быть установлен в файле конфигурации.
Если вы не укажете файл конфигурации с помощью -f или -n, Apache будет использовать имя файла, скомпилированное на сервере, например conf\httpd.conf. Этот встроенный путь относится к каталогу установки. Вы можете проверить имя скомпилированного файла по значению, помеченному как SERVER_CONFIG_FILE, при вызове Apache с ключом -V, например так:
Затем Apache попытается определить свой ServerRoot, выполнив следующие действия в следующем порядке:
Если вы не выполняли бинарную установку, Apache в некоторых случаях будет жаловаться на отсутствующий раздел реестра. Это предупреждение можно игнорировать, если сервер в противном случае смог найти свой файл конфигурации.
Значением этого ключа является каталог ServerRoot, который содержит подкаталог conf. Когда Apache запускается, он читает файл httpd.conf из этого каталога. Если этот файл содержит директиву ServerRoot, которая содержит каталог, отличный от каталога, полученного из ключа реестра выше, Apache забудет ключ реестра и использует каталог из файла конфигурации. Если вы копируете каталог Apache или файлы конфигурации в новое местоположение, очень важно обновить директиву ServerRoot в файле httpd.conf, чтобы отразить новое местоположение.
Тестирование установки
После запуска Apache (в окне консоли или в качестве службы) он будет прослушивать порт 80 (если только вы не изменили директиву Listen в файлах конфигурации или не установили Apache только для текущего пользователя). Чтобы подключиться к серверу и получить доступ к странице по умолчанию, запустите браузер и введите этот URL:
Apache должен ответить с приветственной страницей, и вы должны увидеть «It Works!». Если ничего не происходит или вы получаете сообщение об ошибке, посмотрите файл error.log в подкаталоге logs. Если ваш хост не подключен к сети или у вас есть серьезные проблемы с конфигурацией DNS (службы доменных имен), вам, возможно, придется использовать этот URL:
Если вы используете Apache на альтернативном порту, вам нужно явно указать это в URL:
Как только ваша базовая установка заработает, вы должны правильно ее настроить, отредактировав файлы в подкаталоге conf. Опять же, если вы измените конфигурацию службы Windows NT для Apache, сначала попытайтесь запустить ее из командной строки, чтобы убедиться, что служба запускается без ошибок.
Поскольку Apache не может использовать тот же порт совместно с другим приложением TCP/IP, вам может потребоваться остановить, удалить или перенастроить некоторые другие службы перед запуском Apache. Эти конфликтующие службы включают в себя другие WWW-серверы, некоторые реализации брандмауэра и даже некоторые клиентские приложения (такие как Skype), которые будут использовать порт 80, чтобы попытаться обойти проблемы брандмауэра.
Настройка доступа к сетевым ресурсам
Доступ к файлам по сети можно указать с помощью двух механизмов, предоставляемых Windows:
Mapped drive letters
e.g., Alias «/images/» «Z:/»
UNC paths
e.g., Alias «/images/» «//imagehost/www/images/»
Сопоставленные буквы дисков позволяют администратору поддерживать сопоставление с конкретным компьютером и путем вне конфигурации Apache httpd. Однако эти сопоставления связаны только с интерактивными сеансами и не доступны напрямую для Apache httpd, когда он запускается как служба. Используйте только пути UNC для сетевых ресурсов в httpd.conf, чтобы к ресурсам можно было обращаться последовательно независимо от того, как запущен Apache httpd. (Тайные и подверженные ошибкам процедуры могут обойти ограничение на сопоставленные буквы дисков, но это не рекомендуется.)
Пример DocumentRoot с UNC-путем
DocumentRoot «//dochost/www/html/»
Пример DocumentRoot с IP-адресом в UNC-пути
DocumentRoot «//192.168.1.50/docs/»
Пример Alias и соответствующий каталог с UNC-путем
Alias «/images/» «//imagehost/www/images/»
#.
При запуске Apache httpd в качестве службы необходимо создать отдельную учетную запись для доступа к сетевым ресурсам, как описано выше.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Настройка Apache в Windows
Подключение виртуальных хостов 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) с любым содержанием, который позволил бы идентифицировать, что вы попали в нужный хост. Я сделаю следующие записи в соответствующих индексных файлах хостов, для первого хоста:
Теперь приступим к настройки виртуальных хостов.
В файле C:\Server\bin\Apache24\conf\httpd.conf найдите и раскоментируйте следующую строку:
В файле C:\Server\bin\Apache24\conf\extra\httpd-vhosts.conf закомментируйте (или удалите) те строки, которые приведены по умолчанию.
Виртуальные хосты на основе 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 у нас много, и к каждому из них можно привязать виртуальных хост.
Добавьте в файл C:\Server\bin\Apache24\conf\extra\httpd-vhosts.conf следующие строки:
Перезапустите веб-сервер (делайте перезапуск после каждого изменения файла настройки):
При этом на другие IP 127.0.0.*, а также на localhost наши настройки влияние не оказывают.
Виртуальные хосты на основе портов (разные сайты на разных портах)
Теперь добавьте в файл C:\Server\bin\Apache24\conf\extra\httpd-vhosts.conf строки:
Порт можете заменить на любой другой, не занятый в вашей системе. Также вместо звёздочки можете указать конкретный IP. Перезапустите и откройте в браузере http://localhost:81:
Виртуальные хосты на основе имени хоста
Следующий способ требует редактирование файла C:\Windows\System32\drivers\etc\hosts (либо внесение записи в ваш собственный DNS сервер). Придумайте любое имя хоста, желательно, не совпадающее с реальным. Примеры supersite, study.loc, video.ofme. Я возьму в качестве примера study.loc. Откройте файл C:\Windows\System32\drivers\etc\hosts и добавьте туда:
А в файл C:\Server\bin\Apache24\conf\extra\httpd-vhosts.conf добавьте строки:
Перезапустите сервер и перейдите в браузере к http://study.loc:
Аналогично настраиваются и субдомены (dir1.study.loc, dir2.study.loc, dir3.localhost и т.п.).
Автоматическое создание виртуальных хостов / субдоменов
В файле C:\Server\bin\Apache24\conf\httpd.conf найдите и раскоментируйте следующую строку:
А также, если вы не сделали этого ранее, строку:
В директории C:\Server\data\htdocs\virthosts\ создайте папку localhost (теперь именно её содержимое будет отображаться, когда вы в браузере набираете http://localhost).
В файл C:\Server\bin\Apache24\conf\extra\httpd-vhosts.conf добавьте следующую строку
Теперь любая папка, созданная в C:\Server\data\htdocs\virthosts\ будет доступна по адресу вида
При открытии http://host1.localhost мы увидим содержимое C:\Server\data\htdocs\virthosts\host1\, при открытии http://super.localhost увидим сайт в C:\Server\data\htdocs\virthosts\super\ и т.д.
Помните, имена хостов вида *.localhost автоматически преобразуются в локальные IP адреса. Но если вы хотите использовать другие имена хостов, то укажите их в файле C:\Windows\System32\drivers\etc\hosts, чтобы компьютер понимал, какое имя какому IP адресу соответствует.
Если в файл C:\Server\bin\Apache24\conf\extra\httpd-vhosts.conf вместо предыдущей строки с «%1» добавить следующую:
То теперь любая папка, созданная в C:\Server\data\htdocs\virthosts\ будет доступна по адресу вида http://имя_папки
Обратите внимание, что теперь не учитывается .localhost. На самом деле, вы можете использовать и .localhost, просто создав папки «host1.localhost», «host2.localhost» и так далее.
Как сделать резервную копию БД MySQL в Windows?
Резервную копию можно создать в графическом веб-интерфейсе в phpMyAdmin. Если вы хотите сделать бэкап сразу всех баз данных, то перейдите на главную страницу phpMyAdmin, оттуда перейдите во вкладку Экспорт. Далее всё достаточно просто, в том числе и с дополнительными опциями.
Аналогично при бэкапе отдельных баз данных: перейдите на страницу интересующей БД, а далее в Экспорт.
Если вы по каким-то причинам хотите сделать бэкап базы данных MySQL из командной строки в Windows, то для этого понадобиться утилита mysqldump.exe, она поставляется вместе с MySQL и расположена в каталоге C:\Server\bin\mysql-8.0\bin\.
Для её использования откройте командную строку и перетащите туда программу. Программу можно использовать с разнообразными опциями:
Если вы хотите сделать резервную копию всех баз данных в один файл, то выполните:
Кстати, файл нужно искать в той папке, которую вы видите в приглашении командной строки.
Для того, чтобы сделать резервную копию только одной базы данных (например, rsyslog):
Чтобы сделать резервную копию только одной таблицы (wp_posts) из базы данных (wordpress):
Для того, чтобы сделать резервную копию нескольких таблиц, перечислите их через пробел после названия БД:
Краткая характеристика основных директив конфигурационных файлов Apache
Настройка ограничения доступа к папкам сервера
Настройка SSL для Apache в Windows (переход с HTTP на HTTPS)
Если вы хотите использовать SSL в веб-сервере Apache под Windows, то вам необходимы три файла: *.key, *.csr и *.crt. Если вы купили валидный SSL сертификат для вашего сайта, то эти файлы вам должны прислать после покупки. Их может быть больше – среди них могут быть промежуточные сертификаты.
Если вы хотите настроить SSL на локальном веб-сервере, то все эти файлы можно сгенерировать самостоятельно, т.е. создать самоподписанный сертификат. Этот сертификат не является валидным (не может быть проверен с участием третьей стороны), но для упражнения в переходе с HTTP на HTTPS он вполне подойдёт.
Предполагается, что вы ставили веб-сервер по этой инструкции – иначе замените абсолютные пути на свои собственные.
Откройте командную строку Windows (WIN + x, далее выберите «Командная строка»). В командной строке введите команды:
При вводе последней команды появятся запросы на английском языке. Ниже следует их перевод.
Вас попросят ввести информацию, которая будет включена в запрос вашего сертификата. То, что вы будете вводить, называется Distinguished Name или DN. Там всего несколько полей, которые можно оставить пустыми. В некоторых полях будут значения по умолчанию. Если вы введёте ‘.’, то поле будет оставлено пустым.
Двухбуквенное имя страны (двухбуквенный код)
Название штата или провинции/области (полное имя)
Название населённого пункта (например, города)
Название организации (т.е. компании).
Подразделение организации (т.е. отдел)
Общее имя (например, FQDN сервера или ВАШЕ имя). Можете ввести localhost.
Пожалуйста, введите следующие «дополнительные» атрибуты для отправки с вашим запросом сертификата
Теперь выполните команду:
В результате в каталоге C:\Server\bin\Apache24\bin\ должны появиться три новых файла:
Из них нам понадобятся только два:
При использовании сертификатов для настройки реального веб-сайта, удобнее создать виртуальный хост с примерно следующими настройками:
Для настройки использования SSL на локальном веб-сервере Apache в Windows следуйте инструкции ниже.
В каталоге C:\Server\ создайте новую папку certs и переместите туда файлы localhost.key и localhost.crt.
В директории C:\Server\bin\Apache24\conf\ откройте текстовым редактором файл httpd.conf. В самый низ добавьте туда строки:
Обратите внимание, что вам может понадобиться отредактировать следующие директивы
После этого сохраните изменения, закройте файл и перезапустите веб-сервер.
Для проверки сделанных изменений, перейдите по адресу https://localhost/ (протокол HTTPS). Поскольку сертификат является самоподписанным, то появится такое сообщение:
К самоподписанным сертификатам нет доверия и эту ошибку нельзя убрать без добавления таких сертификатов в доверенные. Для перехода нажмите «Всё равно продолжить».
Настоящие валидные сертификаты для своих сайтов (в том числе бесплатно на любое количество времени), вы сможете получить здесь.