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

Установка WordPress в CentOS — General Software

WordPress — это самый простой и популярный способ создания собственного сайта или блога. Фактически, на WordPress работает более 43,3% всех веб-сайтов в Интернете. Да, более чем каждый четвертый сайт, который вы посещаете, скорее всего, работает на WordPress. В этом руководстве мы продемонстрируем, как можно установить WordPress в CentOS 8 Stream.

Содержание

  1. Установка дополнительных репозиториев
  2. Установка Apache
  3. Установка PHP
  4. Установка MySQL в CentOS
  5. Создание базы данных WordPress
  6. Настройка Apache для WordPress (не обязательно)
  7. Настройка SELinux
  8. Загрузка WordPress в CentOS
  9. Открываем порты в межсетевом экране
  10. Завершение установки WordPress в CentOS

Установка дополнительных репозиториев

Перед установкой, необходимо установить в системе дополнительные репозитории, командами ниже

Epel

yum install epel-release

Remi

yum install http://rpms. remirepo.net/enterprise/remi-release-8.rpm

Raven

yum install https://pkgs.dyn.su/el8/base/x86_64/raven-release.el8.noarch.rpm

после этого обновите кеш

dnf makecache

Установка Apache

Для установки Apache выполните следующие команду:

yum install httpd mod_ssl

Теперь запустите и включите веб-сервер Apache.

sudo systemctl enable httpd
sudo systemctl start httpd

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

sudo systemctl status httpd

Установка PHP

PHP — это язык веб-программирования на стороне сервера, используемый разработчиками для создания динамических веб-страниц. Мы собираемся установить PHP 8.1.

dnf module reset php
dnf module install php:remi-8.1

Установим дополнительные пакеты PHP необходимые для работы WordPress (это можно было сделать на прошлом шаге, но нам необходимо было активировать конкретную версию PHP)

dnf install php php-cli php-common php-fpm php-gd php-intl php-mbstring php-mysqlnd /
php-opcache php-pdo php-pecl-igbinary php-pecl-imagick-im6 php-pecl-msgpack /
php-pecl-xmlrpc php-pecl-zip php-process php-sodium php-xml php-zip php-imagick

и перезапустите apache

sudo systemctl restart httpd

Установка MySQL в CentOS

Последним компонентом стека является сервер баз данных, которым в данном случае будет MySQL .

Для установки MySQL выполните команду:

dnf install mysql-server

Теперь запустите сервер MySQL

sudo systemctl enable mysqld
sudo systemctl start mysqld

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

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

grep 'A temporary password is generated' /var/log/mysqld.log | tail -1

Итак, чтобы укрепить сервер, выполните команду:

sudo mysql_secure_installation

Нажмите ENTER, когда появится запрос на ввод пароля root, и нажмите ‘Y’, чтобы установить пароль root.

нам необходимо ответить на некоторые вопросы и ввести пароль

 

Создание базы данных WordPress

Подключаемся к mysql под пользователем ROOT

mysql -u root -p

Создаем базу

CREATE DATABASE [DATABASE];

Создаем пользователя

CREATE USER '[USER]'@'localhost' IDENTIFIED WITH mysql_native_password BY '[PASSWORD]';

Добавляем права

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON [DATABASE]. * TO '[USER]'@'localhost';

Перегрузить привелегии.

FLUSH PRIVILEGES;

и выходим

[DATABASE] — Имя базы данных.

[USER] — Пользователь, которого мы создаем.

[PASSWORD] — Пароль пользователя.

Настройка Apache для WordPress (не обязательно)

Замените wordpress.example.com на ваш домен или IP адрес!

Создаем директорию, для хранения сертификатов

mkdir -p /var/www/httpd-cert/

и сгенерируем сертификат

openssl req -new -x509 -nodes -keyout /var/www/httpd-cert/wordpress.example.com.key -x509 \
-days 3650 -out /var/www/httpd-cert/wordpress.example.com.crt \
-subj '/C=RU/ST=RU/L=Moscow/OU=Sec/CN=wordpress.example.com'

Дополнительно сменим владельца файлов сертифката

chown -R apache:apache /var/www/httpd-cert/

Наконец, нам нужно настроить веб-сервер Apache для сервера веб-страниц WordPress. Для этого мы создадим файл виртуального хоста для Wodpress.

mkdir -p /etc/httpd/sites-available/
echo "IncludeOptional sites-available/*. conf" >> /etc/httpd/conf/httpd.conf

Создадим директорию сайта

mkdir -p /var/www/wordpress

далее, создаем файл конфигурации сайта

sudo nano /etc/httpd/sites-available/wordpress.conf

Вставьте приведенную ниже конфигурацию в файл и сохраните.

<VirtualHost *:80>
    ServerName wordpress.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/wordpress
    <Directory /var/www/wordpress>
        Allowoverride all
     </Directory>
</VirtualHost>
<VirtualHost *:443>
    ServerName wordpress.example.com 
    ServerAdmin [email protected]
    DocumentRoot /var/www/wordpress
    ServerAdmin [email protected]
    DirectoryIndex index.php index.html
    AddDefaultCharset off
    SSLEngine on
    SSLCertificateFile "/var/www/httpd-cert/wordpress.example.com.crt"
    SSLCertificateKeyFile "/var/www/httpd-cert/wordpress. example.com.key"
    SSLHonorCipherOrder on
    SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2 +TLSv1.3
    SSLCipherSuite EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4
    <Directory /var/www/wordpress>
        Allowoverride all
     </Directory>
</VirtualHost>

Проверяем файл конфигурации на ошибки

httpd -t

Затем перезапустите службу веб-сервера Apache, чтобы изменения вступили в силу.

sudo systemctl restart httpd

Настройка SELinux

Изменяем настройки SELinux для директории сайта

semanage fcontext -a -t httpd_sys_rw_content_t /var/www/wordpress
restorecon -F -R -v /var/www/wordpress/

Если не изменить настройки, получим ошибку вида: AH00035: access to /index.php denied (filesystem path ‘/var/www/wordpress/index.php’) because search permissions are missing on a component of the path

Так же, обязательно

setsebool -P httpd_can_network_connect true

Иначе в админке нас ожидают следующие ошибки:

  • Ошибка: cURL error 7: (http_request_failed)
  • Ошибка Ваш сайт не смог подключиться к WordPress. org по 198.143.164.251, и вернул ошибку: cURL error 7

Загрузка WordPress в CentOS

Чтобы загрузить последнюю версию WordPress, выполните команду wget.

wget https://wordpress.org/latest.zip

После этого распакуйте заархивированный файл WordPress

sudo unzip latest.zip 

и перенесите файлы в директорию сайта

mv wordpress/* /var/www/wordpress

сменим владельца файлов

chown -R apache:apache /var/www/wordpress

Открываем порты в межсетевом экране

Для работы сайфта потребуется два порта 80 и 443

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

Завершение установки WordPress в CentOS

Чтобы завершить установку Wodpress . Запустите браузер и просмотрите URL вашего сервера.

Отобразится страница ниже.

Нажимаем «Let’s go!», на данном шаге нам необходимо указать настройки для доступа к базе

Если все указано верно, WordPress создаст файл конфигурации и мы будем готовый перейти к последнему шагу

Остается указать название сайта и создать пользователя с правами администратора

 

на этом настройка закончена

Приятного творчества.

Установка Cacti на Centos 7: мониторинг серверов и сетей

Александр Мельников

26 сентября 2019

Обновлено 4 мая 2023

CentOS

Инструкция по установке системы для мониторинга серверов и сетевых устройств Cacti на виртуальный сервер под управлением Centos 7.

Что такое Cacti?

Cacti — это инструмент с открытым исходным кодом для мониторинга сервера, визуализации собранных данных и построения графиков, написан на PHP/MySQL. Cacti использует RRDTool (инструмент для работы с базами данных Round-Robin) для хранения данных и генерации графики, сборка периодических данных происходит через Net-SNMP — набор приложений для реализации SNMP (Simple Network Management Protocol).

Настройка репозиториев

Необходимо отключить функции безопасности SELinux, для этого с помощью текстового редактора, например vi откройте следующий системный файл:

vi /etc/sysconfig/selinux

Измените значение параметра SELINUX на disabled:

SELINUX=disabled

Перезагрузите виртуальный сервер, чтобы изменения вступили в силу:

reboot

Настройте репозиторий EPEL:

rpm -Uvh https://dl. fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Установите репозиторий Remi:

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm

Выведите список доступных репозиториев:

yum repolist

Установка компонентов

В первую очередь необходимо установить веб-сервер Apache:

yum install httpd httpd-devel
systemctl start httpd

Установите утилиты RRDTool и SNMP, для дальнейшей обработки и визуализации данных:

yum install net-snmp net-snmp-utils net-snmp-libs rrdtool
systemctl start snmpd

Далее установите MariaDB и запустите сервис:

yum install mariadb-server
systemctl start mariadb

Запустите скрипт, с помощью которого задайте пароль администратора и дополнительные параметры безопасности:

mysql_secure_installation

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

yum --enablerepo=remi install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli php-intl php-snmp

Создание базы данных Cacti

Подключитесь к СУБД MariaDB:

mysql -u root -p

С помощью следующих команд создайте БД и пользователя, задав надежный пароль:

CREATE DATABASE fosslinuxcacti;
CREATE USER 'fosslinuxuser'@'localhost' IDENTIFIED BY 'password';

Предоставьте привилегии пользователю:

grant all privileges on fosslinuxcacti. * to fosslinuxuser@localhost;
FLUSH PRIVILEGES;

Созданный пользователь базы данных должен иметь доступ к таблице mysql.time_zone_name. Поэтому необходимо импортировать mysql_test_data_timezone.sql в базу данных MySQL:

mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql

Выполните вход в MariaDB:

mysql -u root -p

Предоставьте доступ пользователю базы данных cacti и обновите привилегии:

GRANT SELECT ON mysql.time_zone_name TO fosslinuxuser@localhost;
FLUSH PRIVILEGES;

Оптимизация базы данных

Для повышения производительности нужно изменить параметры базы данных. Откройте файл конфигурации.

vi /etc/my.cnf.d/server.cnf

Вставьте следующие строки в секцию [mysqld]:

event_scheduler=ON
plugin-load=BLACKHOLE=ha_blackhole.so
blackhole=FORCE
collation-server = utf8mb4_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8mb4
max_heap_table_size = 128M
max_allowed_packet = 16777216
tmp_table_size = 64M
join_buffer_size = 64M
innodb_file_per_table = on
innodb_buffer_pool_size = 512M
innodb_doublewrite = off
innodb_additional_mem_pool_size = 80M
innodb_lock_wait_timeout = 50
innodb_flush_log_at_trx_commit = 2
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_io_capacity = 5000
innodb_io_capacity_max = 10000

Перезапустите СУБД для применения изменений:

systemctl restart mariadb. service

Установка и конфигурация Cacti

Установите Cacti используя yum:

yum -y install cacti

Импортируйте файл базы данных cacti по умолчанию в созданную базу данных.

cd /usr/share/doc/cacti-1.2.5/

Примечание: версия Cacti может отличаться.

Импортируйте SQL-файл:

mysql -u root -p fosslinuxcacti < cacti.sql

Отредактируйте файл конфигурации Cacti, указав базу данных, пароль, пользователя и пр.:

vi /usr/share/cacti/include/config.php

Измените следующие параметры:

$database_type = 'mysql';
$database_default = 'fosslinuxcacti';
$database_hostname = 'localhost';
$database_username = 'fosslinuxuser';
$database_password = 'password';
$database_port = '3306';
$database_ssl = false;

Настройка Apache

Выполнить настройку Apache необходимо для удаленного подключения:

vi /etc/httpd/conf.d/cacti.conf

Замените строку Require host localhost на Require all granted и Allow from localhost на Allow from all.
Файл будет выглядеть следующем образом:

Alias /cacti /usr/share/cacti

<Directory /usr/share/cacti/>
<IfModule mod_authz_core.c>
# httpd 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# httpd 2.2
Order deny,allow
Deny from all
Allow from all
</IfModule>
</Directory>

<Directory /usr/share/cacti/log>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
</Directory>

<Directory /usr/share/cacti/rra>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
</Directory>

Далее откройте файл конфигурации PHP:

vi /etc/php.ini

Измените значения следующих параметров:

date. timezone = Europe/Minsk
memory_limit = 800M
max_execution_time = 360

Перезапустите запущенные сервисы:

systemctl restart httpd.service
systemctl restart mariadb.service
systemctl restart snmpd.service

Не забудьте настроить Firewall, чтобы подключиться Cacti:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload

Подключение к веб-интерфейсу Cacti

Перейдите в браузере по следующему адресу:

<Ваш_домен_или_IP-адрес>/cacti

Например:

121.123.123.121/cacti

При первом подключении используйте логин и пароль admin/admin:

Вам сразу же необходимо будет изменить значения по умолчанию:

Далее необходимо выбрать язык и принять пользовательское соглашение:

На следующем шаге будет выполнена проверка наличия зависимостей и необходимых конфигураций PHP и MySQL:

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

Далее будет выполнена проверка прав и доступов:

Выберите профиль по умолчанию и подсети для сканирования:

На следующих шагах вы можете выбрать все шаблоны и таблицы:

Подтвердите установку:

По завершении установки отобразится лог с ошибками, если они имели место быть:

Далее вы можете зайти в панель Cacti и приступать к мониторингу:

Пример графиков со статистикой:

Оценка:

5 из 5

Аverage rating : 5

Оценок: 2

191028
Санкт-Петербург
Литейный пр. , д. 26, Лит. А

+7 (812) 403-06-99

700
300

ООО «ИТГЛОБАЛКОМ ЛАБС»

191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А

+7 (812) 403-06-99

700
300

ООО «ИТГЛОБАЛКОМ ЛАБС»

700
300

Основной файл конфигурации CentOS 7 Apache httpd.conf

Основным файлом конфигурации веб-сервера CentOS 7 Apache является файл «httpd.conf». Расположение файла «httpd.conf» — каталог «/etc/httpd/conf».

 /etc/httpd/conf 

Файл httpd.conf, в свою очередь, загружает файлы конфигурации в каталог «/etc/httpd/conf.d», которые заканчиваются расширением .conf.

Ниже приведен файл конфигурации apache httpd conf по умолчанию, найденный в CentOS 7.

Скачать файл httpd.conf

 #
# Это основной файл конфигурации HTTP-сервера Apache.  Он содержит
# директивы конфигурации, которые дают инструкции серверу.
# См.  для получения подробной информации.
# В частности, см.
# 
# для обсуждения каждой директивы конфигурации.
#
# НЕ читайте инструкции здесь без понимания
# что они делают. Они здесь только как подсказки или напоминания. Если вы не уверены
# обратитесь к онлайн-документам. Вы были предупреждены.
#
# Имена файлов конфигурации и журналов: Если имена файлов, указанные вами для многих
# управляющих файлов сервера начинаются с "/" (или "диск:/" для Win32),
# сервер будет использовать этот явный путь. Если имена файлов *не* начинаются
# с "/" значение ServerRoot добавляется в начало -- поэтому 'log/access_log'
# с ServerRoot, установленным в '/www', будет интерпретироваться
# сервер как '/www/log/access_log', где как '/log/access_log' будет
# интерпретируется как '/log/access_log'.

#
# ServerRoot: Верхняя часть дерева каталогов, в которой находится сервер. 
# файлы конфигурации, ошибок и журналов сохраняются.
#
# Не добавляйте косую черту в конце пути к каталогу. Если вы указываете
# ServerRoot на нелокальном диске, обязательно укажите локальный диск на
# Директива Mutex, если используются файловые мьютексы. Если вы хотите поделиться
# один и тот же ServerRoot для нескольких демонов httpd, вам нужно изменить
# наименьший PidFile.
#
Корневой сервер "/etc/httpd"

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

#
# Поддержка динамических общих объектов (DSO)
#
# Чтобы иметь возможность использовать функциональность модуля, который был создан как DSO, вы
# должны разместить соответствующие строки `LoadModule' в этом месте, чтобы
# содержащиеся в нем директивы фактически доступны _до_ того, как они будут использованы. 
# Статически скомпилированные модули (перечисленные с помощью `httpd -l') не нуждаются в
# для загрузки сюда.
#
# Пример:
# LoadModule foo_module modules/mod_foo.so
#
Включить conf.modules.d/*.conf

#
# Если вы хотите, чтобы httpd работал от имени другого пользователя или группы, вы должны запустить
# httpd как root изначально, и он переключится.
#
# Пользователь/группа: Имя (или #номер) пользователя/группы для запуска httpd.
# Обычно хорошей практикой является создание выделенного пользователя и группы для
# запуск httpd, как и большинства системных служб.
#
Апач пользователя
Групповой апач

# Конфигурация основного сервера
#
# Директивы в этом разделе устанавливают значения, используемые 'main'
# сервер, который отвечает на любые запросы, которые не обрабатываются
#  определение. Эти значения также являются значениями по умолчанию для
# любые контейнеры, которые вы можете определить позже в файле.
#
# Все эти директивы могут находиться внутри контейнеров,
# в этом случае эти настройки по умолчанию будут переопределены для
# определяется виртуальный хост. 
#

#
# ServerAdmin: Ваш адрес, по которому должны быть проблемы с сервером
# отправлено по электронной почте. Этот адрес появляется на некоторых страницах, созданных сервером, таких как
# как документы об ошибках. например [электронная почта защищена]
#
ServerAdmin [email защищен]

#
# ServerName указывает имя и порт, которые сервер использует для идентификации.
# Часто это можно определить автоматически, но мы рекомендуем указать
# это явно для предотвращения проблем во время запуска.
#
# Если у вашего хоста нет зарегистрированного DNS-имени, введите здесь его IP-адрес.
#
#ServerName www.example.com:80

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

    AllowOverride нет
    Требовать все отказано


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

#
# DocumentRoot: Каталог, из которого вы будете обслуживать
# документы. По умолчанию все запросы берутся из этого каталога, но
# символические ссылки и псевдонимы могут использоваться для указания на другие местоположения.
#
DocumentRoot "/var/www/html"

#
# Ослабить доступ к содержимому в /var/www.
#
<Каталог "/var/www">
    Аллововеррайд
    # Разрешить открытый доступ:
    Требовать все предоставленные


# Дальнейшее ослабление доступа к корневому каталогу документа по умолчанию:
<Каталог "/var/www/html">
    #
    # Возможные значения директивы Options: «Нет», «Все»,
    # или любая комбинация:
    # Индексы включают FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Обратите внимание, что "MultiViews" должен быть назван *явно* --- "Options All"
    # не дает его вам.
    #
    # Директива Options одновременно сложна и важна. Пожалуйста, посмотри
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # Чтобы получить больше информации. 
    #
    Индексы опционов FollowSymLinks

    #
    # AllowOverride определяет, какие директивы могут быть помещены в файлы .htaccess.
    # Это может быть "Все", "Нет" или любая комбинация ключевых слов:
    # Параметры FileInfo AuthConfig Limit
    #
    Аллововеррайд

    #
    # Контролирует, кто может получать данные с этого сервера.
    #
    Требовать все предоставленные


#
# DirectoryIndex: устанавливает файл, который Apache будет обслуживать, если каталог
# запрашивается.
#

    DirectoryIndex index.html


#
# Следующие строки предотвращают доступ к файлам .htaccess и .htpasswd.
# просматривается веб-клиентами.
#
<Файлы ".ht*">
    Требовать все отказано


#
# ErrorLog: расположение файла журнала ошибок.
# Если вы не укажете директиву ErrorLog внутри
# контейнер, сообщения об ошибках, относящиеся к этому виртуальному хосту, будут
# зарегистрировался здесь. Если вы *делаете* определяете файл журнала ошибок для
# контейнер, ошибки этого хоста будут регистрироваться там, а не здесь. 
#
ErrorLog "журналы/журнал_ошибок"

#
# LogLevel: контроль количества сообщений, записываемых в error_log.
# Возможные значения: отладка, информация, уведомление, предупреждение, ошибка, крит,
# оповещение, появление.
#
Предупреждение LogLevel


    #
    # Следующие директивы определяют псевдонимы некоторых форматов для использования с
    # директива CustomLog (см. ниже).
    #
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" в сочетании
    LogFormat "%h %l %u %t \"%r\" %>s %b" общий

    
      # Вам необходимо включить mod_logio.c для использования %I и %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" в сочетании
    

    #
    # Расположение и формат файла журнала доступа (Common Logfile Format).
    # Если вы не определяете какие-либо файлы журнала доступа в
    # контейнер, они будут регистрироваться здесь. И наоборот, если вы *делаете*
    # определить файлы журналов для каждого доступа, транзакции будут
    # зарегистрирован в нем и *не* в этом файле. 
    #
    #CustomLog "logs/access_log" общий

    #
    # Если вы предпочитаете файл журнала с информацией о доступе, агенте и реферере
    # (Combined Logfile Format) вы можете использовать следующую директиву.
    #
    CustomLog "logs/access_log" в сочетании



    #
    # Перенаправление: позволяет сообщать клиентам о документах, которые раньше
    # существуют в пространстве имен вашего сервера, но больше не существуют. Клиент
    # сделает новый запрос документа в новом местоположении.
    # Пример:
    # Перенаправить постоянный /foo http://www.example.com/bar

    #
    # Псевдоним: Сопоставляет веб-пути с путями файловой системы и используется для
    # получить доступ к содержимому, которое не находится в DocumentRoot.
    # Пример:
    # Псевдоним /webpath /full/filesystem/path
    #
    # Если вы укажете завершающий / в / веб-пути, сервер
    # требуют, чтобы он присутствовал в URL. Вы также, вероятно,
    # необходимо предоставить раздел, чтобы разрешить доступ к
    # путь к файловой системе. 

    #
    # ScriptAlias: определяет, какие каталоги содержат серверные скрипты.
    # ScriptAliases по сути такие же, как псевдонимы, за исключением того, что
    # документы в целевом каталоге рассматриваются как приложения и
    # выполняется сервером по запросу, а не как документы, отправленные на
    # клиент. Те же правила о конце "/" применяются к ScriptAlias.
    # директивы для Alias.
    #
    Псевдоним сценария /cgi-bin/ "/var/www/cgi-bin/"



#
# "/var/www/cgi-bin" следует изменить на любой ваш ScriptAliased
# Каталог CGI существует, если вы его настроили.
#
<Каталог "/var/www/cgi-bin">
    Аллововеррайд
    Опции
    Требовать все предоставленные



    #
    # TypesConfig указывает на файл, содержащий список отображений из
    # расширение имени файла для MIME-типа.
    #
    Конфигурация типов /etc/mime.types

    #
    # AddType позволяет вам добавлять или переопределять конфигурацию MIME
    # файл, указанный в TypesConfig для определенных типов файлов. 
    #
    Приложение #AddType/x-gzip .tgz
    #
    # AddEncoding позволяет некоторым браузерам распаковывать
    # информация на лету. Примечание. Не все браузеры поддерживают это.
    #
    #AddEncoding x-сжатие .Z
    #AddEncoding x-gzip .gz .tgz
    #
    # Если приведенные выше директивы AddEncoding закомментированы, то вы
    # возможно, следует определить эти расширения для указания типов мультимедиа:
    #
    Приложение AddType/x-compress .Z
    Приложение AddType/x-gzip .gz .tgz

    #
    # AddHandler позволяет сопоставлять определенные расширения файлов с «обработчиками»:
    # действия, не связанные с типом файла. Они могут быть встроены в сервер
    # или добавлено директивой Action (см. ниже)
    #
    # Чтобы использовать сценарии CGI вне каталогов ScriptAliased:
    # (Вам также нужно будет добавить «ExecCGI» в директиву «Параметры».)
    #
    #AddHandler cgi-скрипт .cgi

    # Для карт типов (согласованные ресурсы):
    #AddHandler тип карты var

    #
    # Фильтры позволяют обрабатывать контент перед его отправкой клиенту. 
    #
    # Чтобы проанализировать файлы .shtml для включения на стороне сервера (SSI):
    # (Вам также нужно будет добавить «Включает» в директиву «Параметры».)
    #
    AddType текст/html .shtml
    AddOutputFilter ВКЛЮЧАЕТ .shtml


#
# Укажите кодировку по умолчанию для всего обслуживаемого контента; это позволяет
# интерпретация всего контента как UTF-8 по умолчанию. Чтобы использовать
# выбор браузера по умолчанию (ISO-8859-1) или разрешить META-теги
# в содержимом HTML, чтобы переопределить этот выбор, закомментируйте это
# директива:
#
Кодировка AddDefaultCharset UTF-8


    #
    # Модуль mod_mime_magic позволяет серверу использовать различные подсказки из
    # содержимое самого файла для определения его типа. MIMEMagicFile
    Директива # сообщает модулю, где находятся определения подсказок.
    #
    MIMEMagicFile conf/магия


#
# Настраиваемые ответы на ошибки бывают трех видов:
# 1) обычный текст 2) локальные перенаправления 3) внешние перенаправления
#
# Некоторые примеры:
#ErrorDocument 500 "Сервер сделал бу-бу. "
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#

#
# EnableMMAP и EnableSendfile: В системах, которые это поддерживают,
# отображение памяти или системный вызов sendfile могут использоваться для доставки
# файлы. Обычно это повышает производительность сервера, но
# быть выключенным при подаче из сети
# файловые системы или если поддержка этих функций иным образом
# не работает в вашей системе.
# По умолчанию, если прокомментировано: EnableMMAP On, EnableSendfile Off
#
#ВключитьMMAP выключен
ВключитьОтправить файл на

# Дополнительная конфигурация
#
# Загрузите файлы конфигурации в каталог "/etc/httpd/conf.d", если они есть.
IncludeOptional conf.d/*.conf
 

Как установить mod_ssl на RHEL/CentOS 7 с веб-сервером Apache

Модуль mod_ssl обеспечивает SSL v3 и TLS v1.x с поддержкой HTTP-сервера Apache. В этом руководстве представлена ​​базовая пошаговая настройка mod_ssl на сервере RHEL/CentOS 7 Linux с использованием веб-сервера httpd Apache.

Пошаговые инструкции по установке mod_ssl на RHEL/CentOS 7

Предполагается, что вы уже выполнили базовую установку и настройку веб-сервера Apache на своем сервере RHEL/CentOS 7.

Шаг 1: Установите модуль mod_ssl .

Первым шагом является установка модуля mod_ssl с помощью команды yum :

 $ sudo yum install mod_ssl 

Шаг 2: включите mod_s сл модуль.

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

 $ apachectl -M | греп ssl 

Если вы не видите никаких результатов этой последней команды, значит ваш mod_ssl отключен. Чтобы включить модуль mod_ssl , перезапустите веб-сервер httpd Apache:

 ssl_module (общий) 

Шаг 3: Откройте TCP-порт 443, чтобы разрешить входящий трафик с протоколом https:

 $ брандмауэр-cmd --zone=public --permanent --add-service=https 
 успех 
 $ firewall-cmd --reload 
 успех 

ПРИМЕЧАНИЕ

Теперь вы должны быть в состоянии войти на веб-сервер Apache по протоколу HTTPS. Перейдите в браузере по адресу https://your-server-ip или https://your-server-hostname , чтобы подтвердить настройку mod_ssl .

Шаг 4: Создание сертификата SSL.

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

Например, давайте сгенерируем новый самоподписанный сертификат для хоста rhel7 с 365 днями до истечения срока действия:

 $ openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/httpd.key - x509 -days 365 -out /etc/pki/tls/certs/httpd.crt 
 Создание закрытого ключа RSA
................++++++
..........++++++
запись нового закрытого ключа в '/etc/pki/tls/private/httpd.key'
-----
Вас попросят ввести информацию, которая будет включена
в ваш запрос сертификата.
То, что вы собираетесь ввести, называется отличительным именем или DN. 
Полей довольно много, но вы можете оставить некоторые пустыми
Для некоторых полей будет значение по умолчанию,
Если вы введете «.», поле останется пустым.
-----
Название страны (двухбуквенный код) [XX]:AU
Название штата или провинции (полное название) []:
Название местности (например, город) [Город по умолчанию]:
Название организации (например, компания) [Компания по умолчанию, ООО]:LinuxConfig.org
Название организационного подразделения (например, раздел) []:
Обычное имя (например, ваше имя или имя хоста вашего сервера) []:rhel7
Адрес электронной почты []: 

После успешного выполнения вышеуказанной команды будут созданы эти два файла SSL:

 # ls -l /etc/pki/tls/private/httpd.key /etc/pki/tls/certs/httpd.crt
-rw-r--r--. 1 корень root 1269 29 января 16:05 /etc/pki/tls/certs/httpd.crt
-rw-------. 1 root root 1704 Jan 29 16:05 /etc/pki/tls/private/httpd.key 

Шаг 5: Настройте веб-сервер Apache с новыми SSL-сертификатами.

Чтобы вставить только что созданный SSL-сертификат в конфигурацию веб-сервера Apache, откройте /etc/httpd/conf.