Для того, чтобы сайт появился в интернете требуется как минимум устройство, которое сможет по запросу отправить ответ. В первом приближении для сайтов, запросы отправляются браузером по http
или https
протоколу с указанием доменного имени сайта и, путём некоторых манипуляций (о которых как-нибудь в другой раз), запрос приходит на устройство (обычно сервер). Сервер его обрабатывает и отправляет обратно ответ браузеру. Тот его принимает и отображает на экране пользователя. Все счастливы! =) В этой статье я сведу всё, что требуется для настройки сервера, взятого в аренду у хостинга firstVDS.ru, с которым работаю уже больше дюжины лет. На этот раз я взял новый сервер без ISP-панели и решил всё настроить вручную, и всё, что можно, автоматизировав, написав Bash-скрипты.
Шаг 1. Хостинг в аренду
- Вот это ссылка для получения скидки при заказе хостинга в аренду у firstVDS.ru
- Регистрация на хостинге, получение доступа в BILL-manager.
- Раздел на сайте со статьями по работе с firstVDS.ru
- Подробная статья о том, как заказать выделенный сервер VDS на хостинге firstVDS в BILL-manager
- Предустановленное ПО выбираем LAMP (это базовые программы для работы сервера из консоли без визуальных панелей управления типа ISP-manger).
- Если нужно, можно переустановить операционную систему на сервере с помощью VM-manager
Шаг 2. Первичные настройки сервера
- Подключаем доменное имя в DNS-manager (как его купить и настроить, если нужно, объясню по запросу)
- Устанавливаем и настраиваем у себя на компьютере PuTTY, подключаемся к своему серверу.
- Подготовка сервера к работе (настройка и установка нужных для работы программ)
- Прописываем официальный список репозиториев Debian в файл
/etc/apt/sources.list
на сервере - Устанавливаем Midnight Commander на сервер. Понадобится! =)
- Устанавливаем tree. Понадобится! =)
- Прописываем официальный список репозиториев Debian в файл
- Web-сервер Apache
- Установка Apache 2 на сервер
- Завершение конфигурации Apache на порт 8080
- Установка модуля Apache
apache2-mpm-itk
(libapache2-mpm-itk
) на сервер - Подключение модуля mpm-itk к Apache
- Web-сервер NGiNX
- Установка NGiNX на сервер
- Не важно (осталось от предыдущих версий)
- Создаём структуру дополнительных папок для файлов настроек сервера NGiNX для работы с виртуальными хостами
- Шаблон конфига NGiNX для связи с Apache, установленных сервере с Debian 9 (
apache24.conf
)
- Шаблон конфига NGiNX для связи с Apache, установленных сервере с Debian 9 (
- Готовый листинг получающегося конфига
nginx.conf
с настройками виртуальных хостов, сжатия, кеширования на стороне браузера и т.д.
- Ftp-сервер ProFTPD
- Устанавливаем ftp-сервер (ProFTPD)
- Первичная настройка и запуск ProFTPD
- Добавляем shell-оболочку
/bin/false
для ftp-пользователя
- Установка PHP
- Установка MySQL
- Установим MySQL с поддержкой PHP 7.3 и сразу поменяем пароль root для доступа к MySQL
- Установка phpMyAdmin на сервер
- Поменяем кодировку таблиц новых баз данных по умолчанию (
50-server.cnf
) - Исправление ошибки в работе phpMyAdmin
Шаг 3. Создание виртуальных хостов для разных сайтов на одном сервере
- Изменение шаблона создания нового пользователя Debian
/etc/adduser.conf
- Ещё один шаблон конфига NGiNX для правильной работы phpMyAdmin с переадресацией запроса Apache (
phpmyadmin.conf
) - Конфиг для создания виртуальных хостов NGiNX на сервере
- Конфиг для создания виртуальных хостов Apache на сервере
- Настройка logrotate для веб-сервера (Apache+NGiNX) в Debian 9
Шаг 4. Финишная настройка сервера, работающего на связке NGiNX + Apache
- «Как передать реальный IP для Apache, работающем за прокси NGiNX»
- Подключение SSL-сертификатов, переход на HTTPs
- «Установка Certbot на сервер с Debian 9»
- «Регистрация в Let's Encrypt с помощью Certbot»
- «Настройка плагина Webroot для работы Certbot для получения SSL-сертификатов Let's Encrypt»
- «Настройка NGiNX для подтверждения прав на получение SSL-сертификатов Let's Encrypt»
- «Получение SSL-сертификата Let's Encrypt для домена с помощью Certbot»
- «Настройка виртуального хоста NGiNX для работы по HTTPs с SSL-сертификатом Let's Encrypt»
- «Автоматическое продление SSL-сертификата Let's Encrypt для доменов с помощью Certbot»
Видео, показывающее работу скрипта автоматической настройки сервера Debian 9, который выполняет автоматическое разворачивание и настройку необходимого ПО, в том числе Apache, NGiNX, FTP-сервера и др.
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)