Практическая работа
«Организация работы Web-сервера»
по учебной практике УП.02.01
ПМ.02 «Организация сетевого
администрирования»
специальность 09.02.06
Сетевое и системное администрирование
Санкт-Петербург
2020
СОДЕРЖАНИЕ
Задание. 4
Содержание отчета. 5
Настройка локальных
хостов. 6
Порядок выполнения
работы. 7
1. Создание и настройка
виртуальной машины. 7
2. Установка гостевой
операционной системы. 7
4. Общие настройки системы.. 8
4. Установка и настройка
HTTP - сервера Apache. 10
4.1 Установка Appache. 10
4.2 Создание виртуальных
хостов. 10
4.3 Создание
демо-страницы для виртуального хоста. 12
4.4 Создание файлов
виртуальных хостов. 13
5. Установка PHP. 15
6. Установка MariaDB.. 16
7. Связка PHP + MariaDB.. 18
8. Установка phpMyAdmin. 18
9. Установка и настройка
FTP-сервера. 20
10. Установка и
настройка WordPress. 22
Приложение 1. Создание
виртуальной машины.. 27
Приложение 2. Настройка
виртуальной машины.. 31
Приложение 3. Установка
CentOS. 34
Тема работы: Организация работы Web-сервера
Цель работы: Научиться устанавливать и выполнять
первоначальную настройку web сервера на базе ОС Linux.
Производить конфигурирование и обслуживание web-сервера
Осваиваемые
компетенции: ПК2.1, ПК2.2,
ПК2.3, ПК2.4
Необходимое ПО:
-
Oracle Virtual Box - https://www.virtualbox.org/
-
ОС CentOS - https://www.centos.org/download/
-
Putty - https://www.chiark.greenend.org.uk/~sgtatham/putty/
-
WinSCP - https://winscp.net/eng/download.php
-
CMS WordPress - https://ru.wordpress.org/
Сокращения, используемые в работе
NN
|
Номер варианта
|
FF
|
Ваша фамилия на английском языке
|
1.
Создать новую виртуальную машину для web-сервера в Virtual
Box и произвести ее настройку согласно таблице 1.
2.
Установить гостевую операционную систему CentOS 7. (образ CentOS-7-x86_64-Minimal-1810.iso).
Пароль ROOT, логин и пароль пользователя задать согласно таблице
2.
3.
Подключиться к виртуальной машине по SSH. Конфигурирование и настройку web-сервера
производить удаленно по протоколу SSH.
4.
Произвести общие настройки web-сервера
5.
Установить и настроить HTTP - сервер
Apache
6.
Установить препроцессор гипертекста (PHP)
7.
Установить СУБД MariaDB.
8.
Установить модули для связки PHP + MariaDB
9.
Установить phpMayAdmin
10.
Установить и настроить FTP сервер
11.
Установить и настроить CMS WordPress
12.
Протестировать работу web-сервера
Тестирование
web-сервера производить через браузер локальной ОС.
Таблица 1.
Характеристики
виртуальной машины
|
Имя
и тип ОС
|
Имя
|
VM_1_FF
|
Папка
расположения виртуальной машины
|
C:\VM_1_FF
|
Тип
|
Linux
|
Версия
|
Red Hat (64
bit)
|
Объем
оперативной памяти
|
1024
МБ
|
Жесткий
диск
|
Новый виртуальный жесткий диск
|
|
Тип
жесткого диска
|
VDI
(VirtualBox Disk Image)
|
Формат
хранения
|
Динамический
виртуальный жесткий диск
|
Размер
|
10
ГБ
|
Настройки
виртуальной машины
|
Система
|
Порядок
загрузки
|
Жесткий
диск
Оптический
диск
|
Носители
(оптический привод)
|
CentOS-7-x86_64-Minimal-1810.iso
|
Настройка
сети
|
Адаптер
1. Тип подключения
|
Сетевой
мост
|
Таблица 2.
Логин / пароль
пользователей
|
Пароль
ROOT
|
toor
|
Имя
пользователя
|
userNN
|
Пароль
пользователя
|
userNN
|
Отчет по практической работе должен содержать:
-
Титульный лист;
-
Тему и цель работы;
-
Задание на практическую работу, осваиваемые
компетенции;
-
Краткое описание выполняемых действий со
скриншотами;
-
Вывод по практической работе.
Отчет по практической работе оформляется в
электронном виде.
Так как у вас нет доменного имени, и вместо
настоящего вы используете условный домен, вы можете протестировать настройки,
временно отредактировав файл hosts на локальном компьютере. Он будет
перехватывать запросы на настроенные ранее домены и направлять их на VPS (то
есть, выполнять работу DNS). Но этот метод работает только на локальной машине
и подходит только для тестирования.
Для выполнения данного раздела нужны
учётные данные администратора.
Алгоритм настройки файла hosts
-
Убедитесь, что вы перешли на локальную машину.
-
Запустите блокнот с правами администратора
-
Откройте файл
C:\Windows\System32\drivers\etc\hosts
-
В этом файле указать IP-адрес сервера, а затем доменное
имя, которое будет использоваться для доступа к серверу.
127.0.0.1 localhost
ххх.ххх.ххх.ххх FF.ru
где ххх.ххх.ххх.ххх – IP адрес вашей
виртуальной машины
Теперь все запросы к FF.ru будут
направлены на локальный компьютер, а оттуда — на IP-адрес сервера.
Тестирование виртуальных хостов
Чтобы протестировать настройку, просто
откройте домены в веб-браузере: http://FF.ru
1. Создание и настройка виртуальной машины.
Этапы создания и настройки виртуальной машины описаны
в приложениях 1, 2.
2. Установка гостевой операционной системы.
Установка операционной системы CentOS 7 описана в
приложении 3.
3.
Подключитесь к виртуальной машине по SSH
Порядок действий
-
Запустите Putty
-
В строке Имя хоста (IP- адрес) введите IP – адрес
Вашего сервера
-
Порт – 22
-
Тип соединения – SHH
-
Нажмите кнопку Open
Рисунок 1
-
Введите логин и пароль пользователя
Рисунок 2
Произвести общие настройки системы.
Установить обновление CentOS:
Установить пакет net-tools:
Установить репозиторий EPEL:
Отключить SELinux:
·
произвести редактирование конфигурационного файл,
чтобы SELinux не запускался автоматически:
sed -i
"s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
·
произвести разовое отключение SELinux:
Рисунок 3. Результат отключения SELinux
Настроить время:
·
установить пакет ntp
·
установить часовой пояс по Московскому времени
\cp /usr/share/zoneinfo/Europe/Moscow
/etc/localtime
·
синхронизировать время с сервером ru.pool.ntp.org.
Настроить cron для
автоматической синхронизации времени:
Настроить запуск задания ежедневно в 00:00:
0 0 * * * /sbin/ntpdate ru.pool.ntp.org
Рисунок 4. Результат настройки даты и времени
Открыть необходимые tcp
порты в брандмауэре:
·
80, 443 и 8080 порты веб-сервера;
·
20, 21 порты FTP;
·
40900-40999 порты FTP (динамические порты для
пассивного режима);
·
25, 465 и 587 порты почтового сервера по SMTP.
firewall-cmd --permanent
--add-port=80/tcp
Остальные tcp порты
открываются аналогично.
Перезапустить firewalld, чтобы
применить новые правила
Рисунок 5. Проверка открытых портов
Установить Apache:
После установки добавить сервер Apache
в автозапуск:
systemctl start httpd
systemctl enable httpd
Проверить работоспособность Apache, введя в адресной строке браузера IP адрес
сервера.
Рисунок 6. Проверка результата работы Apache
Создание структуры каталогов
Каталог document root (каталог, в
котором Apache ищет контент) по умолчанию находится в /var/www; в
нём нужно создать отдельный каталог для каждого виртуального хоста. В каждом
таком каталоге будет размещен каталог public_html, в котором и будут
находиться нужные файлы. Такой подход делает хостинг более гибким.
Необходимые каталоги можно создать при помощи
команды mkdir (флаг -p позволяет создавать каталог с вложенным в него
каталогом):
Создать каталоги для сайта:
sudo mkdir -p /var/www/FF.ru/public_html
Примечание:
Не забудьте заменить условные домены своими данными.
Рисунок 7. Результат создания каталогов
Права
На предыдущем шаге была создана структура
каталогов, но все они принадлежат пользователю root. Чтобы не-рутовый
пользователь мог вносить изменения в файлы веб-каталога, нужно изменить права
на эти файлы при помощи chown:
Установить права на каталоги:
sudo
chown -R userNN:userNN /var/www/FF.ru/public_html
Необходимо изменить привилегии, чтобы открыть
веб-каталог и всё его содержимое для чтения, в противном случае страницы не
будут отображаться корректно.
Изменить привилегии:
sudo chmod -R 755 /var/www
После установки прав можно приступать к
созданию контента в специально отведённых каталогах.
Рисунок 8. Права и привилегии для каталогов
сайта
Создайте тестовый контент. Поскольку это
пробная настройка хостов, страница будет очень простая. Создайте стартовую страницу
сайта index.html.
Открыть файл index.html в текстовом
редакторе:
nano /var/www/FF.ru/public_html/index.html
В этом файле создайте простой HTML-документ, который указывает, к какому сайту подключена страница и кто
автор данной страницы. В данном случае листинг этот файл должен выглядеть примерно
так:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Тестовая страница</title>
</head>
<body>
<h1>ivanov.ru</h1>
<h2> Проверка работы виртуального хоста</h2>
<h5>© Иванов Иван 220 группа</h5>
</body>
</html>
Рисунок 9. Проверка работы демо-страницы
Создание каталогов виртуальных хостов
Файлы виртуальных хостов задают настройки
отдельных сайтов и помогают Apache корректно отвечать на запросы.
Сначала нужно создать отдельные каталоги для
хранения виртуальных хостов и включения сайтов. Каталог sites-available
должен содержать файлы виртуальных хостов, а каталог sites-enabled —
символические ссылки на виртуальные хосты, которые нужно включить.
Создать каталоги
виртуальных хостов:
sudo mkdir /etc/httpd/sites-available
sudo mkdir /etc/httpd/sites-enabled
Примечание:
Эта схема размещения каталогов командой Debian, но она используется и в других системах, поскольку
это очень гибкий и простой способ включать и отключать виртуальные хосты.
Веб-сервер Apache должен
искать виртуальные хосты в каталоге sites-enabled. Для этого нужно отредактировать главный конфигурационный файл Apache и объявить дополнительный каталог конфигурационных файлов.
Отредактировать главный конфигурационный
файл Apache
sudo nano /etc/httpd/conf/httpd.conf
В конец каталога добавьте строку:
IncludeOptional sites-enabled/*.conf
Сохраните и закройте файл.
Создание файлов виртуальных хостов.
С привилегиями sudo открыть в текстовом редакторе новый файл:
sudo nano /etc/httpd/sites-available/FF.ru.conf
Примечание:
Согласно заданным конфигурациям, все конфигурационные файлы должны оканчиваться
на .conf.
Сначала создайте пару тегов, объявляющих
данный контент виртуальным хостом, который слушает порт 80 (стандартный
HTTP-порт).
<VirtualHost *:80>
</VirtualHost>
Затем задайте имя сервера (в данном случае это
www.FF.ru). Директива ServerAlias позволяет указывать дополнительные
имена сервера; используйте её, чтобы запросы www.FF.ru и FF.ru
возвращали одинаковый контент.
<VirtualHost *:80>
ServerName www.FF.ru
ServerAlias FF.ru
</VirtualHost>
Примечание:
Чтобы версия доменного имени с www работала должным образом, настройки DNS
должны содержать запись А или CNAME, перенаправляющую запросы к www на IP-адрес
сервера. Символ звёздочки (*) также подойдёт.
В завершение нужно задать root-каталог
для общедоступных веб-документов, а также местонахождение логов ошибок и
запросов для этого конкретного сайта:
<VirtualHost *:80>
ServerName www.FF.ru
ServerAlias FF.ru
DocumentRoot /var/www/FF.ru/public_html
ErrorLog /var/www/FF.ru/error.log
CustomLog /var/www/FF.ru/requests.log combined
</VirtualHost>
Сохраните файл и закройте его.
Рисунок 10. Конфигурационный файл хоста
Включение виртуального хоста
Создав файл виртуального хоста, нужно включить
его.
Создайте символическую ссылку хоста в
каталоге sites-enabled:
sudo ln -s /etc/httpd/sites-available/FF.ru.conf
/etc/httpd/sites-enabled/FF.ru.conf
После этого перезапустите Apache, чтобы эти изменения вступили в силу.
Перезапуск Apache
systemctl restart httpd.service
Рисунок 11. Результат создания файла
виртуального хоста
Установить PHP следующей командой:
Рисунок 12. Просмотр версии PHP
После установки перезагрузить Apache:
systemctl
restart httpd.service
Создать страницу test.php для проверки работы php и php-модулей
<?php
echo “<h1> FF.ru </h1>”;
phpinfo();
?>
Рисунок 13. Тестовая страница test.php
Установить MariaDB следующей командой:
yum install mariadb mariadb-server
Разрешить автозапуск СУБД:
Запустить СУБД
Создать пароль для основной учетной записи БД:
mysqladmin -u root password
Проверить работу, подключившись к БД
Если
появилось приглашение командной строки
значит
сервер установлен и работает.
При необходимости, настройка сервера
выполняется в файле /etc/my.cnf и подключаемых файлах в
каталоге /etc/my.cnf.d/.
Рисунок 14. Проверка установки MariaDB в
phpinfo
Рисунок 15. Проверка установки MariaDB
Для возможности подключаться к базе данных
скриптами PHP необходимо установить следующие модули (cвязка
php + MySQL):
После установки необходимо перезагрузить apache:
systemctl restart httpd.service
Открыть сайт в браузере. В phpinfo проверить успешную
установку модулей:
Установить phpMyAdmin:
yum -y install phpmyadmin
После установки в каталоге с конфигурациями httpd
/etc/httpd/conf.d появляется файл phpMyAdmin.conf. Сохраните
сразу на всякий случай оригинальный файл, перед тем как начать его
редактировать:
Создать копию конфигурационного файла phpMyAdmin.conf
cp /etc/httpd/conf.d/phpMyAdmin.conf
/etc/httpd/conf.d/phpMyAdmin.conf.orig
По умолчанию, в конфиге закрыт доступ к панели
управления для всех адресов, кроме 127.0.0.1. Чтобы открыть доступ для
всех, приведите файл phpMyAdmin.conf к следующему виду:
Отредактируйте файл phpMyAdmin.conf
# mcedit /etc/httpd/conf.d/phpMyAdmin.conf
...
<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
Require all granted
</RequireAny>
</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/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
#Require
ip 127.0.0.1
#Require ip ::1
Require all granted
</RequireAny>
</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>
...
Рисунок 16. Результат установки и настройки
phpMyAdmin
В качестве FTP-сервера будем использовать
ProFTPd, так как он позволяет авторизоваться под uid системных учетных записей.
Установите ProFTPd
:
yum install proftpd proftpd-utils
Создайте каталог для хранения настроек:
Создайте виртуального пользователя:
ftpasswd
--passwd --file=/etc/proftpd.d/ftpd.passwd --name=ftpNN --uid=48 --gid=48
--home=/var/www/FF.ru --shell=/sbin/nologin
*
где /etc/proftp.d/ftpd.passwd — путь до файла, в котором хранятся пользователи;
ftpNN — имя пользователя (логин);
uid и gid — идентификаторы пользователя и группы системной учетной записи (apache);
/var/www/FF.ru — домашний каталог пользователя;
/sbin/nologin — оболочка, запрещающая локальный вход пользователя в систему.
Отредактировать конфигурационный файл
proftpd:
И редактируем следующее (комментируем):
В конце файла добавим следующее:
UseIPv6 off
IdentLookups off
PassivePorts 40900 40999
RequireValidShell off
AuthUserFile /etc/proftpd.d/ftpd.passwd
AuthPAM off
LoadModule mod_auth_file.c
AuthOrder mod_auth_file.c
*
где 40900 - 40999 — диапазон динамических портов для пассивного режима.
Разрешить автозапуск FTP-сервера и
запустить его:
Настройте права доступа к домашней папке
пользователя, для возможности обмена файлами посредством FTP
Рисунок 17. Результат работы ProFTPd
Cкачать русскую версию WordPress с http://ru.wordpress.org
Используя программу WinSCP загрузить файлы CMS WordPress в каталог /var/www/FF.ru/public_html
Рисунок 18
В адресной строке браузера перейти на свой
сайт (www.FF.ru). Загрузится установщик WordPress. Ознакомиться с текстом на странице и нажать кнопку Вперед
Рисунок 19
Введите информацию о подключении к БД. Предварительно,
но создав БД с помощью phpMyAdmin
Рисунок 20
Вручную создайте файл wp-config.php
Скопируйте предложенный текст
Используя клиент Putty откройте файл
sudo nano /var/www/FF.ru/public_html/wp-config.php
и вставьте в него
предложенный текст
Рисунок 21
Рисунок 22
Заполните требуемую информацию
Название сайта –
Персональный сайт FF
Имя пользователя (логин администратора)- FF
Пароль – FF
E-mail - укажите
электронную почту
Включите опцию -
Разрешить использование слабого пароля
Нажмите кнопку – установить WordPress
Рисунок 23
При успешной установке загрузится страница,
сообщающая об успешной установке WordPress. Нажмите кнопку
Войти.
Рисунок 24
Рисунок 25
Рисунок 26
Работа с CMS WordPress.
Получите у преподавателя индивидуальное
задание:
-
Установите тему WordPress;
-
Установите плагины;
-
Произведите настройки CMS WordPress;
-
Создайте записи;
-
Создайте страницы.
В VirtualBox каждая
устанавливаемая операционная система нуждается в отдельной виртуальной машине
(VM). На этом этапе выбирается тип системы, которая будет установлена,
создается виртуальный накопитель и настраиваются дополнительные параметры.
1.
Запустите VirtualBox и
нажмите на кнопку «Создать».
2.
Укажите имя,
местоположение, тип и версию операционной системы
3.
Укажите объем оперативной
памяти, который вы можете выделить для запуска и работы операционной системы.
Минимум для комфортной работы – 1 ГБ.
4.
Выберите пункт создать
новый виртуальный жесткий диск
5.
Укажите тип жесткого диска
VDI
6.
Выберите формат жесткого
диска. Предпочтительнее «Динамический»
7.
Размер для виртуального
HDD выберите, исходя из доступного свободного места на физическом жестком
диске. Для корректной установки и обновления ОС рекомендуется отводить не менее
8 ГБ.
Если вы выделите
больше места, то благодаря динамическому формату хранения эти гигабайты не будут
заняты до тех пор, пока это место не будет занято внутри ОС
1.
Выбрать виртуальную машину
и нажать кнопку «Настроить»
2.
Выбрать вкладку «Система».
Настройте порядок загрузки ОС. Манипулятор курсора укажите USB
планшет
3.
Переходим на вкладку «Носители»,
выделяем виртуальный CD привод и нажимаем на значок выбора образа. Затем
выбираем пункт «Выбрать образ оптического диска».
В открывшемся окне
находим необходимый образ.
4.
Переходим на вкладку «Сеть»,
включаем сетевой адаптер и выбираем тип подключения «Сетевой мост»
5.
Нажимаем «ОК»
6.
Проверяем настройки
виртуальной машины
1.
Выбрать виртуальную машину
и нажать кнопку «Запустить»
2.
Запустится установщик системы.
При помощи стрелки вверх на клавиатуре выберите пункт «Install CentOS 7» и
нажмите Enter.
3.
В автоматическом режиме
будут произведены некоторые операции.
4.
Запустится графический
установщик CentOS. Выберите ваш язык и его разновидность.
5.
В окне с параметрами
настройте:
·
Часовой пояс;
·
Расположение установки;
Если вы хотите
сделать в CentOS жесткий диск с одним разделом, то просто зайдите в меню с
настройками, выделите виртуальный накопитель, который был создан вместе с
виртуальной машиной, и нажмите «Готово»;
·
Сеть и имя узла.
Включите сетевой
интерфейс
6.
Нажмите на кнопку «Начать
установку».
7.
Во время установки
(состояние установки отображается в нижней части окна как прогресс-бар)
необходимо задать пароль root и создать пользователя.
8.
По завершении установки
нажмите кнопку «Перезагрузка»
9.
Загрузится операционная
система CentOS 7
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.