Установка и настройка сервера centos 7

Установка и настройка сервера centos 7

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

В качестве примера используются команды на Linux CentOS. Однако, справедливости ради, нужно заметить, что данными методами без проблем удастся настроить любой Linux и (с небольшими правками) FreeBSD.

  • Частный хостинг для небольшого количества клиентов.
  • Размещение сайтов компании.
  • Тестовый сервер для веб-мастера.
  • Установка корпоративных порталов.
  • Домашний сервер для компьютерных игр.

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

Содержание

Как выбрать сервер для хостинга

Железо

Основной потребляемый ресурс виртуального хостинга — объем жесткого диска. Небольшие сайты-визитки могут иметь размер менее 100 Мб. Но Интернет-магазины или фото- видео-порталы требуют больших ресурсов. В зависимости от целей, необходимо выделить от 50 Гб до 4 Тб. Больше или меньше для наших целей нецелесообразно.

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

Оперативной памяти также требуется небольшое количество — веб-сервер для 50 — 100 простых сайтов прекрасно себя будет чувствовать на 8 Гб.

Платформа

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

Выбор операционной системы

Для большинства хостинг-серверов, UNIX-системы являются лучшим выбором, так как:

  1. Преимущественно, они бесплатные.
  2. Работают стабильно.
  3. Основное программное обеспечение для веб-серверов, в первую очередь, разрабатывается для UNIX.

Напомню, что в данной инструкции применяется Linux CentOS 7.

Установка веб-сервера + все необходимое

Процесс настройки веб-сервера подробно описан в статье NGINX + Apache (httpd) + MariaDB (MySQL) + PHP + PHP-FPM (fastCGI) + FTP + PHPMyAdmin + Memcached + xCache + Postfix на CentOS 7. По данной инструкции можно настроить сервер для персонального использования или использования в компании. Но на хостинге будут находиться разные сайты, которые нужно изолировать друг от друга. Также необходимы квоты.

Настройка хостинга

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

Общий пользователь

Так как к одним и тем же каталогам необходимы права доступа для nginx и apache, создаем общую группу и добавим в нее учетные записи, от которых работают данные веб-сервисы.

Добавим группу virtwww:

Задаем созданную группу как дополнительную для apache и nginx:

usermod apache -G virtwww

usermod nginx -G virtwww

Запуск виртуальных доменов от определенного пользователя

Чтобы каждый виртуальный домен apache мог работать от отдельного пользователя, устанавливаем модуль httpd-itk:

yum install httpd-itk

После открываем следующий файл:

и снимаем комментарий для LoadModule — получится:

LoadModule mpm_itk_module modules/mod_mpm_itk.so

Настройка Apache

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

AllowOverride All
Options Indexes ExecCGI FollowSymLinks
Require all granted

AllowOverride All
Options Indexes ExecCGI FollowSymLinks
Require all granted

* по предложенной статье права были выданы на каталоги /var/www/*/www, для хостинга мы будем использовать немного другую вложенность.

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

Для каждого клиента необходимо создавать отдельного пользователя Linux, к которому будут привязаны виртуальные домены и базы данных. Это позволит изолировать ресурсы одного пользователя от другого и осуществить квотирование.

1. Создаем пользователя и группу Linux:

groupadd u10001 -g 10001

useradd u10001 -u 10001 -g virtwww -G u10001 -d /var/www/u10001 -m -k /dev/null

* где u10001 — имя пользователя/группы; 10001 — идентификатор пользователя в системе; virtwww — основная группа, которой будет принадлежать пользователь; опция -m создаст каталог пользователя; -k /dev/null — не использовать скелет для наполнения профиля файлами.

2. Создаем базу данных и пользователя mysql:

mysql -uroot -p -e "CREATE DATABASE b10001 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;" -e "GRANT ALL PRIVILEGES ON b10001.* TO m10001@localhost IDENTIFIED BY ‘mysqlpass’;"

* где b10001 — название базы; m10001 — пользователя базы данных; mysqlpass — пароль доступа к mysql.

3. Создаем FTP-пользователя. Процесс зависит от того, где мы решили хранить пользователей.

Если храним в файле:

ftpasswd —passwd —file=/etc/proftpd.d/ftpd.passwd —name=f10001 —uid=10001 —gid=10001 —home=/var/www/u10001 —shell=/sbin/nologin

Если в базе данных:

mysql -uroot -p -e "INSERT INTO proftpd.users (username, password, uid, gid, homedir) values (‘f10001’, encrypt(‘ftpass’), 10001, 10001, ‘/var/www/u10001’);"

* f10001 — имя FTP-пользователя; ftpass — пароль пользователя.

4. Задаем права на каталоги:

chmod 4710 /var/www/u10001

chmod 4470 /home/mysql/b10001

chown u10001:virtwww /var/www/u10001

chown u10001:mysql /home/mysql/b10001

* где /home/mysql — путь, по которому хранятся базы.

Создание площадки

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

1. Создаем каталоги:

mkdir -p /var/www/u10001/site1.ru/

mkdir -p /var/www/u10001/site1.ru/log/

* подразумевается, что мы создаем площадку для сайта site1.ru.

2. Задаем права на каталоги:

chown -R u10001:virtwww /var/www/u10001/site1.ru

chown -R root:u10026 /var/www/u10001/site1.ru/log

chmod -R 04770 /var/www/u10001/site1.ru

chmod 0710 /var/www/u10001/site1.ru/cgi

chmod -R 0750 /var/www/u10001/site1.ru/log

3. Создаем виртуальный домен в Apache:

Define root_domain site1.ru
Define root_path /var/www/u10001/site1.ru

ErrorLog $/log/apache/error_log
TransferLog $
/log/apache/access_log

php_admin_value upload_tmp_dir $/tmp
php_admin_value doc_root $

php_admin_value user_dir www
php_admin_value open_basedir /var/www/u10001:/usr/local/share/smarty:/usr/local/share/pear
php_admin_value session.save_path "0;0660;$
/tmp"
php_flag display_errors off

AssignUserID u10001 virtwww

* где site1.ru — сайт, для которого мы создаем площадку; /var/www/u10001/site1.ru — путь, где будут расположены файлы сайта; AssignUserID определяет, под какими учетными данными будет работать виртуальный домен.

4. Создаем виртуальный домен в nginx:

server <
listen 80;
server_name site1.ru www.site1.ru;
set $root_path /var/www/u10001/site1.ru/www;

gzip on;
gzip_disable "msie6";
gzip_min_length 1000;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;

access_log /home/www/u10001/site1.ru/log/nginx/access_log;
error_log /home/www/u10001/site1.ru/log/nginx/error_log;

location / <
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>

* ^.+.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|js)$ <
root $root_path;
expires modified +1w;
>

error_page 500 502 503 504 /50x.html;
location = /50x.html <
root /usr/local/www/nginx-dist;
>
>

Проверяем правильность настроек nginx и httpd:

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

Читайте также:  Для построения локальной сети используются топологии

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

Настройка CentOS после установки

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

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

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

yum install net-tools

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

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

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

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

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

service network restart

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

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

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

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

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

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

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

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

yum update && yum upgrade

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

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

yum install links

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

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

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

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

Затем установите нужный, например, 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. А вместо нее добавьте:

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

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

Дальше вы можете проверить его работоспособность с помощью links:

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

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

yum install php

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

systemctl restart httpd.service

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

echo -e " " > /var/www/html/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

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

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

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

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

yum install gcc

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

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

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

Читайте также:  Распиновка батареи ноутбука asus

yum install java

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

Выводы

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

Нет похожих записей

Оцените статью:

Об авторе

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

5 комментариев

# firewall-cmd -permanent -add-port=3221/tcp

Что-то у Вас не то по-моему. Открываете порт 3221, а входите по 80 .

Я уже не говорю о том, что перед permanent и add-port должно быть по 2 тире, а не по одному.

Торопыжничество одним словом.
На мой взгляд статья слабовата. Не тянет это на то, что НУЖНО сделать после установки, далеко не всем это все нужно, а то что нужно, мягко говоря не тянет на ман, а больше на аннотацию к статье.
Вобщем статья просто с кратким набором команд. Были же статьи у вас по каждой из этих тем, нафига эту кашу выложили? Не дай бог кто-то решит еще и настроить свой сервак по этой инструкции, восприняв ее как пошаговую.

Пишите надо ставить ru_RU.UTF-8
А устанавливаете localectl set-locale LANG=en_US.UTF-8

Мне помогло. Но я очень слаб в информатике, уровень 0.1
Да и вообще уч врач, уволенный на пенсию. Хотя мне ещё 65
Но вот с нового года увлёкся. В медицине делать нечего
Она врезалась в какой-то ‘ tank’ и теперь оба восстановлению не подлежат
Главврачи скупают кодексы. Спрашивают у опытных людей, как правильно сидеть.
И сушат сухари. Марк Заславский. Всем респект.

В разделе настроек SSH неверно указали имя конфигурационного файла сервера.. Нужно править /etc/ssh/sshd_config, а указанный в тексте файл /etc/ssh/ssh_config относится к настройкам клиента. Директива "PermitRootLogin" используется только для настроек сервера.

В общем-то статья так себе, в настройке сервера абсолютно не помогла. Слишком много места отводится очевидным настройкам, например, имя хоста, настройка времени, настройка IP адреса, настройка локали, всё это элементарно делается при установке системы. С другой стороны ничего не сказано о настройке Firewall, о SELinux сказано только, как отключить, видно автор не владеет ситуацией по их настройке. Весьма куцее описание настройки SSH, о настройке Samba не сказано ничего, а если это сервер, то её настройка жизненно необходима, как иначе дать доступ к ресурсам сервера для Windows систем, а сети их подавляющее большинство.

Мне часто приходится работать с проектами различных сайтов, обладая знаниями и опытом администрирования ОС 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

Для установки потребуется подготовленный сервер, посмотрите, как установить и настроить CentOS 7, а также, как настроить сеть в CentOS.

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

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

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

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

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

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

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

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

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

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

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

Отключение SELinux

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Страница авторизации phpMyAdmin

AddDefaultCharset UTF-8

# 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

# Страница настройки 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 на боевых серверах. Однако новичку или для тестового сервера эта веб панель предоставляет определенный уровень удобства.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вас встречает мастер установки 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 в автозагрузку:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ссылка на основную публикацию
Уроки нлп для начинающих
Если вы хотя бы немного интересуетесь психологией, то о нейролингвистическом программировании (НЛП), наверное, тоже слышали. В статье мы постараемся объяснить...
Технология etth что это
ETTH — Ethernet To The Home (ETTH) is a specific application of Fiber to the premises (FTTP) that first emerged...
Технология nfc в наушниках что это
NFC — это аббревиатура от английского Near Field Communication. С помощью этой технологии становится возможным обмен данными между различными устройствами,...
Уроки ворд 2010 для начинающих
Microsoft Office 2010 — бесплатные обучающие уроки для чайников с нуля. Получите необходимые навыки профессиональной работы с пакетом Microsoft Office...
Adblock detector