CentOS - это свободный дистрибутив, основанный на исходном коде Red Hat Enterprise Linux, фактически, он создается с этих исходников практически без изменений, разработчики только вырезают весь брендинг Red Hat. Но в отличие от Red Hat, CentOS полностью бесплатна и получает регулярные обновления, спустя немного времени после выхода их для Red Hat поскольку они тоже собираются из исходного кода.

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

1. Настройка статического IP адреса

Первое, что нужно сделать - это настроить сеть. На персональных компьютерах используется получение IP адреса по DHCP, и компьютер при каждом запуске будет иметь другой адрес, сервер должен всегда работать на одном адресе, поэтому мы присваиваем ему статический IP. Также нужно настроить DNS и шлюз по умолчанию. Но сначала установите утилиту net-tools:

yum install net-tools

Сначала посмотрим доступные сетевые интерфейсы и текущий IP адрес:

Теперь можно перейти к настройке интерфейса через файл /etc/sysconfig/network-scripts/ifcfg-enp0s3, например, с помощью редактора vi:

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

IPADDR = ваш_ip
GATEWAY = шлюз_для_доступа_к_сети
DNS1 = IP_адрес_DNS1
DNS2 = IP_адрес_DNS2

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

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

service network restart

Потом, при необходимости вы можете сменить IP адрес таким же способом.

2. Имя компьютера

Следующее что нам нужно сделать - это изменить имя компьютера. Текущее имя компьютера хранится в переменной HOSTNAME:

Чтобы его изменить вам нужно отредактировать файл /etc/hostname и заменить там старое имя на новое.

vi /etc/hostname

Также вы можете использовать команду hostnamectl:

hostnamectl set-hostname "имя_хоста"

3. Обновление CentOS

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

yum update && yum upgrade

4. Установите браузер

Во многих случаях приходится использовать CentOS из командной строки без графического интерфейса, поэтому может понадобиться браузер, чтобы найти что-либо в интернете или проверить работоспособность сайтов из командной строки. Для установки браузера links наберите:

yum install links

Вы можете найти и другие консольные браузеры для Linux, например, Lynx или Elinks.

5. Настройка часового пояса

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

Сначала получите список часовых поясов:

timedatectl list-timezones

Затем установите нужный, например, Europe/Kyiv:

timedatectl set-timezone Europe/Kyiv

Затем проверьте:

7. Настройка локали

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

localectl set-locale LANG=ru_RU.UTF-8

Затем смотрим что получилось:

Затем устанавливаем раскладку клавиатуры:

localectl set-keymap us

8. Отключите SELinux

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

sed -i "s/(^SELINUX=).*/SELINUX=disabled/" /etc/selinux/config

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

9. Создайте пользователя

Использовать систему от имени суперпользователя небезопасно и тем более небезопасно оставлять открытым доступ к root аккаунту по ssh. Сначала создайте обычного пользователя и установите для него пароль:

useradd имя_пользователя
# passwd пароль

Затем добавьте пользователя в группу wheel, чтобы разрешать пользователю работать от имени администратора:

usermod -G wheel имя_пользователя

Теперь осталось подправить настройки sudo, для этого добавьте такую строчку, если ее там еще нет:

%wheel ALL = (ALL) ALL

10. Включите сторонние репозитории

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

Для добавления репозитория Enterprise Linux Repository (EPEL) выполните:

yum install epel-release
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

10. Настройка SSH

Чаще всего нам приходится работать с серверами не напрямую, а по сети, через SSH. Обычно служба SSH уже установлена и активирована, но для ее правильной работы нужно выполнить несколько настроек. Сначала нужно настроить использование только безопасного протокола, для этого откройте файл /etc/ssh/ssh_config и удалите строчку Protocol 2,1. А вместо нее добавьте:

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

PermitRootLogin no

11. Установите веб-сервер Apache

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

yum install httpd

Когда установка будет завершена, перед тем, как вы сможете перейти к работе нужно разрешить HTTP в брандмауере:

firewall-cmd --add-service=http
# firewall-cmd -permanent -add-port=3221/tcp
# firewall-cmd --reload

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

systemctl start httpd.service
# systemctl enable httpd.service

12. Установите PHP

PHP - это современный язык веб-приложений и скриптов. Он часто используется в качестве языка программирования общего назначения. Для установки выполните:

После установки необходимо перезапустить Apache:

echo -e "" > /var/www/html/phpinfo.php

Затем откройте созданный файл в браузере:

links http://127.0.0.1/phpinfo.php

13. Установка базы данных

MariaDB - это база данных, основанная на исходном коде MySQL. Дистрибутивы Linux на базе Red Hat используют MariaDB вместо MySQL. Базы данных - незаменимая вещь на сервере, поэтому настройка CentOS после установки должна включать ее установку. Для установки MariaDB наберите:

yum install mariadb-server mariadb

Затем запустите и добавьте в автозагрузку:

systemctl start mariadb.service
# systemctl enable mariadb.service

И разрешите в использование службы в брандмауэре:

firewall-cmd --add-service=mysql

Осталось запустить скрипт настройки:

/usr/bin/mysql_secure_installation

14. Установите GCC

GCC расшифровывается как GNU Compiler Collection, это набор компиляторов, которые считаются стандартом для сборки программ в Linux. Но по умолчанию он не поставляется с CentOS, поэтому для установки наберите:

Затем вы можете посмотреть версию GCC:

15. Установите Java

Java - это объективно-ориентированный язык программирования общего назначения. Он не устанавливается по умолчанию, поэтому настройка CentOS 7 после установки может включать и его установку. Для этого выполните:

yum install java

Затем проверьте версию:

Выводы

В этой статье мы рассмотрели как выполняется настройка сервера CentOS 7 после установки. Как видите, есть много элементарных действий, которые желательно сделать перед тем, как использовать сервер на производстве. Если у вас остались вопросы, спрашивайте в комментариях!

Установка и последующая настройка операционной системы CentOS 7 будет происходить на виртуальную машину, созданную в программе VrtualBox, данная инструкция полностью подойдет и для установки непосредственно на железный сервер.

CentOS - дистрибутив Linux, основанный на коммерческом Red Hat Enterprise Linux компании Red Hat и совместимый с ним. Срок поддержки каждой версии CentOS составляет 10 лет. CentOS обновляется каждые 6 месяцев для поддержки новых аппаратных средств.

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

Подготовка к установке

Переходим на официальный сайт CentOS

Кликаем "Get CentOS Now"

На открывшейся странице кликаем по кнопке "Minimal ISO"

По окончанию загрузки мы имеем ISO образ установочного диска CentOS 7. Этот образ необходимо записать на диск (в случае установки на железный сервер) или использовать его как есть (в случае установки на виртуальную машину). Если вы планируете установку системы на виртуальную машину, Вам также могут быть полезны следующие статьи:

Установка CentOS 7

Все готово к установке CentOS 7 . Запустите Ваш компьютер или виртуальную машину, предварительно выставив загрузку с CD-Rom (в случае использования виртуальной машины укажите непосредственно ISO файл). В результате загрузки Вы увидите следующее меню:

Запустить процесс установки.

Выполнить диагностику носителя и запустить процесс установки.

Выделим второй пункт и нажимаем "Enter".

После проверки носителя запустится установщик CentOS 7.

В ыбираем русский язык и нажимаем на кнопку "Продолжить".

Настройки будем проводить в следующем порядке: настройка клавиатуры; настройка сети; дата и время; место установки.


Настроим клавиатуру, для этого кликаем по кнопке "Клавиатура" и меняем приоритет раскладок, передвинув английскую раскладку наверх (выделяем и двигаем с помощью стрелок). Можно изменить комбинацию клавиш для переключения раскладок клавиатуры (например, на Ctrl+Shift ), для этого необходимо нажать на кнопку "Параметры" и внести необходимые изменения. После выполнения всех настроек нажимаем "Готово".

Нажмите по кнопке "Сеть и имя узла". По умолчанию сеть отключена, для включения сетевого адаптера необходимо нажать на переключатель в правом верхнем углу экрана. Если в Вашей сети есть настроенный DHCP сервер, то все настройки подхватятся автоматически. Также если в Вашей сети есть настроенный DNS сервер, будет сгенерировано имя узла. Если DHCP и DNS серверов нет, то настройки необходимо указать вручную. Если Вы планируете использовать установленную систему для решения серверных задач, настоятельно рекомендую Вам указать настройки сети и имя хоста вручную! Укажите имя хоста, а для настройки сети необходимо нажать на кнопку "Настроить..."

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

На вкладке "Ethernet" в позиции "MAC - адрес устройства" необходимо указать сетевой адаптер.

На вкладке "Параметры IPv4 " в выпадающем меню "Способ настройки" по умолчанию выбран пункт "Автоматически (DHCP) ", меняем на "Вручную", далее нажимаем на кнопку "Добавить", указываем: адрес (должен быть свободен!); маска сети; шлюз; серверы DNS указываются через запятую; также можно указать поисковый домен (если Вы используете доменную сеть).

Если Вы не используете в своей сети IPv6, на вкладке "Параметры IPv6" в выпадающем меню "Способ настройки" выберите "Игнорировать".

Настройка даты и времени. Выберите соответствующий раздел в меню установки. Указываем город и регион, затем активируем переключатель "Сетевое время" в правом верхнем углу экрана. Проверяем, что время успешно синхронизировано с NTP – сервером. Нажмите "Готово" для возврата в главное меню установщика.

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

Переходим к разделу "Место установки". Выбираем диск на который собираемся производить установку CentOS 7 . Отметим чек бокс "Я настрою разделы" и нажимаем кнопку "Готово".

Я специально использую диск на котором уже есть разделы, отмечаем и кликаем по кнопке "-" для удаления.

Если программа установки определит наличие установленной операционной системы (на удаляемом разделе), будет выдан запрос на подтверждение удаления.

Нажмите кнопку "Удалить".

После того, как Вы очистили весь диск, кликните по ссылке "Нажмите здесь для их автоматического создания". Программа разметки дисков автоматически создаст следующие разделы:

Необходимо немного изменить созданную структуру. Я не буду создавать отдельный раздел и точку монтирования для домашнего каталога. Для этого необходимо выделить его и удалить:

После того как мы удалили раздел home, у нас осталось свободная область на диске. Увеличим размер swap и установим его равным объему оперативной памяти, в моем случае 2Gb. Для этого выберите раздел и в строке "Desired Capacity" выставите необходимый объем:

Увеличим размер корневого раздела, для этого выделите его и в строке "Desired Capacity" выставите необходимый объем (можно указать размер больше доступного места, таким образом программа разметки автоматически подсчитает и выделит разделу все оставшееся свободное место):

Также можно изменить имя группы в выпадающем меню "Volume Group". Выбираем наш диск в поле "Имя" указываем название и сохраняем:

Нажмите кнопку "Готово" для завершения разметки дисков.

Программа разметки выведет список изменений, нажмите кнопку "Принять изменения".

На данном этапе можно создать пользователей системы и задать пароль для пользователя root. В данном примере я не буду создавать пользователей, вместо этого использую системную запись пользователя root.

Нажмите по кнопке "ПАРОЛЬ ROOT":

Установим пароль для пользователя root. В случае, если система считает пароль слабым, необходимо его подтвердить двойным нажатием по кнопке "Готово".

Ждем окончания процесса установки CentOS 7. По завершению нажимаем "Перезагрузить".

На этом установка CentOS 7 выполнена.

Настройка операционной системы CentOS

Первый запуск CentOS.

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

Загрузка по умолчанию малоинформативная. После запуска системы нас ждёт стандартное приглашение ввода имени пользователя и пароля. Дальше кому как удобно – можно подключаться через ssh, или входить используя консоль.

Также необходимо обезопасить удаленное соединение к серверу с CentOS 7 - .

По выполнению этих шагов добавим наиболее популярные репозитории EPEL и rpmforge.

Yum -y install epel-release

Обновление базовой системы после установки.

Добавим несколько полезных утилит, которые могут пригодиться в процессе эксплуатации сервера.
iftop:

Yum -y install iftop

Два интересных диспетчера задач:

Yum -y install htop yum -y install atop

Я привык работать с использованием Midnight Commander, меня вполне устраивает как удобство навигации по фаловой системе, так и встроенный редактор mcedit.

Yum -y install mc

На этом базовая настройка CentOS 7 после установки завершена.

Мне часто приходится работать с проектами различных сайтов, обладая знаниями и опытом администрирования ОС Linux, было решено поднять собственный веб сервер на базе CentOS 7 , для тестирования и отладки проектов. В данной статье помимо минимального набора команд для установки LAMP на CentOS 7 , я расскажу о повышении безопасности Вашего сервера. Мы не будем отключать SELinux , вместо этого настроим его для использования на веб сервере, вдобавок выполним установку и базовую настройку Firewalld .

Подробно рассмотрим установку и настройку FTP сервера в CentOS 7 на базе ProFTPD . Как всегда для удобства восприятия материал разбит на смысловые блоки. В этой статье Вы найдете решения следующих задач:

  • Установка LAMP в CentOS 7
  • Настройка SELinux
  • Установка и настройка phpMyAdmin в CentOS 7
  • Создание и настройка виртуальных хостов
  • Создание баз данных для сайтов
  • Установка Joomla 3.6 в CentOS 7
  • Установка и настройка FTP сервера
  • Установка и настройка Firewalld
Подготовка системы

Подключение EPEL репозитория:

Sudo yum -y install epel-release

Обновим систему:

Sudo yum -y update

Установим файловый менеджер. Я привык работать с использованием Midnight Commander, меня вполне устраивает как удобство навигации по фаловой системе, так и встроенный редактор mcedit. Выполните в терминале:

Sudo yum -y install mc

Настройка SELinux

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

Настройка разрешений в SELinux

Для работы с контекстом SELinux нам необходима утилита semanage входящая в состав пакета policycoreutils-python, давайте установим ее:

Sudo yum -y install policycoreutils-python

Возможно установить как временные разрешения (будут работать до перезагрузки системы):

Sudo chcon -R -t httpd_sys_content_t /path/to/www sudo chcon -R -t httpd_sys_rw_content_t /path/to/www

Так и постоянные разрешения:

Sudo semanage fcontext -a -t httpd_sys_content_t "/path/to/www(/.*)?" sudo semanage fcontext -a -t httpd_sys_rw_content_t "/path/to/www(/.*)?" sudo restorecon -R /path/to/www

Данные разрешения необходимо указать после создания домашнего каталога для Вашего сайта (подробно рассмотрено ниже).

Где /path/to/www путь до корневого каталога Вашего сайта

httpd_sys_content_t – разрешаем доступ на чтение

httpd_sys_rw_content_t – разрешаем доступ на запись.

Отключение SELinux

Для отключения выполните в терминале:

Sudo sed -i "s/\(^SELINUX=\).*/\SELINUX=disabled/" /etc/sysconfig/selinux sudo sed -i "s/\(^SELINUX=\).*/\SELINUX=disabled/" /etc/selinux/config

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

Sudo systemctl reboot

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

Sestatus

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

SELinux status: disabled

Установка и настройка MariaDB

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

Sudo yum -y install mariadb-server mariadb

Запустим сервис:

Sudo systemctl start mariadb.service

Добавим в автозагрузку:

Sudo systemctl enable mariadb.service

Выполните базовую настройку:

Sudo mysql_secure_installation

Рассмотрим подробно параметры настройки:

Enter current password for root (enter for none) оставляем поле пустым нажимаем Enter Set root password Y New password: Задаем пароль Re-enter new password: Подтверждаем Remove anonymous users Y Disallow root login remotely Y Remove test database and access to it Y Reload privilege tables now? Y All done! If you"ve completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!

Установка и настройка Apache

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

Sudo yum -y install httpd

Настройка Apache осуществляется путем редактирования конфигурационного файла:

Необходимо внести следующие изменения:

# Проверим, раскомментированна ли строчка в конце файла: IncludeOptional conf.d/*.conf # Также добавьте ниже следующую строку: ServerName 127.0.0.1

Запускаем Apache:

Sudo systemctl start httpd.service

Добавим сервис в автозагрузку:

Sudo systemctl enable httpd.service

Перейдя по адресу:

Http://xxx.xxx.xxx.xxx

(где xxx.xxx.xxx.xxx Ip адрес Вашего сервера), Вы должны увидеть тестовую страницу Apache:

* Если у Вас не открывается тестовая страница Apache, отключите на время Firewalld, подробная настройка файрвола будет рассмотрена ниже:

Sudo systemctl stop firewalld

Скроем информацию о версии Apache, модулях и операционной системе (по умолчанию эта информация доступна всем желающим из внешнего мира):

Sudo mcedit /etc/httpd/conf/httpd.conf

Добавьте в конец файла:

ServerSignature Off ServerTokens Prod

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

Установка и настройка PHP

Выполните установку PHP:

Sudo yum -y install php php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-mcrypt php-pecl-apc

Отредактируйте конфигурационнный файл php:

Sudo mcedit /etc/php.ini # раскомментируйте и внесите изменения realpath_cache_size = 1024k

Перезагрузите Apache:

Sudo systemctl restart httpd.service

Установка phpMyAdmin, ограничение доступа

Установка:

Sudo yum -y install phpmyadmin

Отредактируйте конфигурационный файл:

Sudo mcedit /etc/httpd/conf.d/phpMyAdmin.conf

Внесите следующие изменения, разрешив соединения от удаленных хостов: :


# Apache 2.4

# Require ip 127.0.0.1
# Require ip::1

Require ip xxx.xxx.xxx.xxx (IP адрес клиентской машины)

Require all granted




# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from::1

# Страница настройки phpMyAdmin


# Apache 2.4

# Require ip 127.0.0.1
# Require ip::1
# Разрешаем удаленное подключение с определенного IP
Require ip xxx.xxx.xxx.xxx (IP адрес клиентской машины)
# Разрешаем все удаленные подключения
Require all granted




# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from::1

Внимание! С целью повышения безопасности сервера, я не рекомендую Вам использовать разрешения для всех удаленных хостов (т.е. Require all granted), в данной статье эти настройки приведены для ознакомления.

Ограничьте доступ к директории /usr/share/phpMyAdmin/ до конкретного IP адреса Require ip xxx.xxx.xxx.xxx (где xxx.xxx.xxx.xxx IP адрес клиентской машины), а также в случае необходимости тонкой настройки, ограничьте доступ к директории /usr/share/phpMyAdmin/setup/ до Require ip 127.0.0.1 по окончанию всех настроек.

Я не приветствую использование phpMyAdmin на боевых серверах. Однако новичку или для тестового сервера эта веб панель предоставляет определенный уровень удобства.

Перезагрузите Apache:

Для доступа к веб интерфейсу phpMyAdmin наберите в адресной строке:

Пользователь: root

Пароль: Вы установили его на стадии настройки MariaDB

Для доступа к странице настроек phpMyAdmin наберите в адресной строке:

Http://ip-адрес сервера/phpmyadmin/setup

Не забудьте ограничить доступ к странице настроек, по завершению всех установок.

Создание базы данных для сайта

Создание базы данных в консоле

Подключаемся к MySQL серверу:

Mysql -u root -p

Вводим пароль пользователя root (мы устанавливали его в начале статьи) нажимаем Enter.

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

CREATE DATABASE `site` CHARACTER SET utf8 COLLATE utf8_general_ci;

Желательно сразу выбрать базу данных mysql, т.к. все дальнешие настройки будут вноситься в нее.

Use mysql;

Создаем пользователя site с паролем Zaq12wsx для базы данных site:

Внимание! используйте сложные пароли.

GRANT ALL PRIVILEGES ON site.* TO "site"@"localhost" IDENTIFIED BY "Zaq12wsx" WITH GRANT OPTION;

Отключаемся от MySQL сервера:

Создание базы данных с помощью phpMyAdmin

Откройте в браузере

Http://ip-адрес сервера/phpmyadmin

Перейдите в раздел "Базы данных"

Укажите имя базы данных, котировку и нажмите "Создать"

Перейдите в раздел "Пользователи", кликните "Добавить пользователя"

Укажите имя пользователя, ограничьте локальным доступом, задайте пароль и подтверждение. Отметьте чекбокс "Предоставить все привелегии на базу данных "base name" (в нашем случае site)". Нажмите "Вперед" для продолжения.

Внимание! Используйте сложные пароли.

Нажмите на значок "Выход" для завершения работы с phpMyAdmin.

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

Создание домашнего каталога, установка разрешений, подготовка Joomla

Создаем домашний каталог для сайта:

Sudo mkdir /var/www/html/site.ru

Создаем каталог для хранения логов:

Sudo mkdir /var/www/html/site.ru/logs

Переходим в домашний каталог сайта:

Cd /var/www/html/site.ru

Для установки Joomla 3.6 понадобится wget и unzip, выполните в терминале:

Sudo yum -y install wget unzip

Скачаем с официального сайта последнюю версию Joomla, на момент написания статьи это версия 3.6.2:

Sudo wget https://github.com/joomla/joomla-cms/releases/download/3.6.2/Joomla_3.6.2-Stable-Full_Package.zip

Распакуем:

Sudo unzip Joomla_3.6.2-Stable-Full_Package.zip

Установим права на файлы:

Sudo find . -type f -exec chmod 0644 {} \;

Установим права на каталоги:

Sudo find . -type d -exec chmod 0755 {} \;

Изменим владельца на пользователя Apache:

Sudo chown apache:apache -R /var/www/html/site.ru

Внимание! Если Вы не выключили SELinux, необходимо разрешить чтение и запись для Apache:

Sudo yum -y install policycoreutils-python sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html/site.ru(/.*)?" sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/site.ru(/.*)?" sudo restorecon -R /var/www/html/site.ru

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

Создаем виртуальный хост site.ru:

Sudo mcedit /etc/httpd/conf.d/site.ru.conf

Укажите настройки виртуального хоста:

ServerAdmin [email protected] ServerName site.ru ServerAlias www.site.ru DocumentRoot /var/www/html/site.ru Options FollowSymLinks AllowOverride All Require all granted ErrorLog /var/www/html/site.ru/logs/error.log CustomLog /var/www/html/site.ru/logs/access.log common

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

Sudo systemctl restart httpd.service

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

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

# Открываем текстовым редактором C:\Windows\System32\drivers\etc\hosts # Вносим следующие изменения xxx.xxx.xxx.xxx site.ru xxx.xxx.xxx.xxx www.site.ru

# Открываем текстовым редактором sudo mcedit /etc/hosts # Вносим следующие изменения xxx.xxx.xxx.xxx www.site.ru site.ru

*Где xxx.xxx.xxx.xxx ip адрес Вашего сервера

Сохраните и перезагрузите Ваш браузер.

Установка Joomla и запуск сайта

Откройте в браузере:

Http://site.ru

Http://www.site.ru

Вас встречает мастер установки Joomla :

Вам необходимо выбрать язык установки Joomla 3.6.2. укажите название сайта, Email администратора, логин, пароль адмнистратора и подтверждение пароля. Нажмите "Далее" для продолжения.

Конфигурация базы данных. Укажите тип базы данных, имя сервера оставьте по умолчанию "localhost". Укажите имя пользователя (в моем случае site), пароль (Zaq12wsx) и имя базы данных (site). Также можно указать вручную или автоматически "Префикс таблиц". Префикс можно использовать в случае хранения данных от нескольких сайтов в одной базе, в таком случае для каждого сайта необходимо указывать свой отличный от других префикс. Нажмите "Далее" для продолжения установки Joomla.

Завершение установки. На этой странице Вы можете увидеть сводку всех настроек сайта, а также произвести установку демо-данных. Нажмите на кнопку "Установка".

Ожидаем завершения процесса установки Joomla 3.6.2 на веб сервер CentOS 7 .

Предлагаю Вам сразу русифицировать Joomla 3.6.2 . Нажмите "Установка языковых пакетов".

Выберите требуемый язык из списка.

На данный момент мы не будем использовать мультиязычность на нашем сайте. Укажите язык панели управления, а также язык сайта и нажмите "Далее".

Нажмите "Удалить директорию "installation"".

Установка Joomla 3.6.2 на Ваш собственный веб сервер CentOS 7 успешно завершена.

Установка и настройка ProFTPD

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

Sudo yum -y install proftpd proftpd-utils

Запустите службу:

Sudo systemctl start proftpd

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

Sudo systemctl enable proftpd

Отредактируйте файл конфигурации сервера:

Sudo mcedit /etc/proftpd.conf

Приведите параметр "DefaultRoot" к следующему виду:

DefaultRoot ~

Закоментируйте дефолтный параметр "AuthOrder":

#AuthOrder mod_auth_pam.c* mod_auth_unix.c

Добавьте в конец файла следующие параметры:

AuthUserFile /etc/ftpd.passwd RequireValidShell off AuthPAM off RootLogin off PassivePorts 30000 35000 ListOptions -a LoadModule mod_auth_file.c AuthOrder mod_auth_file.c

Просмотрим список пользователей:

Sudo cat /etc/passwd

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

*** sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin

В моем случае Apache имеет следующие идентификаторы пользователя и группы: UserId=48, GroupId=48.

Создаем виртуального ftp-пользователя с логином site, идентификатором пользователя 48, группы 48 и домашним каталогом /var/www/html/site.ru:

Sudo ftpasswd --passwd --file=/etc/ftpd.passwd --name=site --uid=48 --gid=48 --home=/var/www/html/site.ru --shell=/bin/false

После выполнения команды система попросит ввести дважды пароль для создаваемого пользователя (настоятельно рекоммендую использовать сложные пароли). В результате выполнения комманды будет создан файл /etc/ftp.passwd с записью о пользователе.

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

Sudo ftpasswd --file /etc/ftpd.passwd --passwd --name=site --change-password

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

Sudo chgrp nobody /etc/ftpd.passwd sudo chmod 640 /etc/ftpd.passwd

SELinux. Разрешите полный доступ к файлам для proftpd:

Sudo setsebool -P allow_ftpd_full_access=1

Перезапустите службу proftpd:

Sudo systemctl restart proftpd

Firewalld - повышение уровня безопасности сервера

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

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

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

Всем привет! Сегодня в статье рассмотрим установку CentOS 7 Minimal , первичную настройку сети и установку графического интерфейса под названием Mate . У нас уже есть статья и видео об , но при установке Minimal есть несколько тонкостей, о них – ниже.

Первое отличие в том, что образ несколько больше - 700 Мб, но это всё равно несравнимо с объемом DVD или Full редакции. Следующее отличие, вытекающее из предыдущего – отсутствует возможность выбрать дополнительный софт для установки (скриншот ниже):

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

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

Итак, выполняем все шаги последовательно , ждём 15-30 минут и вводим свои логин\пароль (предварительно подключившись через терминал).

Первым желанием было проверить, работает ли сетевой интерфейс и был ли ему назначен адрес – я ввёл команду ifconfig , и, как оказалось, данная команда на 7 версии является устаревшей и вместо неё необходимо использовать команду ipaddr для вывода информации об интерфейсах и команду iplink для вывода статистики на них же.

Но так все привыкли к стандартным командам пакета net-tools , его необходимо будет установить с помощью команды yum install net-tools . Однако, помня первое ощущение непонимания, когда у меня не работала сеть в минимальной инсталляции на 6 версии, я хочу дополнительно показать очень простой способ её настройки – об этом ниже.

Важно! Команда ifconfig устарела. Для сетевого взаимодействия с сервером рекомендуем пользоваться командой «ip» (ip -a), которая по функциональности (с точки зрения L2 и L3) превосходит «ifconfig».

Настройка сетевых интерфейсов с помощью nmtui

Вводим команду nmtui - в итоге должен запуститься простой графический интерфейс для настройки сети (скриншот ниже):


Я, к примеру, хочу изменить настройки единственного интерфейса – выбираем первую опцию Edit a connection и видим следующую картину:


Выбираем Edit… и делаем с интерфейсом всё, что вздумается:) Как видно на скриншоте ниже, наш сервер получил IP - адрес по DHCP – меня это устраивает и я оставлю всё как есть. Главной целью было продемонстрировать данную утилиту – nmtui


Установка MATE и необходимых пакетов

Итак, почему MATE? Ответ прост – он гораздо легче , очень нетребователен к ресурсам и крайне прост в установке. Итак, производим несколько простых шагов по установке пакетов(ниже):

  • yum groupinstall "Development Tools" - установка необходимого комплекта пакетов для работы GUI (только если уже не установлены) ;
  • yum install epel-release - установка EPEL репозитория;
  • yum groupinstall "X Window system" - установка группового пакета X Window System, это займет около 5 минут. Сам пакет имеет объем 73 Мб;
  • yum groupinstall "MATE Desktop" - установка непосредственно Mate – довольно объемный пакет - 506 Мб;

Установка операционной системы CentOS 7 во многом отличается от таковой процедуры с другими дистрибутивами на базе ядра Linux, поэтому даже опытный пользователь может столкнуться со множеством проблем при выполнении этой задачи. К тому же система настраивается именно во время инсталляции. Хоть ее настройкой можно заняться и после завершения этого процесса, в статье будет представлена инструкция, как это сделать по ходу установки.

Инсталляция CentOS 7 может выполняться с флешки или CD/DVD, поэтому предварительно подготовьте накопитель, минимум, на 2 Гб.

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

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

При выборе отталкивайтесь от объема вашего накопителя. Так, если он вмещает 16 Гб, выберите «Everything ISO» , тем самым вы будете устанавливать операционную систему со всеми компонентами сразу.

Примечание: если вы собираетесь устанавливать CentOS 7 без подключенного интернета, необходимо выбирать именно этот способ.

Версия «DVD ISO» весит около 3,5 Гб, поэтому загружайте ее, если у вас есть флешка или диск минимум на 4 Гб. «Minimal ISO» — самый легковесный дистрибутив. Весит он около 1 Гб, так как в нем отсутствует ряд компонентов, например, нет выбора графической среды, то есть если у вас не установлено интернет-соединение, то вы установите серверную версию CentOS 7.

Примечание: после того как сеть будет настроена, из серверной версии ОС можно установить графическую оболочку рабочего стола.

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

Шаг 2: Создание загрузочного накопителя

Сразу же после того как образ дистрибутива будет загружен на компьютер его необходимо записать на накопитель. Как было отмечено выше, для этого можно использовать как флешку, так и CD/DVD. Существует множество способов выполнения этой задачи, со всеми ими вы можете ознакомиться у нас на сайте.

Шаг 3: Запуск ПК с загрузочного накопителя

Когда у вас на руках уже есть накопитель с записанным образом CentOS 7, необходимо вставить его в ПК и произвести запуск. На каждом компьютере это делается по-разному, это зависит от версии БИОС. Ниже приведены ссылки на все необходимые материалы, где рассказано как определить версию БИОС и как запустить компьютер с накопителя.

Шаг 4: Предварительная настройка

Запустив компьютер, вы увидите меню, в котором необходимо определить способ инсталляции системы. На выбор есть два варианта:

  • Install CentOS Linux 7 - обычная установка;
  • Test this media & Install CentOS Linux 7 - установка после проверки накопителя на критичные ошибки.

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

Весь процесс предварительной настройки системы можно разбить на этапы:

  1. Выберите из перечня язык и его разновидность. От вашего выбора будет зависеть язык текста, который будет отображаться в установщике.
  2. «Дата и время» .
  3. В появившемся интерфейсе выберите свой часовой пояс. Это сделать можно двумя способами: нажать на карте по своему населенному пункту или же выбрать его из списков «Регион» и «Город» , что находится в верхнем левом углу окна.

    Здесь же можно определить формат отображаемого времени в системе: 24-часовое или AM/PM . Соответствующий переключатель находится в нижней части окна.

    После выбора часового пояса нажмите кнопку «Готово» .

  4. В главном меню нажмите по пункту «Клавиатура» .
  5. Из списка, что находится в левом окне, перенесите нужные раскладки клавиатуры в правое. Для этого выделите ее и нажмите на соответствующую кнопку в нижней части.

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

    Еще вы можете поменять клавиши для изменения раскладки в системе. Для этого вам надо нажать «Параметры» и указать их вручную (по умолчанию стоит Alt+Shift ). После проведения настройки кликните по кнопке «Готово» .

  6. В главном меню выберите пункт «Network & Host Name» .
  7. Поставьте переключатель сети, который находится в правом верхнем углу окна, в положение «Включено» и впишите имя хоста в специальном поле для ввода.

    Если параметры Ethernet вы получаете не в автоматическом режиме, то есть не по протоколу DHCP, то их вам нужно ввести вручную. Для этого нажмите по кнопке «Настроить» .

    На вкладке «Ethernet» из списка выберите свой сетевой адаптер, к которому подключен кабель провайдера.

    Теперь перейдите на вкладку «Параметры IPv4» , определите метод настройки как ручной и впишите в поля для ввода все данные, предоставленные вам провайдером.

  8. В меню кликните «Выбор программ» .
  9. В списке «Базовое окружение» выберите то окружение рабочего стола, которое хотите видеть в CentOS 7. Наряду с его наименованием, вы можете прочитать небольшое описание. В окне «Дополнения для выбранного окружения» выберите то программное обеспечение, которое желаете установить в системе.
  10. Примечание: все указанное ПО можно будет загрузить после завершения установки операционной системы.

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

Шаг 5: Разметка дисков

Разметка диска в установке операционной системы - это важнейший этап, поэтому стоит внимательно ознакомиться с представленным ниже руководством.

Изначально нужно перейти непосредственно в окно разметки. Для этого:


Теперь вы находитесь в окне разметки. В примере используется диск, на котором уже были ранее созданы разделы, в вашем случае их может не быть. Если на жестком диске нет свободного места, то для инсталляции ОС его необходимо изначально выделить, удалив ненужные разделы. Делается это следующим образом:


После этого раздел будет удален. Если вы хотите полностью очистить свой диск от разделов, то проведите эту операцию с каждым в отдельности.

Далее необходимо будет создать разделы для установки CentOS 7. Сделать это можно двумя способами: автоматически и вручную. Первый подразумевает выбор пункта «Нажмите здесь для их автоматического создания» .

Но стоит заметить, что установщик предлагает создать 4 раздела: домашний, корневой, /boot и раздел подкачки. При этом он автоматически выделит под каждый из них определенное количество памяти.

Если такая разметка вас устраивает, нажмите кнопку «Готово» , в противном случае можно создать все необходимые разделы самостоятельно. Сейчас будет рассказано, как это сделать:


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

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

Зная, как создавать разделы, разметьте диск по своему желанию. И нажмите кнопку «Готово» . Как минимум рекомендуется создавать корневой раздел, обозначающийся символом «/» и раздел подкачки — «swap» .

После нажатия «Готово» появится окно, где будут перечислены все внесенные изменения. Внимательно ознакомьтесь с отчетом и, не заметив ничего лишнего, нажмите кнопку «Принять изменения» . Если в списке есть расхождения с ранее выполненными действиями, нажмите кнопку «Отменить и вернуться к настройке разделов» .

После проведения разметки дисков остается последний, завершающий этап установки операционной системы CentOS 7.

Шаг 6: Завершение установки

Выполнив разметку диска, вы попадете в главное меню установщика, где необходимо нажать кнопку «Начать установку» .

После этого вы попадете в окно «Пользовательские настройки» , где следует выполнить несколько несложных действий:


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

Как только полоса дойдет до конца, вам необходимо перезагрузить компьютер. Для этого нажмите по одноименной кнопке, предварительно вынув флешку или CD/DVD-диск с образом ОС из компьютера.

При запуске компьютера появится меню GRUB, в котором нужно выбрать операционную систему для запуска. В статье CentOS 7 устанавливалась на чистый жесткий диск, поэтому в GRUB есть всего две записи:

Если CentOS 7 вы устанавливали рядом с другой операционной системой, то строк в меню будет больше. Для запуска только что установленной системы вам необходимо выбрать пункт «CentOS Linux 7 (Core), with Linux 3.10.0-229.e17.x86_64» .

Заключение

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


Close