Научиться устанавливать и настраивать веб-серверы Apache HTTPd и Nginx.
На локальном компьютере отредактируйте файл C:\Windows\System32\Drivers\etc\hosts (для редактирования нужны права администратора, пароль администратора: «имикиц428»). В этот файл нужно добавить строки вида:
<IP-адрес сервера> test1.example.com
<IP-адрес сервера> test2.example.com
На сервере добавьте в файл /etc/hosts строки.
127.0.0.1 test1.example.com
127.0.0.1 test2.example.com
Создать отчет о выполнении лабораторной работы в формате *.docx.
Установите пакет веб-сервера Apache HTTPd: apache2 и libapache2-mod-php.
Откройте в браузере адрес http://test1.example.com и убедитесь что веб-сервер работает.
Создайте каталог www в домашней каталоге и поместите в него файл index.php следующего вида:
<?php phpinfo(); ?>
Создайте файл /etc/apache2/sites-available/newsite.conf (сделайте соответствующую замену):
<VirtualHost *:80>
ServerName test2.example.com
DocumentRoot /home/<ИМЯ ПОЛЬЗОВАТЕЛЯ>/www
<Directory /home/<ИМЯ ПОЛЬЗОВАТЕЛЯ>/www>
Require all granted
</Directory>
</VirtualHost>
Добавьте права на чтение и доступ к домашнему каталогу пользователя командой chmod.
Включите новый виртуальный хост:
sudo a2ensite newsite
sudo systemctl reload apache2
Откройте в браузере хост-компьютера адреса http://test1.example.com и http://test2.example.com и убедитесь, что веб-сервер по-разному обслуживает два виртуальных хоста. Сделайте скриншоты обоих сайтов.
Добавьте в файл /etc/apache2/sites-available/newsite.conf внутрь тега <Directory> строку:
Options Indexes
Переименуйте файл /home/yc-user/www/index.php в index.php.bak, перезапустите Apache HTTPd и проверьте, что изменилось в работе веб-сервера. Сделайте скриншот изменившегося сайта.
Переименуйте файл /home/user/www/index.php.bak обратно в index.php.
Проверьте номера TCP-портов который использует сервер Apache HTTPd:
sudo ss -ltnp
Измените в файле /etc/apache2/ports.conf номера основного порта с 80 на 8080. Внесите аналогичные изменения в файлах 000-default.conf и newsite.conf в каталоге /etc/apache2/sites-available.
Перезапустите Apache HTTPd и проверьте номера TCP-портов:
sudo systemctl restart apache2
sudo ss -ltnp
Сделайте скриншот TCP-портов до и после.
Установите необходимые пакеты: nginx и php-fpm.
Отредактируйте файл /etc/nginx/sites-available/default. Найдите строку index index.html index.htm index.nginx-debian.html; и уберите из неё значение index.html. Перезапустите nginx (sudo systemctl restart nginx).
Откройте в браузере хост-компьютера адреса http://test1.example.com, http://test1.example.com:8080 и http://test2.example.com:8080, убедитесь, что веб-серверы Apache HTTPd и Nginx работают. Сделайте скриншот с Nginx.
Добавьте файл newsite в каталог /etc/nginx/sites-available/:
server {
listen 80;
server_name test2.example.com;
root /home/yc-user/www;
location / {
index index.php;
}
location /t1 {
proxy_pass http://test1.example.com:8080/;
}
location /t2 {
proxy_pass http://test2.example.com:8080/;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php-fpm.sock; # Перепроверить существование этого файла
}
}
Создайте символическую ссылку на файл /etc/nginx/sites-available/newsite в каталоге /etc/nginx/sites-enabled и перезапустите Nginx.
Откройте в браузере хост-компьютера страницы по адресам http://test1.example.com, http://test2.example.com, http://test2.example.com/t1 и http://test2.example.com/t2, убедитесь, что веб-серверы Apache HTTPd и Nginx работают вместе.
Откройте в браузере отладчик (Ctrl+Shift+C или F12) на вкладке Network и найдите заголовок Server и убедитесь что указан веб-сервер Nginx. Сделайте скриншоты всех 4 сайтов.