Как настроить виртуальный хост Apache на CentOS 7. Apache centos 7 установка


Установка LAMP (apache+php+mysql) в CentOS 7

Сегодня займемся поднятием одной из наиболее востребованных ролей любого linux сервера, которые занимают в этом функциональном сегменте лидирующую роль. Настройка web сервера CentOS 7 на базе связки популярного http сервера apache, интерпретатора php и сервера баз данных mysql, или коротко — установка lamp. Данная связка является самой популярной конфигурацией на сегодняшний день среди веб хостинга. Хотя последнее время ей на пятки наступает та же компания, но на базе nginx, возможно уже и опередила, точных данных у меня нет на этот счет.

Web сервер на CentOS 7

Итак, наш веб сервер centos будет состоять из трех основных компонентов — http сервера apache, интерпретатора языка программирования php и сервера баз данных mysql. Познакомимся немного с каждым из них:

  1. Apache — http сервер или просто веб сервер апач. Является кросплатформенным ПО, поддерживающим практически все популярные операционные системы, в том числе и Windows. Ценится прежде всего за свою надежность и гибкость конфигурации, которую можно существенно расширить благодаря подключаемым модулям, которых существует великое множество. Из недостатков отмечают большую требовательность к ресурсам, по сравнению с другими серверами. Держать такую же нагрузку, как, к примеру, nginx, apache не сможет при схожих параметрах железа.
  2. PHP — язык программирования общего назначения, который чаще всего применяется в веб разработке. На сегодняшний день это самый популярный язык в этой области применения. Поддерживается практически всеми хостинг-провайдерами.
  3. Mysql — система управления базами данных. Завоевала свою популярность в среде малых и средних приложений, которых очень много в вебе. Так что, как и php, на сегодняшний день является самой популярной бд, использующейся на веб сайтах. Поддерживается большинством хостингов. В CentOS вместо mysql устанавливается mariadb — ответвление mysql. Они полностью совместимы, возможен в любой момент переход с одной субд на другую и обратно. Последнее время я встречал информацию, что mariadb пошустрее работает mysql и люди потихоньку перебираются на нее. На практике мне не довелось это наблюдать, так как никогда не работал с нагруженными базами данных. А в обычных условиях разница не заметна.

Подопытным сервером будет выступать виртуальная машина от keyweb, расположенная на сервере в Германии. Характеристики следующие:

Процессор 2 ядра
Память 8 Gb
Диск 150 Gb SSD

Указанный сервер включает в себя администрирование. То есть вы можете его заказать и прислать в техподдержку ссылку на эту статью. Они за вас все настроят. Если все же хотите настраивать сами, то берите сервер из линейки PRO. Они дешевле, но настраивать все придется самому. Чем я и займусь 🙂

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

Если у вас еще нет сервера, то вам надо выполнить установку CentOS 7. А если сервер уже установлен, то не забудьте его настроить. Рекомендую обратить внимание именно на настройку, так как там много полезной информации, которую в рамках этой статьи я не даю — обновление системы, настройка фаервола, установка редактора и многое другое.

Настройка apache в CentOS 7

В CentOS служба apache называется httpd. Когда я только знакомился с этим дистрибутивом, мне было непривычно. В Freebsd и Debian, с которыми я до этого работал служба веб сервера называлась apache, хотя где-то я замечал, кажется во фрюхе, что файл конфигурации имеет имя httpd.conf. До сих пор я не знаю, почему распространились оба эти названия. Был бы рад, если бы со мной кто-то поделился информацией на этот счет в комментариях.

Теперь приступим к установке apache. В CentOS 7 это делается очень просто:

# yum install -y httpd

Добавляем apache в автозагрузку:

# systemctl enable httpd

Запускаем apache в CentOS 7:

# systemctl start httpd

Проверяем, запустился ли сервер:

# netstat -tulnp | grep httpd tcp6       0      0 :::80                   :::*                    LISTEN      21586/httpd

Все в порядке, повис на 80-м порту, как и положено. Уже сейчас можно зайти по адресу http://ip-address и увидеть картинку:

Теперь займемся настройкой apache. Я предпочитаю следующую структуру веб хостинга:

/web раздел для размещения сайтов
/web/site1.ru/www директория для содержимого сайта
/web/site1.ru/logs директория для логов сайта

Создаем подобную структуру:

# mkdir /web && mkdir /web/site1.ru && mkdir /web/site1.ru/www && mkdir /web/site1.ru/logs # chown -R apache. /web

Дальше редактируем файл конфигурации apache — httpd.conf по адресу /etc/httpd/conf. Первым делом проверим, раскомментированна ли строчка в самом конце:

IncludeOptional conf.d/*.conf

Если нет, раскомментируем и идем в каталог /etc/httpd/conf.d. Создаем там файл site1.ru.conf:

# mcedit /etc/httpd/conf.d/site1.ru.conf <VirtualHost *:80> ServerName site1.ru ServerAlias www.site1.ru DocumentRoot /web/site1.ru/www <Directory /web/site1.ru/www> Options FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog /web/site1.ru/logs/error.log CustomLog /web/site1.ru/logs/access.log common </VirtualHost>

Перезапуск apache в centos

Теперь делаем restart apache:

# systemctl restart httpd

Если возникли какие-то ошибки — смотрим лог apache /var/log/httpd/error_log. Если все в порядке, то проверим, нормально ли настроен наш виртуальный хост. Для этого создадим в папке /web/site1.ru/www файл index.html следующего содержания:

# mcedit /web/site1.ru/www/index.html <h2>Апач настроен!</h2> # chown apache. /web/site1.ru/www/index.html

Дальше в винде правим файл hosts, чтобы обратиться к нашему виртуальному хосту. Добавляем туда строчку:

192.168.1.25 site1.ru

где 192.168.1.25 ip адрес нашего веб сервера.

Теперь в браузере набираем адрес http://site1.ru. Если видим картинку:

значит все правильно настроили. Если какие-то ошибки, то идем смотреть логи. Причем в данном случае не общий лог httpd, а лог ошибок конкретного виртуального хоста по адресу /web/site1.ru/logs/error.log.

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

Чтобы настроить ротацию логов виртуальных хостов, необходимо отредактировать файл /etc/logrotate.d/httpd. Он создается во время установки apache и включает в себя настройку ротации стандартного расположения логов. А так как мы перенесли логи каждого виртуального хоста в индивидуальную папку, необходимо добавить эти папки в этот файл:

# mcedit /etc/logrotate.d/httpd /web/*/logs/*.log /var/log/httpd/*log { missingok notifempty sharedscripts delaycompress postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript }

Мы добавили одну строку в самое начала файла. Теперь логи всех виртуальных хостов в папке /web будут ротироваться по общему правилу.

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

Если вам необходимо организовать работу сайта по протоколу https, то воспользуйтесь руководством по настройке ssl в apache.

Установка php в CentOS 7

Для поддержки динамического содержимого сайтов выполним следующий шаг. Установим php в CentOS 7:

# yum install -y php

И следом еще несколько полезных компонентов. Установим популярные модули для php:

# yum install -y php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd

Выполним перезапуск apache:

# systemctl restart httpd

Создадим файл в директории виртуального хоста и проверим работу php:

# mcedit /web/site1.ru/www/index.php <?php phpinfo(); ?> # chown apache. /web/site1.ru/www/index.php

Заходим по адресу http://site1.ru/index.php

Вы должны увидеть вывод информации о php. Если что-то не так, возникли какие-то ошибки, смотрите лог ошибок виртуального хоста, php ошибки будут тоже там.

Где лежит php.ini

После установки часто возникает вопрос, а где хранятся настройки php? Традиционно они находятся в едином файле настроек. В CentOS php.ini лежит в /etc, прямо в корне. Там можно редактировать глобальные настройки для все виртуальных хостов. Персональные настройки каждого сайта можно сделать отдельно в файле конфигурации виртуального хоста, который мы сделали раньше. Давайте добавим туда несколько полезных настроек:

# mcedit /etc/httpd/conf.d/site1.ru.conf

Добавляем в самый конец, перед </VirtualHost>

php_admin_value date.timezone 'Europe/Moscow' php_admin_value max_execution_time 60 php_admin_value upload_max_filesize 30M

Для применения настроек нужно сделать restart apache. Теперь в выводе phpinfo можно увидеть изменение настроек.

Обновление до php 5.6 в CentOS 7

В нашем примере мы установили на CentOS 7 php 5.4 из стандартного репозитория. А что делать, если нам нужна более новая версия, например php 5.6? В таком случае нужно выполнить обновление php.

Для этого подключим remi репозиторий:

# wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm # rpm -Uvh remi-release-7*.rpm

Теперь обновляем php 5.4 до php 5.6:

# yum --enablerepo=remi,remi-php56 install php php-common php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd

Перезапускаем apache:

# systemctl restart httpd

И идем смотреть вывод phpinfo — http://site1.ru/index.php

Отлично, мы обновили php до версии 5.6.

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

Как я уже писал ранее, сейчас все большее распространение получает форк mysql — mariadb. Она имеет полную совместимость с mysql, так что можно смело пользоваться. Я предпочитаю использовать именно ее.

Устанавливаем mariadb на CentOS 7:

# yum install -y mariadb mariadb-server

Добавляем mariadb в автозапуск:

# systemctl enable mariadb.service

Запускаем mariadb:

# systemctl start mariadb

Проверяем, запустилась или нет:

# netstat -tulnp | grep mysqld tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      22276/mysqld

Обращаю внимание, что она даже в системе отображается как сервис mysqld. Теперь запускаем стандартный скрипт настройки безопасности:

# /usr/bin/mysql_secure_installation

Не буду приводить весь вывод работы этого скрипта, там все достаточно просто и понятно. Сначала задаем пароль для root (текущий пароль после установки пустой), потом удаляем анонимных пользователей, отключаем возможность подключаться root удаленно, удаляем тестового пользователя и базу.

Файл настроек mysql/mariadb лежит в /etc/my.cnf. Для обычной работы достаточно настроек по-умолчанию. Но если вы решите изменить их, не забудьте перезапустить службу баз данных.

Перезапуск mariadb/mysql в CentOS 7:

# systemctl restart mariadb

На этом все. Базовый функционал web сервера на CentOS 7 настроен.

Если вам нужен phpmyadmin воспользуйтесь моим подробным руководством по установке и настройке phpmyadmin на centos 7.

Буду рад замечаниям и комментариям по теме статьи.

Помогла статья? Есть возможность отблагодарить автора

Дополнительные материалы по CentOS

Настройки системы
Настройка программных комплексов Настройка отдельных программ Разное
Рекомендую полезные материалы по CentOS:
  • Установка
  • Базовая настройка
  • Настройка времени
  • Настройка сети
  • Настройка репозиториев
  • Настройка iptables
Установка CentOS 7 в конфигурации minimal или netinstall с загрузочной флешки или по сети на диск или raid раздел. Базовая настройка CentOS 7 для работы с любым функционалом. Приведены практические советы по улучшению безопасности и удобства администрирования. Как установить точное время на сервере CentOS, настроить часовой пояс, синхронизировать время с помощью ntpdate и ntpd и другое. Подробное описание настройки сети в CentOS 7 - задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др. Рассмотрены основные моменты настройки iptables в Centos 7 - установка, добавление правил, проброс портов, nat, логирование и д.р.
 
  • Прокси сервер
  • Шлюз
  • Asterisk
  • Asterisk+Freepbx
  • Сервер VPN
  • Web сервер Apache
  • Web сервер Nginx
  • Почтовый сервер
Подробное описание настройки прокси сервера на базе CentOS 7 со связкой squid+AD+sams2, реализован запрет доступа по url и группам пользователей. Описание установки и настройки asterisk - популярной современной sip атс. Описан расширенный функционал, покрывающий большинство потребностей стандартного офиса в современной телефонии. Установка и настройка высокопроизводительного web сервера на базе nginx и php fpm. В качестве кэша используется APC.
 
  • Zabbix
  • Phpmyadmin
  • Webmin
  • Ruby
  • Обновление php
  • Vsftpd
  • Bind
  • Unison
  • Observium
  • Syslog-NG
Подробное описание установки или обновления php 7 на CentOS 7. Рассмотрен вариант отката обновления и возврата на php 5.6 или 5.4. Настройка DNS сервера BIND (Named) в CentOS 7. Рассмотрены наиболее популярные конфигурации, в том числе подробное логирование. Настройка сервера для централизованного сбора логов с удаленных устройств и серверов с помощью программы syslog-ng.
  • Настройка ssl в Apache
  • Бэкап с помощью rsync

serveradmin.ru

Ставим Apache, PHP 7.1 и MariaDB на CentOS 7.3

1 Предварительное замечание

В этом руководстве используются имя хоста server1.example.com с IP 192.168.1.100. Эти параметры могут отличаться, поэтому в таком случае их необходимо заменить.

Добавляем Epel repo, чтобы установить последнюю версию phpMyAdmin следующим образом:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*yum –y install epel-release

Для редактирования файлов в этой статье используется редактор nano. Можно использовать vi для редактирования файлов, но тогда надо пропустить этот шаг.

yum -y install nano

2 Установка MySQL / MariaDB

MariaDB является параллельной веткой MySQL от оригинального разработчика MySQL Манти Видениуса. MariaDB совместим с MySQL, поэтому в этой статье используется MariaDB вместо MySQL. Требуется выполнить эту команду, чтобы установить MariaDB с Yum:

yum -y install mariadb-server mariadb

Затем создаются ссылки для запуска системы MySQL (так как MySQL запускается автоматически всякий раз, когда система загружается) и запускается сервер MySQL:

systemctl start mariadb.service systemctl enable mariadb.service

Установка паролей для корневой учетной записи MySQL:

mysql_secure_installation

[root@server1 ~]# mysql_secure_installation/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found

ПРИМЕЧАНИЕ: Запуск всех частей этого скрипта РЕКОМЕНДУЕТСЯ ДЛЯ ВСЕХ MariaDB СЕРВЕРА В ПРОИЗВОДСТВЕННОМ ИСПОЛЬЗОВАНИИ! ПРОЧТИТЕ ВНИМАТЕЛЬНО каждый шаг!

Введите текущий пароль для root (ввод не нужен): <- ENTEROK, успешно используется пароль, далее ...

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

Установить пароль? [Y / N] Новый пароль: <- yourmariadbpasswordПовторно ввести новый пароль: <- yourmariadbpasswordПароль успешно обновлен! Перезагрузка таблицы привилегий.....

Успешно! Удалить анонимных пользователей? [Y / N] <- ENTER...

Успешно! Запретить логин root удаленно? [Y / N] <- ENTER...

Успешно! Удалить тестовую базу данных и доступ к ней? [Y / N] <- ENTER- Удаление тестовой базы данных ......

Успешно! - Удаление привилегий на тестовой базе ......

Успешно! Обновить таблицы привилегий сейчас? [Y / N] <- ENTER... Успешно! Очистка ... Готово!

 

Если были выполнены все описанные выше действия, то установка MariaDB теперь должна стать безопасной.

3 Установка Apache

CentOS 7 поставляется с Apache 2.4. Apache непосредственно доступен как пакет CentOS 7, поэтому можно установить его так:

Вот скриншот процесса установки.

***

Теперь настройка системы для запуска Apache во время загрузки ...

systemctl start httpd.service

systemctl enable httpd.service

Для того, чтобы иметь возможность получения доступа к веб-серверу извне, необходимо открыть порты HTTP (80) и HTTPS (443) в брандмауэре. Межсетевой экран по умолчанию на CentOS - firewalld, который может быть сконфигурирован с помощью команды firewalld-cmd.

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

Теперь в браузере постучимся на IP-адрес сервера, в нашем случае http://192.168.1.100 , и - о, чудо! - можно увидеть страницу приветствия Apache.

 

4 Установка PHP

PHP версия, которая поставляется с CentOS довольно старая (PHP 5.4), поэтому в этом разделе показано некоторые варианты установки более новых версий PHP, как PHP 7.0 или 7.1 из Remi хранилища.

Надо добавить репозиторий Remi CentOS.

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Требуется установка

yum-утилит, если нужна утилита

yum-

config-

manager.

и запуск

yum обновления

Теперь надо выбрать, какая версия PHP будет использоваться на сервере. Если PHP 5.4, то приступить к следующей команде. Если PHP 7.0, то следовать командам в разделе 4.1, а для PHP 7.1 использовать раздел 4.2.

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

4.1 Установка PHP 7.0 (опционально)

Можно установить PHP 7.0 и модуль Apache PHP 7.0 следующим образом:

yum-config-manager --enable remi-php70

yum -y install php php-opcache

4.2 Установка PHP 7.1 (опционально)

Если PHP 7.1 то нужно использовать:

yum-config-manager --enable remi-php71

yum -y install php php-opcache

В этом примере и в загружаемой виртуальной машине, будет использоваться PHP 7.1.

Необходимо перезапустить Apache, чтобы применить изменения:

systemctl restart httpd.service

5 Тестирование PHP / Получение более полной информации о PHP. Установка

Корень документа веб-сайта по умолчанию является / Var / WWW / HTML. Нужно создадать маленький PHP файл (info.php) в этом каталоге и назвать его в браузере, чтобы проверить установку PHP. Файл будет отображать множество полезных деталей о установке PHP, таких как установленная версия PHP.

nano /var/www/html/info.php

Теперь надо назвать этот файл в браузере (например , http://192.168.1.100/info.php ):

 

Как видно, PHP 7.1 работает и работает через Apache 2.0 Handler, как показано на Server API Line . Если прокрутить дальше вниз, то можно увидеть все модули, которые уже включены в PHP. MySQL отсутствует в списке, что означает отсутствие поддержки MySQL в PHP.

6 Поддержка MySQL в PHP

Чтобы получить поддержку MySQL в PHP, нужно установить php71w-MySQL пакет. Это хорошая идея: установить некоторые другие модули PHP, а также они могут понадобиться для других приложений. Можно выполнить поиск доступных PHP5 модулей , например, так:

Надо выбрать те, что нужны, и установить их следующим образом:

На следующем этапе выполняется установка некоторых общих PHP модулей, которые необходимы для CMS систем, таких как Wordpress, Joomla и Drupal:

 

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel

Теперь перезапуск веб-сервера Apache:

systemctl restart httpd.service

Теперь требуется загрузить http://192.168.1.100/info.php в браузере и снова прокрутить вниз до раздела модулей. Теперь надо найти там много новых модулей , таких как

curl и т.д.:

 

Если не нужна больше информация o PHP, можно удалить этот файл из соображений безопасности.

rm /var/www/html/info.php

7 установка PhpMyAdmin

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

phpMyAdmin может быть установлен следующим образом :

yum -y install PhpMyAdmin

Теперь, пока устанавливается PhpMyAdmin, надо поменять конфигурацию Apache так, чтобы PhpMyAdmin позволял устанавливать соединение не только с локального хоста (закомментировать строфу <RequireAny> и добавить строку "Require all granted"):

nano /etc/httpd/conf.d/phpMyAdmin.conf

[...] [...] Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin <Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 # <RequireAny> # Require ip 127.0.0.1 # Require ip ::1 # </RequireAny> Require all granted </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory> <Directory /usr/share/phpMyAdmin/> Options none AllowOverride Limit Require all granted </Directory> [...] [...]

Далее, нужно изменить аутентификацию в PhpMyAdmin из cookie в HTTP:

[...] $cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)? [...]

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

systemctl restart httpd.service

После этого, получен доступ к

phpMyAdmin в разделе http://192.168.1.100/phpmyadmin/:

drach.pro

Как настроить виртуальный хост Apache на CentOS 7

Эта теорема пригодна лишь для спора о ней (Г. Лихтенберг).

Как настроить виртуальный хост Apache на CentOS 7Как настроить виртуальный хост Apache на CentOS 7

Просмотров: 766

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

Многие люди используют его для размещения своих веб – сайтов и приложений. На самом деле, согласно последним статистическим данным, Apache является наиболее широко используемым веб – сервер в мире, с Windows , IIS следующее на втором и на третьем месте российская разработка, которая является Nginx.

Функциональность Apache является большим, и можно найти много хороших возможностей для веб – сайта или приложения. На этом уроке, мы предоставим Вам информацию о виртуальном хосте Apache через примеры конфигурации на CentOS 7.

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

Каждый домен, который выполнен с директивой виртуального хоста внутри конфигурации Apache будет направлять посетителя в определенный каталог , где тот самый веб – сайт размещен на сервере. Например, ваш WordPress сайт установлен в /var/www/wordpress/ поэтому при создании директивы виртуального хоста, корень документа для сайта будет установлен в /var/www/wordpress/, который позволит веб – серверу извлекать данные из веб – сайта соответствующего настроенного каталога.

Войдите на сервер с помощью SSH:

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

вывод должен быть примерно такой:

CentOS Linux release 7.2.1511 (Core)

CentOS Linux release 7.2.1511 (Core)

Обновление системы

Убедитесь, что ваш сервер полностью обновлен:

На наших серверах CentOS 7, Apache устанавливается по умолчанию. Однако, если у вас нет Apache установленным на вашем сервере вы можете сделать это довольно простой командой:

Включите Apache и добавьте его в запуск при загрузке:

systemctl start httpd.service systemctl enable httpd.service

systemctl start httpd.service

 

systemctl enable httpd.service

Большинство веб – мастеров сегодня используют WordPress в качестве платформы для размещения их на сайте. Сайт на WordPress работает с базой данных MySQL, так что если вы планируете использовать эту статью для создания виртуальных хостов с сайтами WordPress (или на любой другой платформе, которая нуждается в базе данных), вам нужно будет установить MySQL и PHP на вашем сервере, который завершит так называемый стек LAMP (Linux Apache, MariaDB и PHP). У нас есть отличная статья о том, как установить LAMP на CentOS 7 так что вы можете проверить его здесь.

Параметры конфигурации Apache

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

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

Файл конфигурации прокомментирован перед каждой установкой, которые объясняют их использование. Так, например, ServerRoot установка верхней части дерева каталога, при которых лежат конфигурационные файлы Apache.

Listen директива связывает Apache с определенным IP – адресом и портом. Порт прослушивания Apache по умолчанию: 80.

Значения user/group являются имена user/group, работает как HTTPD (Apache). В CentOS пользователь и группа являются Apache/Apache, в Ubuntu/ Debian являются www-data/www-data.

Другим важным параметром является DocumentRoot, который является каталогом, из которого данные будут поданы к посетителю. Как правило, в большинстве дистрибутивах корневой документ по умолчанию для Apache установлен в /var/www/html/, так что если вы посмотрите данные в /var/www/html/ вы сможете получить доступ к этим же данным через веб – браузер с помощью IP адреса сервера.

Мы рассмотрели лишь незначительную часть того, что предлагает Apache своему пользователю, так что теперь давайте создадим нашу первую директиву виртуального хоста в Apache. Вы можете создать виртуальный хост внутри основного файла конфигурации Apache, однако, для более чистой и более организованной настройки мы создадим новый отдельный файл, в котором будут храниться конфигурационные строки. Существует установка ( IncludeOptional ) в глобальной конфигурации сервера Apache, где включенный каталог хранит отдельные конфигурационные файлы. Например, в CentOS 7 и Apache 2.4 (последняя версия Apache при написании этой статьи) IncludeOptional параметр установлен в /etc/httpd/conf.d/, что означает , что каждый файл * .conf, созданный в /etc/httpd/conf.d/ будет использоваться веб – сервером для обработки данных.

Поэтому, давайте создадим файл your_domain.conf, в котором мы настроим директиву виртуального хоста для вашего домена. После того, как вы вошли на свой сервер, введите следующую команду:

nano /etc/httpd/conf.d/your_domain.conf

nano /etc/httpd/conf.d/your_domain.conf

Вставьте ниже содержание в файл:

&lt;VirtualHost *:80&gt; ServerAdmin webmaster@your_domain.ru DocumentRoot "/var/www/html/your_domain/" ServerName your_domain.ru ServerAlias www.your_domain.ru ErrorLog "/var/log/httpd/your_domain.ru-error_log" CustomLog "/var/log/httpd/your_domain.ru-access_log" combined &lt;Directory "/var/www/html/your_domain/"&gt; DirectoryIndex index.html index.php Options FollowSymLinks AllowOverride All Require all granted &lt;/Directory&gt; &lt;/VirtualHost&gt;

&lt;VirtualHost *:80&gt;

ServerAdmin webmaster@your_domain.ru

DocumentRoot "/var/www/html/your_domain/"

ServerName your_domain.ru

ServerAlias www.your_domain.ru

ErrorLog "/var/log/httpd/your_domain.ru-error_log"

CustomLog "/var/log/httpd/your_domain.ru-access_log" combined

 

&lt;Directory "/var/www/html/your_domain/"&gt;

DirectoryIndex index.html index.php

Options FollowSymLinks

AllowOverride All

Require all granted

&lt;/Directory&gt;

&lt;/VirtualHost&gt;

Поясним настройки один за другим.

  •  <VirtualHost *: 80> – это означает , что эта директива виртуального хоста связывается с любого IP – адреса на сервере , на 80 -м порту.
  •  ServerAdmin – это адрес электронной почты, куда будут присылаться уведомления о проблемах, связанные с веб – сервером.
  •  DocumentRoot – каталог, в котором данные веб – сайта будут сохранены, в приведенном выше случае это будет /var/www/html/your_domain/. Конечно, вы можете заменить your_domain на другое значение, которое вы найдете пригодным.
  •  ServerName – это значение дает имя, которое сервер использует для идентификации веб – сайта. Здесь вы можете ввести свой фактический домен.
  •  ServerAlias – директива ServerAlias устанавливает альтернативные имена хостов, например: www.your_domain.ru. Он также может включать в себя групповые символы, если это необходимо.
  •  <Directory> и </ Directory> и используются , чтобы приложить группу директив , которые применяются только к названному справочнику, подкаталоги этого каталога, а также файлы в соответствующих каталогах. Может быть использована любая директива, которая позволяется в директивном контексте. Каталог-путь либо полный путь к каталогу или строку wild-card с использованием Unix. В нашем случае мы добавили FollowSymLinks, который будет применять символические ссылки в директории /var/www/html/your_domain/. Мы также устанавливаем директиву AllowOverride all это означает, что любая директива, которая имеет .htaccess разрешено в файлах .htaccess. Директива Require указывает, какие пользователи могут получить доступ к ресурсу.

Этот вид конфигурации могут быть применен для большинства платформ. Тем не менее, иногда определенной конфигурации WordPress сайта, такие как выше не может быть достаточно для других видов приложений. Например, сайт на Magento нужно будет включить больше возможностей или для сайта на Odoo будет нужен обратный прокси – сервер сконфигурирован.

Одну деталь, которую стоит отметить (несмотря на то, что большинство пользователей знают это) является то, что все вышеуказанные параметры конфигурации должны быть правильно установлены до или после создания файла конфигурации Apache. Например, DocumentRoot, необходимо создать и данные, размещенным в нем.

Создание каталога пользователя:

mkdir /var/www/html/your_domain/

mkdir /var/www/html/your_domain/

Теперь загрузите данные, которые вы хотите разместить внутри этой директории.

Права доступа и владельца файла является еще одной важной задачей для веб – мастеров. В большинстве случаев в серверах без панели управления, файл и каталог собственность должна принадлежать пользователю и группе, в которой Apache работает. В CentOS 7 Apache работает под управлением Apache в качестве пользователя и Apache в качестве группы. Таким образом, вам нужно будет рекурсивно присвоить, значения для файлов и каталогов в корневом каталоге документов. Следующая команда делает именно это:

chown apache:apache -R /var/www/html/your_domain/

chown apache:apache -R /var/www/html/your_domain/

Эта команда будет назначать Apache: Apache для каждого файла и подкаталога/директории внутри /var/www/html/your_domain/.

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

Как настроить виртуальный хост Apache на CentOS 7Как настроить виртуальный хост Apache на CentOS 7

Если статья понравилась, то поделитесь ей в социальных сетях:

andreyex.ru

НАСТРОЙКА APACHE В CENTOS 7

В CentOS служба apache называется httpd. Когда я только знакомился с этим дистрибутивом, мне было непривычно. В Freebsd и Debian, с которыми я до этого работал служба веб сервера называлась apache, хотя где-то я замечал, кажется во фрюхе, что файл конфигурации имеет имя httpd.conf. 

 

Теперь приступим к установке apache. В CentOS 7 это делается очень просто:

# yum install -y httpd

Добавляем apache в автозагрузку:

# systemctl enable httpd

Запускаем apache в CentOS 7:

# systemctl start httpd

Проверяем, запустился ли сервер:

# netstat -tulnp | grep httpd tcp6       0      0 :::80                   :::*                    LISTEN      21586/httpd

Все в порядке, повис на 80-м порту, как и положено.

Теперь нужно открыть 80-й порт в iptable.

Уже сейчас можно зайти по адресу http://ip-address и увидеть картинку:

Теперь займемся настройкой apache. Я предпочитаю следующую структуру веб хостинга:

/web раздел для размещения сайтов
/web/site1.ru/www директория для содержимого сайта
/web/site1.ru/logs директория для логов сайта

Создаем подобную структуру:

# mkdir /web && mkdir /web/site1.ru && mkdir /web/site1.ru/www && mkdir /web/site1.ru/logs

или

# mkdir -p /web/site1.ru/{www,logs}/ # chown -R apache. /web

Дальше редактируем файл конфигурации apache — httpd.conf по адресу /etc/httpd/conf. Первым делом проверим, раскомментированна ли строчка в самом конце:

IncludeOptional conf.d/*.conf

Если нет, раскомментируем и идем в каталог /etc/httpd/conf.d. Создаем там файл site1.ru.conf:

# mcedit /etc/httpd/conf.d/site1.ru.conf <VirtualHost *:80> ServerName site1.ru ServerAlias www.site1.ru DocumentRoot /web/site1.ru/www <Directory /web/site1.ru/www> Options FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog /web/site1.ru/logs/error.log CustomLog /web/site1.ru/logs/access.log common </VirtualHost>

Перезапуск apache в centos

Теперь делаем restart apache:

# systemctl restart httpd

Если возникли какие-то ошибки — смотрим лог apache /var/log/httpd/error_log. Если все в порядке, то проверим, нормально ли настроен наш виртуальный хост. Для этого создадим в папке /web/site1.ru/www файл index.html следующего содержания:

# mcedit /web/site1.ru/www/index.html <h2>Апач настроен!</h2> # chown apache. /web/site1.ru/www/index.html

Дальше в винде правим файл hosts, чтобы обратиться к нашему виртуальному хосту. Добавляем туда строчку:

192.168.1.5 site1.ru

где 192.168.1.5 ip адрес нашего веб сервера.

Теперь в браузере набираем адрес http://site1.ru. Если видим картинку:

значит все правильно настроили. Если какие-то ошибки, то идем смотреть логи. Причем в данном случае не общий лог httpd, а лог ошибок конкретного виртуального хоста по адресу /web/site1.ru/logs/error.log.

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

Чтобы настроить ротацию логов виртуальных хостов, необходимо отредактировать файл /etc/logrotate.d/httpd. Он создается во время установки apache и включает в себя настройку ротации стандартного расположения логов. А так как мы перенесли логи каждого виртуального хоста в индивидуальную папку, необходимо добавить эти папки в этот файл:

# mcedit /etc/logrotate.d/httpd /web/*/logs/*.log /var/log/httpd/*log { missingok notifempty sharedscripts delaycompress postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript }

Мы добавили одну строку в самое начала файла. Теперь логи всех виртуальных хостов в папке /web будут ротироваться по общему правилу.

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

mozgovoy.in.ua

Настройка ssl в apache на CentOS

Хочу поделиться небольшой информацией о том, как настроить ssl подключение в apache на сервере с CentOS и перевести сайты с http на https. Делается это не сложно, но есть пара нюансов.

Недавно я уже рассказывал о том как получить бесплатный ssl сертификат для подтверждения доменного имени. Мы его использовали для организации ssl/tls соединений в почтовом сервере. Теперь его же мы будем использовать для того, чтобы перевести наш сайт на работу по ssl протоколу.

Установка mod_ssl в apache

В качестве сервера у нас выступает apache на CentOS, хотя это не принципиально, настройка на других linux дистрибутивах будет идентичной. Рабочим web сервером является apache. Использовать ssl протокол в apache мы будем с помощью мода mod_ssl. Первым делом проверим, установлен ли он:

# rpm -qa | grep mod_ssl

Если нет, то устанавливаем:

# yum -y install mod_ssl

После установки мода, идем в директорию /etc/httpd/conf.d и правим там файл настроек ssl.conf. Прописываем пути к сертификатами в директивах SSLCertificateFile и SSLCertificateKeyFile.

Создание виртуального хоста с поддержкой ssl

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

<VirtualHost *:443> SSLEngine on SSLCertificateFile /root/cert/zeroxzed.ru.crt SSLCertificateKeyFile /root/cert/zeroxzed.ru.kye <Directory /var/www/vhosts/zeroxzed.ru/www> AllowOverride All </Directory> DocumentRoot /var/www/vhosts/zeroxzed.ru/www ServerName zeroxzed.ru </VirtualHost>

После сохранения проверяем конфигурацию apache:

# httpd -t

Если появляется предупреждение:

[warn] _default_ VirtualHost overlap on port 443, the first has precedence

То ищем в /etc/httpd/conf/httpd.conf строчку NameVirtualHost *:80 и добавляем после нее NameVirtualHost *:443

Снова проверяем. Если ошибок нет, перезапускаем апач и заходим на сайт, прописав в адресной строке https, вместо http. Теперь ваш сайт доступен по протоколу https. Но пользователи сайта могут об этом не знать. Было бы разумным сделать переадресацию с открытого протокола на защищенный. Сделаем это.

Переадресация с http на https

Для того, чтобы сделать автоматическую переадресацию с http на https, необходимо в описании виртуального хоста в httpd.conf добавить порт 80 вместе с 443:

<VirtualHost *:80 *:443>

И в корне сайта с помощью .htaccess и mod_rewrite делаем перенаправление всех запросов с http на https:

# cat .htaccess RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

Теперь даже если просто набрать адрес сайта с http откроется его защищенная версия https. Не забудьте проверить, включен ли у вас модуль mod_rewrite в настройках apache. И проверьте фаервол. Для корректной работы сайта по протоколу https необходимо открыть 443 порт на веб сервере.

Помогла статья? Есть возможность отблагодарить автора

Дополнительные материалы по CentOS

Настройки системы Настройка программных комплексов Настройка отдельных программ Разное
Рекомендую полезные материалы по CentOS:
  • Установка
  • Базовая настройка
  • Настройка времени
  • Настройка сети
  • Настройка репозиториев
  • Настройка iptables
Установка CentOS 7 в конфигурации minimal или netinstall с загрузочной флешки или по сети на диск или raid раздел. Базовая настройка CentOS 7 для работы с любым функционалом. Приведены практические советы по улучшению безопасности и удобства администрирования. Как установить точное время на сервере CentOS, настроить часовой пояс, синхронизировать время с помощью ntpdate и ntpd и другое. Подробное описание настройки сети в CentOS 7 - задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др. Рассмотрены основные моменты настройки iptables в Centos 7 - установка, добавление правил, проброс портов, nat, логирование и д.р.
 
  • Прокси сервер
  • Шлюз
  • Asterisk
  • Asterisk+Freepbx
  • Сервер VPN
  • Web сервер Apache
  • Web сервер Nginx
  • Почтовый сервер
Подробное описание настройки прокси сервера на базе CentOS 7 со связкой squid+AD+sams2, реализован запрет доступа по url и группам пользователей. Описание установки и настройки asterisk - популярной современной sip атс. Описан расширенный функционал, покрывающий большинство потребностей стандартного офиса в современной телефонии. Установка и настройка высокопроизводительного web сервера на базе nginx и php fpm. В качестве кэша используется APC.
 
  • Zabbix
  • Phpmyadmin
  • Webmin
  • Ruby
  • Обновление php
  • Vsftpd
  • Bind
  • Unison
  • Observium
  • Syslog-NG
Подробное описание установки или обновления php 7 на CentOS 7. Рассмотрен вариант отката обновления и возврата на php 5.6 или 5.4. Настройка DNS сервера BIND (Named) в CentOS 7. Рассмотрены наиболее популярные конфигурации, в том числе подробное логирование. Настройка сервера для централизованного сбора логов с удаленных устройств и серверов с помощью программы syslog-ng.
  • Настройка ssl в Apache
  • Бэкап с помощью rsync

serveradmin.ru

Установка Apache Maven 3.5 на CentOS 7

Все, что мы делаем в программировании - это частный случай чего-то более общего, и зачастую мы осознаем это чересчур быстро. (Алан.Дж.Перлис)

Как установить Maven на Ubuntu 16.04Как установить Maven на Ubuntu 16.04

Просмотров: 25

Apache Maven является Java на основе программного обеспечения для управления проектами со свободным и открытым исходным кодом. Maven позволяет пользователям легко хранить документы, формировать отчеты и документацию из центральной части информации. В этой статье мы будем направлять вас через шаги установки Apache Maven 3.5 на  CentOS 7.

Ниже перечислены некоторые из ключевых особенностей Apache Maven:

  • Простая настройка проекта в соответствии с рекомендациями
  • Превосходное управление зависимостями
  • Расширяемый с большим количеством плагинов, написанных на Java или других языках сценариев
  • Модели на основе сборок
  • Управление выпусками и публикациями.

и в последнем Maven версии 3.5, есть много исправленых ошибок и важных изменений, таких как:

  • ANSI цвета, которые добавлены в консоли
  • Исправлено несколько ошибок в сценариях MVN относительно пробелов, цитат и специальных символов.
  • Переход от Eclipse Aether , к Maven Artifact Resolver
  • и многое другое.

Обновление системы

Для того, чтобы начать установку Maven, войдите на сервер CentOS 7 через SSH в качестве привилегированного пользователя

ssh root@IP_adress -p port_number

ssh root@IP_adress -p port_number

 

и выполните полное обновление системы, введя следующую команду

Установите Java 8

Поскольку приложения на основе Maven является Java, мы должны установить Java на сервере. Требуется Java версии 1.7 или более поздней версии. Мы установим Java 8

yum install -y java-1.8.0-openjdk-devel

yum install -y java-1.8.0-openjdk-devel

 

Эта команда установит Java 8 и всю необходимую зависимость.

После установки, запустите следующую команду проверки установленной версии

java -version openjdk version "1.8.0_161" OpenJDK Runtime Environment (build 1.8.0_161-b14) OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

java -version

 

openjdk version "1.8.0_161"

OpenJDK Runtime Environment (build 1.8.0_161-b14)

OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

Установка и настройка Maven 3.5

Установка Apache Maven представляет собой простой процесс. Перейдите на их официальный сайт и скачайте архив нужной версии. В этой статье мы будем устанавливать Apache Maven версии 3.5.3

wget http://mirrors.sonic.net/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.zip

wget http://mirrors.sonic.net/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.zip

 

Распакуйте загруженный Zip-архив

yum -y install unzip cd /opt unzip apache-maven-3.5.3-bin.zip

yum -y install unzip

cd /opt

unzip apache-maven-3.5.3-bin.zip

 

Переименуйте вновь созданный каталог и удалите скачанный архив

mv apache-maven-3.5.3 maven rm -f apache-maven-3.5.3-bin.zip

mv apache-maven-3.5.3 maven

rm -f apache-maven-3.5.3-bin.zip

 

Мы загрузили прекомпилированную версию Apache Maven, поэтому мы должны установить переменные окружения. Создайте следующий файл

nano /etc/profile.d/maven.sh export PATH=/opt/maven/bin:${PATH}

nano /etc/profile.d/maven.sh

export PATH=/opt/maven/bin:${PATH}

 

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

На этом шаге Apache Maven должен успешно быть установлен и настроен на вашем CentOS 7 VPS. Выполните следующую команду, чтобы проверить.

 

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

Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T13:49:05-06:00) Maven home: /opt/maven Java version: 1.8.0_161, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre Default locale: en_GB, platform encoding: UTF-8

Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T13:49:05-06:00)

Maven home: /opt/maven

Java version: 1.8.0_161, vendor: Oracle Corporation

Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre

Default locale: en_GB, platform encoding: UTF-8

Установка Apache Maven из хранилища

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

wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo

wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo

 

и установить Maven с помощью менеджера пакетов yum

yum install -y apache-maven

yum install -y apache-maven

 

и проверить установленную версию

 

Если статья понравилась, то поделитесь ей в социальных сетях:

andreyex.ru

Настройка web сервера в CentOS 7

Firewalld - новый брандмауэр входящий в состав CentOS 7. Для установки Firewalld выполните:

sudo yum -y install firewalld

Запускаем:

sudo systemctl start firewalld

Включаем в автозагрузку:

sudo systemctl enable firewalld

Проверим:

sudo systemctl status firewalld

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

sudo firewall-cmd --permanent --list-all

Вывод команды:

public (default) interfaces: sources: services: ssh dhcpv6-client masquerade: no forward-ports: icmp-blocks: rich rules:

На постоянной основе разрешен ssh, а также клиент dhcp v6. Я не использую на сервере ip v6, поэтому уберу соответствующее правило:

sudo firewall-cmd --permanent --zone=public --remove-service=dhcpv6-client

Для работы веб сервера необходимо разрешить сервис http (80 порт):

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

Если Вы планируете использовать https на Вашем сайте, необходимо разрешить https сервис (443 порт):

sudo firewall-cmd --permanent --zone=public --add-service=https

Для работы FTP сервера необходимо открыть 21 порт, а также порты 30000-35000 для использования пассивного режима в FTP клиентах:

sudo firewall-cmd --permanent --zone=public --add-port=21/tcp sudo firewall-cmd --permanent --zone=public --add-port=30000-35000/tcp

Перезагрузим правила:

sudo firewall-cmd --reload

На данном этапе настройки Firewalld Ваш сайт снова доступен. Но мне хочется предложить Вам выполнить еще несколько шагов по повышению уровня безопасности Вашего сервера. Есть довольно подробно написанный мануал по повышению уровня безопасности при использовании ssh. Одним из этапов настройки является изменение стандартного порта, рассмотрим более подробно настройки Firewalld при смене порта ssh.

Разрешим на постоянной основе (чтобы после перезагрузки не потерлось) соединение на порт 2220/tcp (на него повесим sshd):

sudo firewall-cmd --permanent --zone=public --add-port=2220/tcp

Перезагрузим правила:

sudo firewall-cmd --reload

Проверим:

sudo firewall-cmd --zone=public --list-ports

Вывод команды:

2220/tcp

Порт открыт. Редактируем конфиг sshd:

sudo mcedit /etc/ssh/sshd_config

Вносим изменения:

*** # If you want to change the port on a SELinux system, you have to tell # SELinux about this change. # semanage port -a -t ssh_port_t -p tcp #PORTNUMBER # В файле необходимо только указать порт Port 2220 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: ***

Перезапустим ssh:

sudo systemctl restart sshd.service

Также в случае использования SELinux (надеюсь, Вы его не отключили) необходимо выполнить дополнительные настройки. Это связано с тем, что SELinux не даст подключиться к ssh на нестандартном порте (2220):

sudo semanage port -a -t ssh_port_t -p tcp 2220

После проверки подключения к ssh на новом порте, закройте доступ к порту 22:

sudo firewall-cmd --permanent --zone=public --remove-service=ssh

Перезагрузите правила:

sudo firewall-cmd --reload

Проверим настройки Firewalld:

sudo firewall-cmd --list-all

Вывод команды:

public (default) interfaces: sources: services: http https ports: 2220/tcp 21/tcp 30000-35000/tcp masquerade: no forward-ports: icmp-blocks: rich rules:

Мы открыли доступ к серверу по протоколу http, https, ftp, а также порт 2220 на котором теперь работает ssh сервис.

a-rm.ru