Настройка web-сервера Apache 2.4 для работы с 1С
Папку Apache24 из архива httpd-2.4.48-win64-VS16.zip извлекаем в корень диска C.
Устанавливаем компоненты Microsoft Visual C++ 2015.
Если нужно перенести каталог с Apache в другое место, например на диск D, то нужно в файле C:\Apache24\conf\httpd.conf изменить путь к переменной SRVROOT.
Редактируется файл любым текстовым редактором типа Блокнот
Listen [НомерПорта] — устанавливаем любой удобный нам порт, обязательно открываем его для входящих соединений в брендмауере Windows, и настраиваем проброс порта на роутере
ServerName localhost:[НомерПорта]
ServerAdmin [email]
В переменную среды PATH надо добавить путь к исполняемым файлам Apache C:\Apache24\bin.
ПКМ — Этот компьютер — Свойства — Дополнительные параметры системы — Переменные среды.
Запускаем терминал командной строки с правами администратора, переходим в каталог C:\Apache24\bin, запускаем установку службы командой «httpd. exe -k install»
В списке служб Windows находим Apache 2.4, ставим автоматический тип запуска, запускаем.
Генерация криптографических ключей
cd C:\Apache24
md ssl
cd ssl
Для генерации секретного ключа сервера нужно в консоли OpenSSL ввести команду
openssl.exe genrsa -out server.key 2048
Получение сертификата
Чтобы получить сертификат веб-сервера, нужно на основе криптографических ключей составить запрос в удостоверяющий центр на выдачу сертификата. Формирование запроса на 730 дней производится командой:
openssl.exe req -new -x509 -days 730 -nodes -out cert.pem -keyout cert.key -subj «/C=COUNTY_NAME/ST=STATE_NAME/L=CITY_NAME/O=COMPANY_NAME/OU=IT/CN=fqdn-name-vm.ru-central1.internal/CN=fqdn-name-vm»
openssl.exe req -config C:\Apache24\conf\openssl.cnf -new -out ssl.csr
Доработать раздел по инструкции dmosk.ru
Доработать раздел по инструкции losst.ru
Доработать раздел по инструкции nizamov. school
Доработать раздел по инструкции https://infostart.ru/1c/articles/1568375
В конфигурационном файле httpd-ssl.conf нужно закомментировать параметр Listen, так как в качестве порта SSL мы будем использовать основной порт, указанный в httpd.conf.
В параметре CN указано внутренний FQDN, на примере виртуальной машины Яндекс.Облако.
Для генерации запроса нужно набрать с клавиатуры ответы на задаваемые вопросы о принадлежности и реквизитах сервера. На этом этапе важно иметь в виду, что для ввода в поле данных пустого значения нужно ввести » . » (точку). Если вместо этого просто нажать клавишу [Enter], то будет принято значение по умолчанию, которое указано в квадратных скобках. А сами данные следующие:
C — County name — двухзначный буквенный код страны;
ST — State or Province Name — название региона, области, района;
L — Locality Name — название населённого пункта;
O — Organization Name — название организации;
OU — Organizational Unit Name — название подразделения;
Email Address — контактный адрес электронной почты;
A challenge password — кодовое слово;
An optional company name — дополнительное название организации;
Значения последних двух полей вводить не обязательно. Самое главное — правильно указать доменное имя сервера, потому что именно по этому реквизиру веб-браузеры будут проверять подлинность веб-сервера.
В результате выполнения этой команды будет сформирован файл «server.csr», содержащий необходимую для выдачи сертификата информацию. Этот файл можно отправлять в удостоверяющий центр, после чего ожидать от него ответа.
Сертификат сроком на 365 дней, подписанный секретным ключом сервера «server.key» в ответ на запрос «server.csr», помещается в файл «server.crt».
Настройка веб-сервера
В результате выполнения описанных выше действий в папке «D:\www\conf\ssl» имеются необходимые для работы протокола HTTPS файлы:
server.key — секретный ключ веб-сервера;
server.crt — сертификат веб-сервера.
За обслуживание протокола SSL/TLS отвечает модуль «mod_ssl», который вместе с модулем кеширования и соответствующим файлом настроек нужно подключить к веб-серверу с помощью следующих изменений главного конфигурационного файла «D:\www\conf\httpd.
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule ssl_module modules/mod_ssl.so
LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf
Include ${DOCROOT}/conf/extra/httpd-ssl.conf
Если веб-сервер установлен в соответствии с описанной ранее методикой, то в конфигурационном файле «D:\www\conf\extra\httpd-ssl.conf» нужно все вхождения «${SRVROOT}» заменить на «${DOCROOT}». Кроме того, нужно в этом же файле исправить пути к секретному ключу и сертификату веб-сервера:
#SSLCertificateFile «${DOCROOT}/conf/server.crt»
SSLCertificateFile «${DOCROOT}/conf/ssl/server.crt»
#SSLCertificateKeyFile «${DOCROOT}/conf/server.key»
SSLCertificateKeyFile «${DOCROOT}/conf/ssl/server.key»
В том же файле нужно указать правильные имя сервера и контактный адрес электронной почты. Эти реквизиты должны совпадать с теми, которые были введены при формировании запроса на сертификат. Например, для локального сервера доменное имя будет «localhost», а адрес электронной почты — «webmaster@localhost»:
#ServerName www.example.com:443
ServerName localhost:443
#ServerAdmin [email protected]
ServerAdmin webmaster@localhost
Если после выполненных настроек в адресной строке браузера набрать «https://localhost/», то при использовании самоподписанного сертификата отобразится строгое предупреждение: Действия для посещения сайта с недостоверным сертификатом. Рис. Отключение системы защиты веб-браузера от доступа к сайтам с недостоверными сертификатами. Для «обхода» защиты нужно последовательно нажать кнопки «Подробности» и «Сделать исключение для данного сайта», после чего на экране отобразится страница, полученная с сервера по протоколу HTTPS.
В решении проблем, возникающих при настройке доступа к серверу по протоколу HTTPS, может помочь команда, устанавливающая защищённое протоколом SSL/TLS соединение с веб-сервером:
openssl. exe s_client -connect localhost:443 -state -debug
При её выполнении на экран будут выведены сведения о процедуре согласования параметров безопасного канала передачи данных и этапах его установления. Если канал будет успешно установлен, то можно вводить консольные команды по протоколу HTTP. Например, для получения главной страницы сайта нужно набрать:
GET / HTTP/1.0
Ввод команды нужно завершить двумя нажатиями клавиши [Enter]. В ответ на экран будут выведены:
отправленные на сервер зашифрованные данные; зашифрованные данные, полученные от сервера; расшифрованный ответ сервера.
Установка вебсервера Apache в CentOS 8 — Сайт одного DevOpsa
HTTP-сервер Apache — самый широко используемый веб-сервер в мире. Он имеет множество мощных функций, включая динамически загружаемые модули, надежную поддержку различных медиаформатов и интеграцию с другим популярным программным обеспечением.
С помощью этого руководства вы установите веб-сервер Apache с виртуальными хостами на ваш сервер на базе CentOS 8.
Установка Apache
Apache доступен в используемых по умолчанию репозиториях программного обеспечения CentOS, т. е. вы можете установить его с помощью диспетчера пакетов dnf
.
С помощью пользователя без прав root с привилегиями sudo, настроенного согласно предварительным требованиям, установите пакет Apache:
sudo dnf install httpd
После подтверждения установки dnf
установит Apache и все требуемые зависимости.
Если уже установлен брандмауэр firewalld
для обслуживания запросов через HTTP.
Если вы планируете настроить Apache для обслуживания запросов через HTTPS, вам также нужно открыть порт 443
, включив службу https
:
sudo firewall-cmd --permanent --add-service=https
Затем перезагрузите брандмауэр, чтобы новые правила начали действовать:
sudo firewall-cmd --reload
После перезагрузки брандмауэра вы будете готовы запустить службу и проверить веб-сервер.
Проверка веб-сервера
Apache не запускается автоматически на CentOS после завершения установки. Вам нужно будет запустить процесс Apache вручную:
sudo systemctl start httpd
Убедитесь, что служба запущена с помощью следующей команды:
sudo systemctl status httpd
Если служба запущена, вы получите значение active
(активна) в статусе:
Output ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disa> Active: active (running) since Thu 2020-04-23 22:25:33 UTC; 11s ago Docs: man:httpd.service(8) Main PID: 14219 (httpd) Status: "Running, listening on: port 80" Tasks: 213 (limit: 5059) Memory: 24.9M CGroup: /system.slice/httpd.service ├─14219 /usr/sbin/httpd -DFOREGROUND ├─14220 /usr/sbin/httpd -DFOREGROUND ├─14221 /usr/sbin/httpd -DFOREGROUND ├─14222 /usr/sbin/httpd -DFOREGROUND └─14223 /usr/sbin/httpd -DFOREGROUND ...
Как видно из результата, служба успешно запущена. Однако лучше всего протестировать ее запуск посредством запроса страницы из Apache.
Откройте страницу Apache по умолчанию, чтобы подтвердить работу программного обеспечения через ваш IP-адрес: Если вы не знаете IP-адрес вашего сервера, есть несколько способов узнать его с помощью командной строки.
Введите q
для возврата к командной строке, а затем введите следующее:
hostname -I
Эта команда отобразит все сетевые адреса хоста, и вы получите несколько IP-адресов, разделенных пробелами. Вы можете попробовать каждый из них в браузере, чтобы убедиться в их работоспособности.
Также в качестве альтернативы вы можете использовать
для запроса IP-адреса из icanhazip.com
, который предоставит вам ваш публичный IPv4-адрес, видимый в другом расположении в Интернете:
curl -4 icanhazip.com
Когда вы узнаете IP-адрес вашего сервера, введите его в адресную строку браузера:
http://your_server_ip
Вы увидите стандартную веб-страницу Apache в CentOS 8:
Эта страница показывает, что Apache работает корректно. Также на ней содержится информация о важных файлах Apache и расположении директорий.
Шаг 3 — Управление процессом Apache
Теперь, когда служба установлена и запущена, вы можете использовать различные команды systemctl для управления службой.
Чтобы остановить веб-сервер, введите:
sudo systemctl stop httpd
Чтобы запустить остановленный веб-сервер, введите:
sudo systemctl start httpd
Чтобы остановить и снова запустить службу, введите:
sudo systemctl restart httpd
Если вы просто вносите изменения в конфигурацию, во многих случаях Apache может перезагружаться без отключения соединений. Для этого нужно использовать следующую команду:
sudo systemctl reload httpd
По умолчанию Apache настроен на автоматический запуск при загрузке сервера. Если вы не хотите этого, отключите такое поведение с помощью следующей команды:
sudo systemctl disable httpd
Чтобы перезагрузить службу для запуска во время загрузки, введите:
sudo systemctl enable httpd
Apache должен будет запуститься автоматически при следующей загрузке сервера.
Конфигурация по умолчанию для Apache позволит вашему серверу размещать один веб-сайт. Если вы планируете разместить несколько доменов на сервере, вам нужно будет настроить виртуальные хосты на веб-сервере Apache.
Настройка виртуальных хостов (рекомендуется)
При работе с веб-сервером Apache вы можете использовать виртуальные хосты (аналогичные серверным блокам в Nginx) для инкапсуляции данных конфигурации и размещения на одном сервере нескольких доменов. На этом шаге мы будем настраивать домен с именем example.com
, но вы должны будете заменить его собственным доменным именем.
В Apache в CentOS 8 по умолчанию включен один виртуальный хост, настроенный на обслуживание документов из директории /var/www/html
. Хотя это хорошо работает для отдельного сайта, при хостинге нескольких сайтов это неудобно. Вместо изменения /var/www/html
вы создадите структуру директорий внутри /var/www
для сайта example.com
, оставив /var/www/html
на месте в качестве директории по умолчанию, которая будет обслуживаться, если запрос клиента не будет соответствовать каким-либо другим сайтам.
Создайте директорию html
для example.com
, используя флаг -p
для создания необходимых родительских директорий:
sudo mkdir -p /var/www/example.com/html
Создайте дополнительную директорию для хранения файлов журнала для сайта:
sudo mkdir -p /var/www/example.com/log
Затем назначьте права владения для директории html
с помощью переменной среды $USER
:
sudo chown -R $USER:$USER /var/www/example.com/html
Убедитесь, что ваша корневая директория имеет набор разрешений по умолчанию:
sudo chmod -R 755 /var/www
Затем создайте в качестве примера страницу index.html
, используя vi
или свой любимый редактор:
sudo vi /var/www/example.com/html/index.html
Нажмите i
для переключения в режим INSERT
и добавьте в файл следующий пример HTML-контента:
/var/www/example.com/html/index.html
<html> <head> <title>Welcome to Example. com!</title> </head> <body> <h2>Success! The example.com virtual host is working!</h2> </body> </html>
Сохраните и закройте файл, нажмите ESC
, введите :wq
и нажмите ENTER
.
Создав директорию сайта и пример файла index, вы уже почти готовы к созданию файлов виртуального хоста. Файлы виртуального хоста определяют конфигурацию отдельных сайтов и указывают веб-серверу Apache, как отвечать на различные запросы доменов.
Перед созданием ваших виртуальных хостов вам нужно будет создать директорию sites-available
, чтобы хранить их в этой директории. Также вы должны будете создать директорию sites-enabled
, которая указывает Apache, что виртуальный хост готов к обслуживанию посетителей. Директория sites-enabled
будет хранить символьные ссылки на виртуальные хосты, которые мы хотим опубликовать. Создайте обе директории с помощью следующей команды:
sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled
Затем вы должны попросить Apache выполнить поиск виртуальных хостов в директории sites-enabled
. Для этого отредактируйте главный файл конфигурации Apache с использованием vi или любого другого текстового редактора на ваш выбор и добавьте строку, объявляющую опциональную директорию для дополнительных файлов конфигурации:
sudo vi /etc/httpd/conf/httpd.conf
Нажмите большую G
, чтобы перейти в конец файла. Затем нажмите i
для переключения в режим INSERT
и добавьте в самый конец файла следующую строку:
/etc/httpd/conf/httpd.conf
... # Supplemental configuration # # Load config files in the "/etc/httpd/conf.d" directory, if any. IncludeOptional conf.d/*.conf IncludeOptional sites-enabled/*.conf
Сохраните и закройте файл после добавления этого кода. Теперь, когда у вас есть директории виртуального хоста, вы можете создать ваш файл виртуального хоста.
Начните с создания нового файла в директории sites-available
:
sudo vi /etc/httpd/sites-available/example.com.conf
Добавьте следующий блок конфигурации и измените домен example. com
на собственный:
/etc/httpd/sites-available/example.com.conf
<VirtualHost *:80> ServerName www.example.com ServerAlias example.com DocumentRoot /var/www/example.com/html ErrorLog /var/www/example.com/log/error.log CustomLog /var/www/example.com/log/requests.log combined </VirtualHost>
Так вы сможете показать, где Apache нужно искать корневую директорию, которая хранит общедоступные веб-документы. Также это указывает, где Apache будет хранить ошибки и журналы запросов для этого сайта.
Сохраните файл и закройте его после завершения.
Теперь, когда вы создали файлы виртуального хоста, вы должны будете активировать их, чтобы Apache смог предоставлять их посетителям. Для этого нужно создать символьную ссылку для каждого виртуального хоста в директории sites-enabled
:
sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf
Теперь ваш виртуальный хост настроен и готов к предоставлению контента. Прежде чем перезапускать службу Apache, давайте убедимся, что SELinux располагает правильными политиками для ваших виртуальных хостов.
Настройка разрешений SELinux для виртуальных хостов (рекомендуется)
SELinux — это модуль безопасности ядра Linux, который обеспечивает повышенную безопасность для систем Linux. CentOS 8 оснащается модулем SELinux, настроенным работу с конфигурацией Apache по умолчанию. Поскольку вы изменили стандартную конфигурацию, настроив пользовательскую директорию журналов в файле конфигурации виртуальных хостов, вы получите ошибку при попытке запуска службы Apache. Для устранения данной проблемы вам нужно обновить политики SELinux, чтобы разрешить Apache записывать данные в нужные файлы.
Существуют различные способы настройки политики с учетом потребностей вашей среды, поскольку SELinux позволяет настраивать необходимый вам уровень безопасности. На этом шаге мы обсудим два метода внесения изменений в политики Apache: универсально и в конкретной директории. Изменение политики в директориях является более безопасным, поэтому мы рекомендуем использовать этот подход.
Универсальное изменение политик Apache
Универсальная настройка политики Apache позволит SELinux одинаковым образом использовать все процессы Apache, используя для этого булеву переменную httpd_unified
. Хотя этот подход более удобен, он не обеспечивает аналогичный уровень контроля, что и подход, который подразумевает внимание к политике для отдельных файлов и директорий.
Запустите следующую команду для установки универсальной политики Apache:
sudo setsebool -P httpd_unified 1
Команда setsebool
меняет значения булевых значений SELinux. Флаг -P
будет обновлять значение времени начальной загрузки, а обновленное значение сохраняется между перезагрузками. httpd_unified
— это булево значение, которое позволит SELinux рассматривать все процессы Apache как один тип, поэтому вы активировали его со значением 1
.
Изменение политик Apache для директории
Индивидуальная настройка разрешений SELinux для директории /var/www/example.com/log
позволит вам получить более полноценный контроль за политиками Apache, но также может потребовать дополнительных действий. Поскольку этот параметр не подразумевает наличия универсально настроенных политик, вам нужно будет вручную задать тип контекста для любых новых директорий.
Вначале проверьте тип контекста, который SELinux указал для директории /var/www/example.com/log
:
sudo ls -dlZ /var/www/example.com/log/
Эта команда формирует список и выводит контекст SELinux из директории. Вы получите примерно следующий результат:
Output drwxr-xr-x. 2 root root unconfined_u:object_r:httpd_sys_content_t:s0 6 Apr 23 23:51 /var/www/example.com/log/
В настоящее время используется контекст httpd_sys_content_t
, который указывает SELinux, что процесс Apache может читать только файлы, созданные в этой директории. В ходе данного обучающего руководства вы измените тип контекста директории /var/www/example.com/log
на httpd_log_t
. Этот тип позволит Apache генерировать и добавлять данные в файлы журнала веб-приложения:
sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?"
Затем воспользуйтесь командой restorecon
для применения этих изменений и их сохранения между перезагрузками:
sudo restorecon -R -v /var/www/example.com/log
Флаг -R
запускает эту команду рекурсивно, т. е. она будет обновлять любые существующие файлы для использования нового контекста. Флаг -v
будет распечатывать изменения контекста, внесенные командой. Вы увидите следующий вывод, подтверждающий изменения:
Output Relabeled /var/www/example.com/log from unconfined_u:object_r:httpd_sys_content_t:s0 to unconfined_u:object_r:httpd_log_t:s0
Вы можете вывести список контекста еще раз, чтобы посмотреть изменения:
sudo ls -dlZ /var/www/example. com/log/
Результат отражает обновленный тип контекста:
Output drwxr-xr-x. 2 root root unconfined_u:object_r:httpd_log_t:s0 6 Apr 23 23:51 /var/www/example.com/log/
Теперь, когда директория /var/www/example.com/log
использует тип httpd_log_t
, вы готовы протестировать вашу конфигурацию виртуального хоста.
Тестирование виртуального хоста (рекомендуется)
После обновления контекста SELinux с помощью любого метода Apache сможет осуществлять запись в директорию /var/www/example.com/log
. Теперь вы можете перезапустить службу Apache:
sudo systemctl restart httpd
Сформируйте список содержимого директории /var/www/example.com/log
, чтобы убедиться, что Apache создал файлы журнала:
ls -lZ /var/www/example.com/log
Вы получите подтверждение того, что Apache удалось создать файлы error.log
и requests.log
, которые указаны в конфигурации виртуального хоста:
Output -rw-r--r--. 1 root root system_u:object_r:httpd_log_t:s0 0 Apr 24 00:06 error.log -rw-r--r--. 1 root root system_u:object_r:httpd_log_t:s0 0 Apr 24 00:06 requests.log
Теперь, когда вы настроили ваш виртуальный хост и обновили разрешения SELinux, Apache будет обслуживать ваше доменное имя. Вы можете проверить это, открыв в браузере адрес http://example.com
, после чего должны увидеть примерно следующее:
Это подтверждает, что ваш виртуальный хост успешно настроен и обслуживает контент. Повторите шаги 4 и 5 для создания новых виртуальных хостов с разрешениями SELinux для дополнительных доменов.
Компиляция и установка — HTTP-сервер Apache версии 2.4
HTTP-сервер Apache версии 2.4
Доступные языки: de | ru | да | фр | я | ко | tr
Этот документ описывает компиляцию и установку HTTP-сервера Apache. только в Unix и Unix-подобных системах. Для составления и установка в Windows, см. Использование HTTP-сервера Apache с Microsoft Windows и компиляция Apache для Microsoft Windows. Для других платформ см. документацию по платформе.
Apache httpd использует libtool
и autoconf
для создания среды сборки, похожей на многие другие Open Source
проекты.
Если вы обновляете одну минорную версию до следующей (для например, с 2.4.8 по 2.4.9), перейдите к разделу обновления.
- Обзор для нетерпеливый
- Требования
- Скачать
- Экстракт
- Настройка исходного дерева
- Сборка
- Установить
- Настроить
- Тест
- Модернизация
- Сторонние пакеты
См. также
- Настройка исходного дерева
- Запуск Apache httpd
- Остановка и перезапуск
- Комментарии
- Установка на Fedora/CentOS/Red Hat5 Enterprise Linux
sudo yum установить httpd sudo systemctl включить httpd sudo systemctl начать httpd
Более новые версии этих дистрибутивов используют
dnf
вместоyum
. См. Документация проекта Fedora для заметок по платформе.- Установка в Ubuntu/Debian
sudo apt установить apache2 запуск службы sudo apache2
См. документацию Ubuntu для примечаний по конкретным платформам.
- Установка из исходников
Скачать Загрузите последнюю версию с http://httpd.apache.org/download.cgi. Экстракт $ gzip -d httpd- NN .tar.gz
$ tar xvf httpd- NN .tar
$ cd httpd- NNНастройка $ ./configure --prefix= ПРЕФИКС
Компиляция $ сделать
Установить $ сделать установить
Настройка $ vi ПРЕФИКС /conf/httpd. conf
Тест $ ПРЕФИКС /bin/apachectl -k start
NN необходимо заменить на текущую версию номер, а ПРЕФИКС необходимо заменить на путь файловой системы, под которым должен быть установлен сервер. Если ПРЕФИКС не указывается, по умолчанию
/usr/local/apache2
.Каждый раздел процесса компиляции и установки более подробно описано ниже, начиная с требований для компиляции и установки Apache httpd.
Ваша любимая платформа не упоминается здесь? Приходите помочь нам улучшить этот документ.
Для сборки Apache httpd существуют следующие требования:
- APR и APR-Util
- Убедитесь, что на вашем компьютере уже установлены APR и APR-Util.
ваша система. Если вы не используете или предпочитаете не использовать предоставленную системой
версии, загрузите последние версии как APR, так и APR-Util
из Apache APR, распаковать
их в
/httpd_source_tree_root/srclib/apr
и/httpd_source_tree_root/srclib/apr-util
(убедитесь, что в именах каталогов нет номеров версий; например, дистрибутив APR должен находиться в /httpd_source_tree_root/srclib/apr/) и использовать. /configure
s--with-included-apr
вариант. На некоторых платформах вам, возможно, придется установить соответствующие пакеты-dev
, позволяющие httpd собирать против вашей установленной копии APR и APR-Util. - Perl-совместимая библиотека регулярных выражений (PCRE)
- Эта библиотека необходима, но больше не входит в состав httpd.
Загрузите исходный код с http://www.pcre.org,
или установите порт или пакет. Если ваша система сборки не может найти
скрипт pcre-config, установленный сборкой PCRE, укажите на него
используя
--with-pcre
параметр. На некоторых платформах возможно, вам придется установить соответствующий-dev
пакет, позволяющий httpd собираться против вашей установленной копии ПКРЕ. - Место на диске
- Убедитесь, что у вас есть не менее 50 МБ временного свободного места на диске. доступное пространство. После установки сервер занимает около 10 МБ дискового пространства. Фактическое место на диске требования будут значительно различаться в зависимости от выбранного вами параметры конфигурации, любые сторонние модули и, конечно же, размер веб-сайта или сайтов, которые у вас есть на сервере.
- Компилятор ANSI-C и система сборки
- Убедитесь, что у вас установлен компилятор ANSI-C. GNU C
компилятор (GCC) от Free Software Foundation (FSF)
Рекомендовано. Если у вас нет GCC
тогда хотя бы убедитесь, что компилятор вашего поставщика — ANSI
совместимый. Кроме того, ваш
PATH
должен содержать основные инструменты сборки, такие как, делают
. - Точное время
- Элементы протокола HTTP выражаются в виде времени
день. Итак, пришло время исследовать настройку какое-то время
средства синхронизации в вашей системе. Обычно
9Программы 0009 ntpdate или
xntpd
используются для этой цели, которые основаны на протоколе сетевого времени (NTP). См. НПТ домашняя страница для получения более подробной информации о программном обеспечении NTP и общедоступных серверы времени. - Перл 5 [ДОПОЛНИТЕЛЬНО]
- Для некоторых сценариев поддержки, таких как
apxs
илиdbmmanage
(которые написан на Perl) требуется интерпретатор Perl 5 (версии 5.003 или новее достаточно). Если интерпретатор Perl 5 не найденнастроить скрипт
, вы не сможете использовать затронутые сценарии поддержки. Конечно, вы еще сможете собрать и использовать Apache httpd.
HTTP-сервер Apache можно загрузить с HTTP-сервера Apache.
сайт загрузки, в котором перечислены несколько зеркал. Большинство пользователей
Apache в unix-подобных системах будет лучше загружать и
компиляция исходной версии. Процесс сборки (описан ниже)
легко, и это позволяет настроить сервер в соответствии с вашими потребностями.
Кроме того, бинарные версии часто не соответствуют последним
исходные релизы. Если вы загружаете бинарный файл, следуйте инструкциям
в Файл INSTALL.bindist
внутри дистрибутива.
После загрузки важно убедиться, что у вас есть полная и неизмененная версия HTTP-сервера Apache. Этот можно выполнить, протестировав загруженный tarball на соответствие PGP-подпись. Подробности о том, как это сделать, доступны для скачивания странице и доступен расширенный пример, описывающий использование ПГП.
Извлечение исходного кода из tar-архива HTTP-сервера Apache — это простой вопрос распаковки, а затем распаковки:
$ gzip -d httpd- NN .tar.gz
$ tar xvf httpd- NN .tar
Это создаст новый каталог в текущем каталоге
содержащий исходный код дистрибутива. Вам следует cd
в этот каталог, прежде чем продолжить
компиляция сервера.
Следующим шагом является настройка исходного дерева Apache для вашего
конкретной платформы и личных требований. Это делается с помощью
сценарий настроить
включено в
корневой каталог дистрибутива. (Разработчики скачивают
неизданная версия исходного дерева Apache должна иметь autoconf
и libtool
установлены и будут
необходимо запустить buildconf
, прежде чем переходить к следующему
шаги. Для официальных выпусков это не требуется.)
Чтобы настроить исходное дерево, используя все параметры по умолчанию,
просто введите ./configure
. Чтобы изменить значение по умолчанию
варианты, настроить
принимает различные переменные
и параметры командной строки.
Самый важный параметр — адрес --префикс
где Apache должен быть установлен позже, потому что Apache должен быть
настроен для правильной работы этого местоположения. Более тонкая настройка
контроль расположения файлов возможен при дополнительном конфигурировании
опции.
Также на этом этапе вы можете указать, какие функции вы
хотите включить в Apache, включив и отключив модули. Apache поставляется с широким набором модулей.
включены по умолчанию. Они будут составлены как
общие объекты (DSO), которые можно загрузить
или выгружается во время выполнения.
Вы также можете выбрать статическую компиляцию модулей, используя опцию --enable- модуль =статический
.
Дополнительные модули включаются с помощью --enable- модуль
опция, где модуль имя модуля с mod_
удалена строка и преобразовано любое подчеркивание
до тире. Точно так же вы можете отключить модули с помощью --отключить- модуль
опция. Будьте осторожны, когда
используя эти параметры, поскольку configure
не может вас предупредить
если указанный вами модуль не существует; он просто проигнорирует
вариант.
Кроме того, иногда необходимо предоставить настроить сценарий
с дополнительной информацией о
расположение вашего компилятора, библиотек или заголовочных файлов. Это
делается путем передачи либо переменных среды, либо командной строки
опции настроить
. Для получения дополнительной информации см. настроить страницу руководства
. Или вызвать настроить
с помощью опции --help
.
Для краткого ознакомления с вашими возможностями здесь
это типичный пример, который компилирует Apache для установки
дерево /sw/pkg/apache
с определенным компилятором и флагами
плюс два дополнительных модуля mod_ldap
и mod_lua
:
$ CC="pgcc" CFLAGS="-O2" \
./configure --prefix=/sw/pkg/apache \
--enable-ldap=shared \
--enable-lua=shared
При запуске configure
потребуется несколько минут для
проверить наличие функций в вашей системе и собрать
Makefiles, которые позже будут использоваться для компиляции сервера.
Подробная информация обо всех различных параметрах configure
приведена
доступно на странице руководства configure
.
Теперь вы можете создавать различные части, из которых состоит Apache. package, просто выполнив команду:
$ make
Пожалуйста, будьте терпеливы, так как базовая конфигурация требует несколько минут для компиляции, и время будет сильно различаться в зависимости от вашего оборудования и количества модулей, которые вы включили.
Теперь пришло время установить пакет под настроенным
установка ПРЕФИКС (см. параметр --prefix
выше), выполнив:
$ make install
Этот шаг обычно требует привилегий root, поскольку ПРЕФИКС обычно является каталогом с ограниченной записью. разрешения.
Если вы обновляете, установка не перезапишет ваши конфигурационные файлы или документы.
Далее вы можете настроить HTTP-сервер Apache, отредактировав
файлы конфигурации под ПРЕФИКС /conf/
.
$ vi ПРЕФИКС /conf/httpd. conf
См. руководство Apache в разделе ПРЕФИКС /docs/manual/
или посетите http://httpd.apache.org/docs/2.4/ для получения последней
версия этого руководства и полный справочник доступных директив конфигурации.
Теперь вы можете запустить свой Apache HTTP-сервер, сразу запустив:
$ ПРЕФИКС /bin/apachectl -k start
После этого вы сможете запросить свой первый документ
через URL-адрес http://localhost/
. Веб-страница, которую вы видите, расположена
под DocumentRoot
,
обычно это ПРЕФИКС /htdocs/
.
Затем снова остановите сервер,
работает:
$ ПРЕФИКС /bin/apachectl -k stop
Первым шагом в обновлении является чтение объявления о выпуске
и файл CHANGES
в исходном дистрибутиве на
найти любые изменения, которые могут повлиять на ваш сайт. При переключении между
основные выпуски (например, с 2. 0 до 2.2 или с 2.2 до 2.4),
скорее всего, будут большие различия во времени компиляции и
конфигурации во время выполнения, которая потребует ручных корректировок. Все
модули также необходимо будет обновить, чтобы учесть изменения в
API модуля.
Обновление с одной минорной версии на другую (например, с
2.2.55 до 2.2.57) проще. сделать установить
процесс не перезапишет ни один из ваших существующих документов, журнал
файлы или файлы конфигурации. Кроме того, разработчики делают
все усилия, чтобы избежать несовместимых изменений в настроить параметры
, конфигурацию во время выполнения или
модуль API между младшими версиями. В большинстве случаев вы должны быть в состоянии
используйте идентичный настроить
командную строку, идентичную
файл конфигурации, и все ваши модули должны продолжать
Работа.
Чтобы обновить младшие версии, начните с поиска файла config.nice
в каталоге build
ваш установленный сервер или в корне исходного дерева для вашего
старая установка. Это будет содержать точное настроить
командную строку, которую вы использовали для
настроить исходное дерево. Затем, чтобы перейти с одной версии на
следующий, вам нужно только скопировать файл config.nice
в
исходное дерево новой версии, отредактируйте его, чтобы сделать любой желаемый
изменения, а затем запустите:
$ ./config.nice
$ make
$ make install
$ ПРЕФИКС /bin/apachectl -k graceful-stop
$ ПРЕФИКС /bin/apachectl -k start
Вы всегда должны тестировать любую новую версию в твоей
окружающей среды, прежде чем запускать его в производство. Например, вы
можно установить и запустить новую версию вместе со старой,
использовать другой --префикс
и
другой порт (путем настройки директивы Listen
) для проверки любого
несовместимости перед окончательным обновлением.
Вы можете передать дополнительные аргументы в config. nice
,
который будет добавлен к вашему исходному configure
опции:
$ ./config.nice --prefix=/home/test/apache --with-port=90
Большое количество третьих сторон предоставляют свои собственные упакованные дистрибутивы HTTP-сервера Apache для установки на конкретные платформы. Сюда входят различные дистрибутивы Linux, различные сторонние пакеты Windows, Mac OS X, Solaris и многие другие более.
Наша лицензия на программное обеспечение не только разрешает, но и поощряет такие действия. перераспределения. Однако это приводит к ситуации, когда макет конфигурации и значения по умолчанию для вашей установки сервера может отличаться от заявленного в документации. Пока к сожалению, эта ситуация вряд ли изменится в ближайшее время скоро.
Описание этих сторонних дистрибутивов поддерживается в HTTP серверной вики и должно отражать текущее состояние этих сторонние дистрибутивы. Тем не менее, вам необходимо ознакомиться себя с управлением пакетами вашей конкретной платформы и процедуры установки.
Уведомление:
Это не раздел вопросов и ответов. Комментарии, размещенные здесь, должны указывать на предложения по улучшению документации или сервера и могут быть удалены нашими модераторами, если они либо реализованы, либо считаются недействительными/не по теме. Вопросы о том, как управлять HTTP-сервером Apache, следует направлять либо на наш IRC-канал #httpd, на Libera.chat, либо в наши списки рассылки.
Установка и настройка веб-сервера Apache в Ubuntu 20.04
Веб-сервер Apache — это наиболее широко используемый веб-сервер с открытым исходным кодом, поддерживаемый в большинстве ОС, включая Linux, Windows, MacOS, Solaris и т. д. Он легко настраивается и может быть интегрирован с другими модулями. Установить и настроить Apache для базовой настройки довольно просто. В этой статье объясняется, как установить и настроить веб-сервер Apache в операционной системе Ubuntu.
Примечание. Мы объяснили процедуру, описанную в этой статье, для системы Ubuntu 20.04 LTS.
Установка Apache2; Шаг 1: Обновление
Во-первых, нам нужно обновить индекс системного репозитория, чтобы установить самую последнюю версию Apache2. Для этого запустите Терминал с помощью сочетания клавиш Ctrl+Alt+T и выполните следующую команду:
$ sudo apt update
Обратите внимание, что только авторизованный пользователь может устанавливать, обновлять или удалять пакеты из системы Linux. .
Шаг 2: Установите Apache2
Далее на этом шаге мы установим веб-сервер Apache2. Для этого выполните следующую команду в Терминале:
$ sudo apt install apache2
Система может запросить подтверждение, предоставив вам опцию Y/n . Нажмите y , а затем Enter, чтобы продолжить. После этого веб-сервер Apache2 и все его зависимости будут установлены в вашей системе.
После установки проверьте версию сервера Apache следующим образом:
$ apache2 -version
Конфигурация брандмауэра
Теперь нам нужно открыть определенные порты в нашей системе, чтобы получить доступ к Apache извне. Во-первых, давайте перечислим профили приложений, к которым нам нужно предоставить доступ Apache. Для этого выполните следующую команду:
$ список приложений sudo ufw
Здесь вы можете увидеть различные профили Apache.
Мы будем использовать строго ограничительный профиль «Apache», чтобы включить сетевую активность на порту 80.
$ sudo ufw allow «Apache»
Теперь проверьте статус, который покажет, что Apache разрешен в брандмауэре.
$ sudo ufw status
Настройка веб-сервера Apache; Проверка службы Apache
Прежде чем переходить к настройке, сначала проверьте, работает ли служба Apache. Для этого выполните следующую команду в Терминале:
$ sudo systemctl status apache2
Из приведенного выше вывода видно, что служба Apache2 активна и работает.
Еще один способ проверить, нормально ли работает Apache, путем запроса веб-страницы с веб-сервера Apache. Для этого найдите свой IP-адрес с помощью следующей команды:
$ hostname –I
Затем откройте веб-браузер и перейдите на страницу приветствия apache следующим образом:
http://192. 168.72.134
Замените 192.168.72.134 по IP-адресу вашего компьютера.
Перейдя по указанной выше ссылке в браузере, вы увидите страницу приветствия Apache, которая указывает на то, что сервер Apache работает правильно.
Настройка виртуальных хостов в Apache
Если у вас есть несколько доменов, которые должны быть серверами с одного веб-сервера Apache, вам потребуется настроить виртуальные хосты. Далее мы покажем вам, как настроить виртуальный хост в Apache. Мы настроим доменное имя «info.net». Обязательно замените info.ne своим собственным доменным именем.
Шаг 1: Создайте каталог для вашего домена
На этом шаге мы создадим каталог для нашего доменного имени. Этот каталог будет использоваться для хранения данных на нашем веб-сайте.
Запустите в Терминале следующую команду, заменив info.net своим доменным именем:
$ sudo mkdir -p /var/www/info.net/html
Измените владельца каталога на текущего пользователя:
$ sudo chown -R $USER:$USER /var/www/info. net/html
Назначьте необходимые разрешения следующим образом:
$ sudo chmod -R 755 /var/www/info.net
Шаг 2: Создайте образец страницы для вашего сайта
Мы настроили виртуальный хост и назначаем необходимые разрешения. Теперь мы создадим образец страницы для нашего сайта. Мы создадим образец страницы с помощью редактора Nano, однако для этой цели можно использовать любой текстовый редактор.
$ nano /var/www/info.net/html/index.html
Скопируйте и вставьте эти строки кода HML:
Вы используете info.net на Ubuntu 20.04!
Теперь используйте Ctrl+O для сохранения, а затем Ctrl+ X для выхода из файла.
Шаг 3: Создайте файл виртуального хоста
Сервер Apache поставляется с файлом виртуального хоста по умолчанию. Этот файл используется для обслуживания содержимого веб-сервера. Однако мы создадим новый файл виртуального хоста с помощью следующей команды:
$ sudo nano /etc/apache2/sites-available/info.net.conf
Теперь введите следующие строки, заменив info.net своим собственным доменным именем.
ServerAdmin [email protected]
ServerName info.net
ServerAlias info.net
DocumentRoot /var/www/info.net/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog $ {APACHE_LOG_DIR}/access.log в сочетании
Теперь используйте Ctrl+O для сохранения, а затем Ctrl+X для выхода из файла.
Шаг 4. Активируйте файл конфигурации виртуального хоста
На этом этапе мы создадим файл конфигурации виртуального хоста. Для этого выполните в Терминале следующую команду:
$ sudo a2ensite info.net.conf
Теперь отключите файл виртуальной конфигурации «000-default.conf» по умолчанию следующим образом:
$ sudo a2dissite 000-default. conf
Теперь перезапустите Apache, чтобы активировать новую конфигурацию следующим образом:
$ sudo systemctl restart apache2
Шаг 5: Проверка на наличие ошибок
После завершения всех настроек вы можете проверить наличие ошибок конфигурации:
$ sudo apache2ctl configtest
Вы можете получить следующую ошибку:
Чтобы устранить эту ошибку, отредактируйте servername.conf file:
$ sudo nano /etc/apache2/conf-available/servername.conf
Затем добавьте эту строку, заменив info.net своим собственным доменным именем:
ServerName info.net
Сохраните и выйдите из файла servername.conf и запустите:
$ sudo a2enconf servername
Теперь снова выполните:
$ sudo apache2ctl configtest
На этот раз, надеюсь, вы не получите никаких ошибок.
Шаг 6: Проверка виртуального хоста
Теперь веб-сервер Apache готов обслуживать наш домен. Давайте проверим это, перейдя по следующей ссылке в браузере:
http://info.net
Замените info.net с вашим доменным именем.
Следующая индексная страница показывает, что сервер Apache готов обслуживать наше доменное имя.
Управление сервером Apache
Вот несколько полезных команд, которые можно запустить в Терминале для управления сервером Apache:
Чтобы запустить сервер Apache:
$ sudo systemctl start apache2
Чтобы остановить сервер Apache:
$ sudo systemctl stop apache2
Чтобы остановить, а затем запустить Apache»
$ sudo systemctl stop apache2
Для перезагрузки сервера apache для обновления новых конфигураций:
$ sudo systemctl reload apache2
Для запуска Apache при загрузке:
$ sudo systemctl enable apache2
9000 для отключения Apache при загрузке 3:$ sudo systemctl отключить apache2
В этой статье подробно объясняется установка и настройка веб-сервера Apache в Ubuntu 20.