- Установка и настройка httpd на Red Hat Enterprise Linux
- Глава 14. Настройка Apache
- Основные параметры
- 25.1. Основные параметры
- How to deploy an Apache web server quickly
- Great Linux resources
- Install Apache
- Edit the config file
- Manage the service
- Open port 80
- Test the server
- Create content
- Look at files
- Check the logs
- Wrap up
Установка и настройка httpd на Red Hat Enterprise Linux
Apache HTTP-сервер в RedHat-подобных дистрибутивах называется сервисом httpd и по умолчанию поставляется версия httpd 2.2. Рекомендуется перед установкой настроить виртуальный дисплей xvfb.
Чтобы установить и настроить службы httpd для работы с BI-сервером, выполните следующие действия:
Если установка не удалась с сообщением «conflicts with file from package httpd-2.2.15-9.el6.x86_64», удалите пакет httpd-2.2.15-9.el6.x86_64, выполнив следующую команду:
Примечание . Номер версии httpd, который будет фигурировать в сообщении, зависит от уже установленной версии httpd и может отличаться от указанного в примере.
После этого снова установите httpd:
- Определите параметры запуска httpd, для этого откройте файл httpd, выполнив в терминале следующую команду:
sudo nano /etc/sysconfig/httpd
В конце файла добавьте следующие строки:
#Uncomment line below to export extended log
Примечание . В указанном примере версия Qt — 4.8.7. Если в ОС установлена другая версия, то скорректируйте указанные строки, указав соответствующую версию Qt. Например, если Qt устанавливался из пакета QtSdk-offline-linux-x86_64-v1.2.1.run, то замените путь «/opt/Qt-4.8.7/lib» на «/opt/QtSDK/Desktop/Qt/4.8.1/gcc/lib». В переменной окружения DISPLAY указывается номер дисплейного сервера, на котором будет отрисовываться графика. Рекомендуется использовать виртуальный дисплей xvfb под номером 987, но если используется физический X-сервер, то укажите его номер DISPLAY=:0.0.
- Включите сервис httpd, выполнив команду главного меню Система > Администратор > Службы. В открывшемся окне в списке служб выберите httpd и нажмите кнопку « Включить »:
- Измените настройки в конфигурационном файле. Откройте файл httpd.conf, выполнив в терминале следующую команду:
sudo nano /etc/httpd/conf/httpd.conf
Удалите из файла теги и с их содержимым. В конец файла добавьте:
Глава 14. Настройка Apache
Чтобы использовать Apache Configuration Tool (Инструмент настройки Apache) требуется запустить систему X Window под именем root. Запустить Apache Configuration Tool можно следующим способами:
Нажав на рабочем столе GNOME Кнопку Main Menu (Главное меню) (на панели) => Programs (Программы) => System (Система) => Apache Configuration (Настройка Apache) .
Нажав на рабочем столе Кнопку Main Menu (Главное меню) (на панели) => Red Hat => System (Система) => Apache Configuration (Настройка Apache) .
Выполнив в приглашении оболочки (например, в XTerm или GNOME-terminal) команду apacheconf .
Не изменяйте /etc/httpd/conf/httpd.conf — файл настроек Apache, если вы хотите использовать эту утилиту. Инструмент настройки Apache создаёт этот файл после сохранения изменений и выхода из программы. Если вы хотите добавить дополнительные модули или параметры настройки, не доступные в Инструменте настройки Apache , вы не сможете использовать этот инструмент.
Инструмент настройки Apache позволяет вам настроить файл /etc/httpd/conf/httpd.conf — файл настроек вашего Web сервера Apache. Он не использует старые файлы конфигурации, такие как srm.conf или access.conf ; оставьте их пустыми. В графическом интерфейсе вы можете настраивать параметры Apache, такие как виртуальные узлы, атрибуты протоколирования и максимальное количество соединений.
Только модули, поставляемые с Red Hat Linux могут быть настроены с помощью Инструмента настройки Apache . Если установлены дополнительные модули, их нельзя настроить с помощью этой программы.
Ниже перечислены основные этапы настройки веб-сервера Apache, используя Инструмент настройки Apache :
Определить основные параметры на вкладке Main (Основные) .
Перейти на вкладку Virtual Hosts (Виртуальные узлы) и настроить параметры по умолчанию.
На вкладке Virtual Hosts настроить Default Virtual Host (Виртуальный узел по умолчанию).
Если будет обслуживаться несколько URL или виртуальных узлов, определить дополнительные виртуальные узлы.
Настроить параметры сервера на вкладке Server .
Определить настройки соединений на вкладке Performance Tuning (Настройка производительности) .
Скопировать все необходимые файлы в каталоги DocumentRoot и cgi-bin, затем сохранить свои настройки в Инструменте настройки Apache .
Основные параметры
На вкладке Main (Основные) настраиваются основные параметры сервера.
Рисунок 14-1. Основные параметры
Введите полностью определённое имя домена, которое вы имеете право использовать, в текстовой области Server Name (Имя сервера) . Эта параметр соответствует указанию ServerName в файле httpd.conf . Указание ServerName определяет имя Web сервера. Оно используется при создании перенаправляющих URL. Если вы не определите имя сервера, Apache попытается узнать его, используя IP адрес вашей системы. Имя сервера не обязательно должно быть доменным именем, полученным из IP адреса сервера. Например, вы можете установить имя сервера www.your_domain.com, в то время как реальное DNS имя вашего сервера: foo.your_domain.com.
Рисунок 14-2. Доступные адреса
Если вы настроите Apache на обработку подключений к портам с номерами ниже 1024, для его запуска вы должны будете иметь привилегии root. Для портов 1024 и выше, httpd может запускаться от имени обычного пользователя.
25.1. Основные параметры
На вкладке Основные (Main) настраиваются основные параметры сервера.
Рисунок 25-1. Основные параметры
Введите полностью определённое имя домена, которое вы имеете право использовать, в текстовой области Имя сервера (Server Name) . Эта параметр соответствует указанию ServerName в файле httpd.conf . Указание ServerName определяет имя веб-сервера. Оно используется при создании перенаправляющих URL. Если вы не определите имя сервера, веб-сервер попытается получить его из IP-адреса вашего компьютера. Имя сервера не обязательно должно быть доменным именем, полученным из IP-адреса сервера. Например, вы можете назначить серверу имя www.example.com, хотя реальным DNS-именем сервера будет foo.example.com.
Введите электронный адрес человека, занимающегося поддержкой этого Web сервера в текстовом поле Электронный адрес вебмастера (Webmaster email address) . Эта параметр соответствует указанию ServerAdmin в файле httpd.conf . Если страницы, выводимые в случае ошибки сервера, будут содержать этот адрес, пользователи смогут сообщить о проблеме администратору сервера. Значение параметра по умолчанию: root@localhost.
В области Доступные адреса (Available Addresses) укажите порты, в которых сервер принимает входящие запросы. Этот параметр соответствует указанию Listen в httpd.conf . По умолчанию Red Hat настраивает HTTP-сервер Apache так, что для не защищённых веб-соединений используется порт 80.
Ввод в поле Адрес (Address) символа звёздочки (*) аналогичен выбору Ожидать соединения на всех адресах (Listen to all addresses) . При нажатии кнопки Изменить (Edit) в разделе Доступные адреса (Available Addresses) появляется то же окно, что и при нажатии кнопки Добавить (Add) , за исключением того, что поля уже заполнены значениями для данной записи. Чтобы удалить запись, выберите её и нажмите кнопку Удалить (Delete) .
Если вы настроите сервер на обработку подключений к портам с номерами ниже 1024, для его запуска потребуются привилегии root. Для портов 1024 и выше, httpd может запускаться от имени обычного пользователя.
Рисунок 25-2. Доступные адреса
How to deploy an Apache web server quickly
Sometimes you need to deploy a web server quickly. A web server makes it easy to do things like test web applications, implement a proof-of-concept project, or just get familiar with web development.
Great Linux resources
The steps below cover how to do that using the venerable Apache HTTP Server. I’ll begin with installation, then continue with editing a basic configuration file, creating a few documents, setting the firewall, and finally, testing the service.
Note that this is a very basic test deployment. It’s not suitable for internet-facing web servers. To be production-ready, you must configure firewalls and audit your server settings.
Install Apache
If your Linux distribution doesn’t already include Apache, run the following command to install the package:
Adjust the command accordingly if you use a different package manager.
Edit the config file
Using your text editor of choice (mine is Vim, but Nano or others work just as well), open /etc/httpd/conf/httpd.conf .
These two values may already be set in that file, but confirm them to be sure:
DocumentRoot /var/www/html Listen 80
Use the search function in your editor to find the appropriate stanzas. You may need to uncomment the DocumentRoot stanza. This article uses the standard location at /var/www/html .
The Listen directive simply indicates which port the service listens on. In this case, use the standard port 80 for HTTP.
[ Better integrate security into your software lifecycle. Download the guide to implementing DevSecOps. ]
Manage the service
You’ve installed a web server, but you haven’t started running it yet. Use the systemctl command to start and enable the httpd service:
$ sudo systemctl start httpd $ sudo systemctl status httpd
Starting a service doesn’t mean it will start automatically from now on. To make your web server start automatically after a reboot, use the enable subcommand:
$ sudo systemctl enable --now httpd
Open port 80
Now that the site is configured (and in a real-world situation, secured), it’s time to open the firewall. I’ll assume you’re using firewalld , so type the following commands to permit HTTP traffic into the server:
$ sudo firewall-cmd --permanent --zone=public --add-service=http $ sudo firewall-cmd --reload $ sudo firewall-cmd --list-all --zone=public
You may need to adjust the zone value, depending on your distribution.
Test the server
First, test the server with a browser. Launch Firefox and navigate to localhost:80 to see the Apache web server’s default confirmation page.
Create content
You probably didn’t install a web server just to see «It works!» in your browser. To make your server a little more interesting, launch your favorite text editor using sudo , and create a few pages to simulate a website. Feel free to make this as simple or complex as you’d like. You can also create a text file to test downloads from the site.
Your site’s homepage is by default index.html , and it’s located in /var/www/html . Make a backup copy of the existing index.html file and create a new one containing the following code:
This site is for testing purposes only
Additionally, create a new text file called download-this.txt with the following content so that you can test the curl and wget commands later:
If you can read this, the download succeeded!
Store these two files at /var/www/html .
Look at files
Assuming that works, do a test download of the download-this.txt file.
Use a different system on the same segment to test the web service. On the new system, launch a web browser. In the address bar, type the web server’s IP address.
Don’t forget, you can launch a browser and point it at a site from the terminal:
Do you see your welcome page?
Sysadmins frequently use curl or wget to download files using HTTP. This ability is particularly handy for hands-free downloads in scripts or other automation scenarios.
Run these two commands to confirm file download functionality:
$ sudo dnf -y install curl $ curl -O http://IP/download-this.txt
$ sudo dnf -y install wget $ wget http://IP/download-this.txt
Did you receive the download-this.txt file? Use ls to display the file and cat to read its contents. You might have two copies of the file if you tested the download using both the curl and wget commands.
Check the logs
Check the Apache log files for access information. For example, type the following to see log entries indicating the file download transactions:
$ sudo cat /var/log/httpd/access_log | grep -I download-this.txt
Wrap up
That’s it! You’ve installed, configured, and tested a very basic web server deployment in just a few steps. Don’t forget to investigate security settings before placing such a deployment in your production environment or exposing it to the outside world.
Adblockdetector