Centos apache настройка: НАСТРОЙКА APACHE В CENTOS 7

Содержание

Как настроить Virtual Host Apache на CentOS 8

Недорогой хостинг для сайтов

 

В этом руководстве мы покажем вам, как настроить виртуальный хост Apache на CentOS 8. Для тех из вас, кто не знал, Apache Web Server — это программное обеспечение для создания, развертывания и управления веб-сервером с открытым исходным кодом. Первоначально разработанный группой программистов, сейчас он поддерживается Apache Software Foundation. HTTP-сервер Apache — самый популярный веб-сервер в мире с апреля 1996 года. По умолчанию Apache может размещать только один корень документа для всех запросов, что, вероятно, не то, что вы хотите. Мы можем использовать блоки VirtualHost для перевода именованных доменов в соответствующие корни документов с новыми настройками для каждого блока по мере необходимости.

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS.  Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить sudo к командам для получения привилегий root. Я покажу вам пошаговую настройку веб-сервера Apache виртуального хоста на сервере CentOS 8.

Настройка Virtual Host Apache на CentOS 8

Шаг 1. Сначала давайте начнем с проверки актуальности вашей системы.

sudo dnf update

Шаг 2. Установка Apache на CentOS 8.

Мы будем устанавливать Apache с dnf, который является менеджером пакетов по умолчанию для CentOS 8:

sudo dnf install httpd

После установки запустите и включите веб-сервер Apache для запуска после перезагрузки:

sudo systemctl restart httpd
sudo systemctl status httpd
sudo systemctl enable httpd

Затем настройте брандмауэр CentOS 8 для Apache:

firewall-cmd --add-port=80/tcp --zone=public --permanent
firewall-cmd --add-port=443/tcp --zone=public --permanent
firewall-cmd --reload

Шаг 3.

Создание структуры каталогов.

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

/var/www/
├── your-domain-example.com
│   └── public_html
├── your-domain-example2.com
│   └── public_html

Теперь создадим корневой каталог для домена your-domain-example.com:

sudo mkdir -p /var/www/your-domain-example.com/public_html

Затем создайте файл index.html в корневом каталоге документов домена:

sudo nano /var/www/your-domain-example.com/public_html/index.html
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to your-domain-example.com</title>
  </head>
  <body>
    <h2>Success! your-domain-example.com home page!</h2>
  </body>
</html>

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

sudo chown -R apache: /var/www/your-domain-example. com

Шаг 4. Создание файла виртуального хоста.

По умолчанию Apache настроен на загрузку всех файлов конфигурации, которые заканчиваются на .conf, из каталога:/etc/httpd/conf.d/

nano /etc/httpd/conf.d/your-domain-example.com.conf
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/your-domain-example.com/public_html

    <Directory /var/www/your-domain-example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog /var/log/httpd/your-domain-example.com-error.log
    CustomLog /var/log/httpd/your-domain-example.com-access.log combined
</VirtualHost>

Протестируйте и перезапустите Apache:

sudo apachectl configtest

Эта команда вернет:

Syntax OK

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

sudo systemctl restart httpd

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

http://your-domain-example. com

Поздравления! Вы успешно установили Apache . Благодарим за использование этого руководства для настройки веб-сервера Apache виртуального хоста в системе CentOS 8. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Apache .

Рекомендуемый контент

Настройка iptables для Apache2 в CentOS 6.5

Автор Игорь Овчаренко На чтение 3 мин Просмотров 26 Опубликовано

Содержание

  1. Что такое iptables?
  2. Настройка IPTables
  3. Конфигурация iptables для веб-сервера
  4. Включите и сохраните IPTables
  5. Анти synflood с Iptables

На страницах проекта gotoADM.ru ранее уже рассматривался процесс настройки веб-сервера (LAMP) на базе CentOS. Сейчас я занимаюсь настройкой веб-сервера и виртуальной машины Azure для ownCloud. Используемая ОС, как можно было определить из описания выше — CentOS. Сейчас рассмотрим настройку iptables для безопасной работы сервера и Apache2.

Что такое iptables?

Iptables является  приложением, что позволяет системному администратору настраивать таблицы в
брандмауэре ядра Linux (реализовано в виде различных Netfilter модулей) и цепей, и правил. Различные модули и программы ядра в настоящее время используются для различных протоколов; Iptables относится к IPv4, ip6tables на IPv6, arptables к ARP и Ebtables для Ethernet.

Настройка IPTables

В большинстве дистрибутивов Linux, включая RedHat / CentOS Linux уже сразу с IPTables по умолчанию. Вы можете использовать следующую процедуру для проверки того, что Iptables был уже установлен. Откройте терминал и введите следующую команду:

iptables -V

Пример вывода:
Iptables v1.3.5

Вы можете использовать следующую команду, чтобы просмотреть состояние команды Iptables, для этого выполните:

yum info iptables

Если команда что выше не появляется, то введите следующую команду, чтобы установить ИПтейблес

sudo yum -y install iptables

Конфигурация iptables для веб-сервера

Конфигурация Iptables по умолчанию на CentOS не разрешает доступ к HTTP (TCP порт 80) и HTTPS (TCP ПОРТ 443 )которые использует веб-сервер (например Apache).

Шаг 1: Flush или удалите все IPTABLES правила

1

2

3

4

5

6

iptables -F

iptables -X

iptables -t nat -F

iptables -t nat -X

iptables -t mangle -F

iptables -t mangle -X

Шаг 2: Установите правила по дефолту

iptables -P INPUT DROP

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

Шаг 3: Разрешить доступ к HTTP для 80 порта и HTTPS для 443 порта

1

2

3

4

5

6

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m state —state ESTABLISHED -j ACCEPT

iptables -A INPUT -m state —state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -p icmp -j ACCEPT

iptables -A INPUT -m state —state NEW -m tcp -p tcp —dport 80 -j ACCEPT

iptables -A INPUT -m state —state NEW -m tcp -p tcp —dport 443 -j ACCEPT

Включите и сохраните IPTables

Введите следующие две команды, чтобы включить брандмауэр:

sudo chkconfig iptables on

sudo service iptables save

Анти synflood с Iptables

Нужно отредактировать  /etc/sysctl. conf, чтобы защититься от некоторых видов атак и добавить или обновить можно добавив эти строки в файл:

net.ipv4.tcp_syncookies = 1

net.ipv4.conf.all.rp_filter = 1

net.ipv4.conf.default.rp_filter = 1

net.ipv4.tcp_max_syn_backlog = 8192

net.ipv4.netfilter.ip_conntrack_max = 1048576

И введите следующие команды

iptables -A PREROUTING -i eth0 -p tcp -m tcp —dport 80 —syn -m recent —set —name CHECK —rsource

iptables -A PREROUTING -i eth0 -p tcp -m tcp —dport 80 —syn -m recent —update —seconds 5 —hitcount 15 —rttl —name CHECK —rsource -j DROP

Настройка iptables для Apache в CentOS завершена.

Оцените автора

Как установить веб-сервер Apache в CentOS 8 (шаг за шагом)

Как установить веб-сервер Apache в CentOS 8 (шаг за шагом). В этом посте мы представляем веб-сервер Apache, его преимущества, а затем показываем вам, как установить веб-сервер Apache на CentOS 8.

Что такое веб-сервер Apache?

Во-первых, Apache Software Foundation разрабатывает и поддерживает Apache, программное обеспечение веб-сервера с открытым исходным кодом, которое существует уже более 20 лет. В целом, Apache поддерживает миллионы веб-сайтов и ежедневно обслуживает миллиарды пользователей как наиболее широко используемое программное обеспечение для веб-серверов в мире. Apache Software Foundation, некоммерческая организация, предоставляет поддержку и ресурсы для проектов программного обеспечения с открытым исходным кодом.

Особенности веб-сервера Apache

1. Модульная конструкция

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

2.

Высокая конфигурируемость

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

3. Способность обрабатывать большое количество одновременных подключений

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

4. Поддержка языков сценариев на стороне сервера

Обеспечивает интеграцию с такими языками, как PHP, позволяя разработчикам создавать динамические веб-сайты и приложения.

5. Интеграция с базой данных

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

6. Шифрование SSL/TLS

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

7. Широкая поддержка операционных систем

работает в различных операционных системах, включая Linux, Unix и Windows, что делает его гибким и универсальным вариантом для веб-серверов.

Преимущества веб-сервера Apache

1. Открытый исходный код

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

2. Надежность и стабильность

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

3. Простота настройки и управления

Широко поддерживается хостинг-провайдерами, прост в настройке и управлении, что делает его удобным вариантом для веб-серверов.

4. Гибкость и универсальность

Работает в различных операционных системах, включая Linux, Unix и Windows, что позволяет использовать его в различных средах.

5. Персонализация

Модульная конструкция Apache позволяет разработчикам настраивать веб-сервер в соответствии со своими конкретными потребностями и расширять его с помощью различных модулей, обеспечивающих дополнительную функциональность.

6. Широко распространен

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

7. Сильная поддержка сообщества

Кроме того, Apache Software Foundation предоставляет поддержку и ресурсы для проектов программного обеспечения с открытым исходным кодом, гарантируя, что у Apache есть сильное сообщество пользователей и разработчиков, которые вносят свой вклад в его разработку и поддержку.

Далее в разделе «Как установить веб-сервер Apache в CentOS 8» следует перейти к этапам установки.

Как установить веб-сервер Apache на CentOS 8 (шаг за шагом)

В этом разделе мы покажем вам, как установить веб-сервер Apache на CentOS 8.

Предпосылки

  • В вашей системе установлен сервер CentOS 8.
  • Пользователь root или пользователь с привилегиями sudo.

Шаг 1. Обновление системы

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

обновление днф -у

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

Шаг 2. Настройка брандмауэра

Firewalld — это инструмент брандмауэра по умолчанию, предустановленный в операционной системе CentOS 8. Кроме того, вам нужно будет добавить правило брандмауэра для службы Apache, чтобы получить к ней доступ из внешней системы.

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

брандмауэр-cmd --permanent --zone=public --add-service=http
брандмауэр-cmd --permanent --zone=public --add-service=https

Затем перезагрузите демон firewalld, чтобы изменения вступили в силу.

брандмауэр-cmd --перезагрузить

Теперь порт Apache открыт для публики, и любой может получить к нему доступ с удаленной машины.

Шаг 3. Установите Apache на CentOS 8

Очевидно, что пакет веб-сервера Apache включен в репозиторий CentOS по умолчанию. Чтобы установить его, выполните следующую команду.

dnf установить httpd -y

После установки пакета веб-сервера Apache вы проверяете информацию о пакете Apache с помощью следующей команды.

об/мин -qi httpd

Вы должны увидеть информацию о пакете Apache в следующем выводе.

Имя: httpd
Версия: 2.4.37
Релиз: 47.module_el8.6.0+1111+ce6f4ceb.1
Архитектура: x86_64
Дата установки: суббота, 24 декабря 2022 г., 14:09:15 UTC.
Группа: Системная среда/Демоны
Размер : 4499649
Лицензия: АСЛ 2.0
Подпись: RSA/SHA256, среда, 6 апреля 2022 г., 15:16:12 UTC, идентификатор ключа 05b555b38483c65d.
Исходный RPM: httpd-2. 4.37-47.module_el8.6.0+1111+ce6f4ceb.1.src.rpm
Дата сборки: среда, 6 апреля 2022 г., 14:55:33 UTC.
Хост сборки: x86-01.mbox.centos.org
Переезды: (не переезжаем)
Упаковщик: CentOS Buildsys
Производитель: CentOS.
URL-адрес: https://httpd.apache.org/
Резюме: HTTP-сервер Apache
Описание :
HTTP-сервер Apache — это мощный, эффективный и расширяемый
веб сервер.

Шаг 4. Управление службой Apache

В CentOS веб-служба Apache управляется systemd. Вы можете легко запускать и останавливать его с помощью команды systemctl. Чтобы запустить службу Apache, выполните следующую команду.

systemctl запустить httpd

Если вы хотите проверить статус службы Apache, выполните следующую команду.

статус systemctl httpd

Вы должны увидеть следующий вывод.

● httpd.service — HTTP-сервер Apache.
   Загружено: загружено (/usr/lib/systemd/system/httpd.service; отключено; настройка поставщика: отключена)
   Active: активен (работает) с сб 2022-12-24 14:09:30 UTC; 4 с назад
     Документы: man:httpd. service(8)
 Основной PID: 26737 (httpd)
   Статус: «Запущено, прослушивание: порт 80»
    Заданий: 213 (лимит: 5941)
   Память: 25,5 Мб
   Группа CG: /system.slice/httpd.service
           ├─26737 /usr/sbin/httpd -DFOREGROUND
           ├─26738 /usr/sbin/httpd -DFOREGROUND
           ├─26739 /usr/sbin/httpd -DFOREGROUND
           ├─26740 /usr/sbin/httpd -DFOREGROUND
           └─26741 /usr/sbin/httpd -DFOREGROUND
24 декабря 14:09:30 centos8 systemd[1]: запуск HTTP-сервера Apache...

Здесь, чтобы включить службу Apache, выполните следующую команду.

systemctl включить httpd

Чтобы остановить службу Apache, выполните следующую команду:

systemctl остановить httpd

По умолчанию Apache прослушивает порт 80. Вы можете проверить это с помощью следующей команды.

сс-antpl | группа 80

Вы получите следующий вывод.

ПРОСЛУШАТЬ 0 128 *:80 *:* пользователи:(("httpd",pid=26741,fd=4),("httpd",pid=26740,fd=4),("httpd",pid=26739,fd=4),("httpd",pid=26737,fd=4))

Теперь откройте веб-браузер и перейдите на тестовую страницу Apache, используя URL-адрес http://your-server-ip. Вы должны увидеть тестовую страницу Apache на следующем экране.

Шаг 5. Создание виртуального хоста Apache

В общем, виртуальный хостинг — это функция веб-сервера Apache, которая позволяет размещать несколько веб-сайтов на одном сервере. В этом разделе мы размещаем сайт с именем app.example.com 9.0175 с помощью функции виртуального хостинга.

Прежде всего, создайте каталог своего веб-сайта с помощью следующей команды.

mkdir /var/www/html/app.example.com

После этого установите надлежащее разрешение и владельца с помощью следующей команды.

chown -R apache:apache /var/www/html/app.example.com
chmod -R 755 /var/www/html/app.example.com

Затем создайте простую HTML-страницу для своего веб-сайта.

нано /var/www/html/app.example.com/index.html

Добавьте следующий код.

Добро пожаловать на сайт cloudinfrastructureservices.

co.uk!

Успех! Сайт cloudinfrastructureservices.co.uk запущен и работает!

Сохраните файл, затем создайте конфигурацию виртуального хоста Apache для своего веб-сайта.

нано /etc/httpd/conf.d/app.conf

Определите каталог веб-сайта и веб-страницу, как показано ниже.


    Имя сервера app.example.com
    Псевдоним сервера example.com
    DocumentRoot /var/www/html/app.example.com
    DirectoryIndex index.html
    Журнал ошибок /var/log/httpd/example.com_error.log
    CustomLog /var/log/httpd/example.com_requests.log вместе

Сохраните и закройте файл, затем перезапустите службу Apache, чтобы изменения вступили в силу.

systemctl перезапустить httpd

Краткое объяснение каждой директивы конфигурации показано ниже.

ServerName: Определите имя вашего домена.

DocumentRoot: Укажите путь к каталогу веб-сайта.

DirectoryIndex: Страница веб-сайта по умолчанию для загрузки.

ErrorLog: Укажите путь журнала ошибок Apache.

CustomLog: Укажите путь к журналу доступа Apache.

Шаг 6. Проверка виртуального хоста Apache

Наконец, ваш веб-сайт размещен на веб-сервере Apache. Подтвердите это, используя URL-адрес http://app.example.com. Вы должны увидеть страницу своего веб-сайта на следующем экране.

Спасибо, что прочитали Как установить веб-сервер Apache на CentOS 8 (шаг за шагом). Мы завершим эту статью в блоге.

Как установить веб-сервер Apache на CentOS 8 (шаг за шагом) Заключение

В этом пошаговом руководстве мы объяснили, как установить веб-сервер Apache в CentOS 8. Кроме того, мы также показали, как создать виртуальный хост в Apache. Действительно, Apache — это мощный и надежный веб-сервер с открытым исходным кодом, который широко используется отдельными лицами и организациями по всему миру. Его модульная конструкция, конфигурируемость и способность обрабатывать большое количество одновременных подключений делают его идеальным выбором для различных приложений. Его открытый исходный код и мощная поддержка сообщества гарантируют, что он будет по-прежнему популярным выбором для веб-серверов в будущем.

Если вы хотите узнать больше об Apache, перейдите в наш блог здесь.

Как установить Apache (httpd) на RHEL и CentOS Stream 9 — TecAdmin

Apache — один из самых популярных на сегодняшний день веб-серверов с открытым исходным кодом, предлагающий надежный набор функций и высокую производительность. В этой статье мы покажем вам, как установить Apache на RHEL и CentOS Stream 9, а затем защитить его для производственного использования.

Реклама

Предпосылки

Перед началом работы вам потребуется доступ к серверу, на котором запущены RHEL и CentOS Stream 9. У вас также должны быть привилегии root или sudo, чтобы вы могли устанавливать пакеты и вносить изменения в систему. Кроме того, вам необходимо иметь общее представление о командах Linux и о том, как использовать текстовый редактор, такой как nano или vim.

Шаг 1. Установка Apache

Чтобы установить Apache, сначала необходимо добавить в систему репозиторий EPEL. Это можно сделать с помощью следующей команды:

 sudo dnf установить epel-релиз
 

Затем вы можете установить Apache с помощью следующей команды:

 sudo dnf install httpd
 

После завершения установки вы можете запустить Apache с помощью следующей команды:

 sudo systemctl start httpd
 

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

 sudo systemctl enable httpd
 

Шаг 2. Проверка установки

Чтобы проверить установку, откройте веб-браузер и перейдите к `http://ваш-сервер-ip` . Вы должны увидеть страницу с надписью «Добро пожаловать на ваш веб-сервер Apache». Это подтверждает, что Apache запущен и работает в вашей системе.

Установка веб-сервера Apache (httpd)

Шаг 3: Защита Apache

Теперь, когда Apache установлен, пришло время защитить его для использования в производственной среде. Вот несколько ключевых шагов:

  1. Обновите Apache до последней версии

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

     обновление sudo dnf httpd
     
  2. Отключить список каталогов

    По умолчанию Apache отображает список каталогов, если в каталоге нет файла индекса. Это может быть угрозой безопасности, поэтому лучше отключить список каталогов. Вы можете сделать это, добавив следующие строки в файл конфигурации Apache, расположенный в /etc/httpd/conf/httpd.conf:

    <Каталог /var/www/html>
    Параметры — Индексы

    <Каталог /var/www/html>

    Параметры -Индексы

  3. Настройка брандмауэра

    Брандмауэр может помочь защитить ваш сервер от несанкционированного доступа, блокируя входящий трафик через определенные порты. В RHEL и CentOS Stream 9 вы можете использовать встроенную службу брандмауэра firewalld для управления входящим трафиком. Чтобы разрешить трафик на Apache, выполните следующую команду:

     sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --reload
     
  4. Включить шифрование SSL/TLS

    Для шифрования данных, передаваемых между сервером и клиентами, необходимо включить шифрование SSL/TLS. Это можно сделать, получив сертификат SSL и настроив Apache для его использования. Самоподписанный сертификат можно создать с помощью следующей команды:

     sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache.key -out /etc/ssl/certs /apache.crt
     

    Далее необходимо настроить Apache для использования сертификата. Это можно сделать, добавив следующие строки в файл конфигурации Apache, расположенный в /etc/httpd/conf/httpd.conf:

    <Виртуальный хост _default_:443>
    DocumentRoot «/var/www/html»
    ServerName ваше-имя-сервера
    SSLEngine включен
    SSLCertificateFile /etc/ssl/certs/apache. crt
    SSLCertificateKeyFile /etc/ssl/private/apache.key
    <Каталог "/var/www/html">
    Индексы опционов FollowSymLinks
    Аллововеррайд
    Требовать все предоставленные

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

        DocumentRoot «/var/www/html»

    ServerName your-server-name

     

        SSLEngine на

        SSLCertificateFile /etc/ssl/certs/apache.crt

        SSLCertificateKeyFile /etc/ssl/private/apache. ключ

     

        <Каталог "/var/www/ HTML">

            Параметры Индексы FollowSymLinks

            AllowOverride Нет

            Требовать все предоставленные

        

    Перезапустите Apache после внесения этих изменений с помощью следующей команды:

     sudo systemctl restart httpd
     
  5. Ограничение доступа к конфиденциальным файлам

    Важно ограничить доступ к конфиденциальным файлам, таким как файлы конфигурации и журналы.