Установка сайта на web-хост на примере Joomla!
Создайте пользователя сервера MySQL и базу данных для сайта. Никогда не указывайте пользователя root в конфигурации БД ваших сайтов! В целях безопасности на каждый отдельный сайт необходимо создать отдельного пользователя, который будет иметь доступ только к базе данных этого сайта. Права доступа пользователей различных сайтов не должны пересекаться. Не давайте пользователям БД глобальные привелегии — разрешайте только работу с базой данных отдельного сайта. Для создания базы данных и пользователя выполните в phpMyAdmin следующие действия:
- Перейдите во вкладку «Учётные записи пользователей» с помощью верхнего меню навигации.
- Нажмите на ссылку «Добавить учетную запись пользователя».
- Придумайте имя пользователя БД, введите его в соответствующем поле.
- В качестве имени хоста для повышения степени безопасности выберите «Локальный».
- Сгенерируйте сложный пароль.
- Перепишите имя пользователя и новый пароль.
- Отметьте галочкой «Создать базу данных с таким же именем и предоставить на неё все привилегии».
- Нажмите на кнопку «Вперёд» в правом нижнем углу.
Создайте пользователя операционной системы с помощью консольной команды adduser. Для этого пользователя будет также создан домашний каталог, находящийся в директории /home. В каталоге нового пользователя и должны размещаться файлы web-сайтов. Права на все файлы в домашнем каталоге пользователя должны принадлежать данному пользователю. Флаг --ingroup определяет группу по умолчанию, в которую входит этот пользователь. Если группа не задана, то будет создана новая группа, и её имя будет совпадать с именем пользователя. При создании нового пользователя необходимо будет определить для него пароль и ответить на необязательные вопросы, которые можно пропустить, если ввести пустые значения.
Создайте новый пул PHP для пользователя fil. Для этого скопируйте пул по умолчанию, а потом внесите в него изменения:
/etc/php/7.3/fpm/pool.d/fil.conf:
Создайте общий каталог для web-сайтов, а также каталог нового сайта (одной командой можно создать несколько директорий):
Создайте новый хост в конфигурационном файле Nginx /etc/nginx/conf.d/default.conf (при желании можно создать новый файл в этом же каталоге). Скопируйте уже имеющийся серверный блок тестового хоста и внесите в него изменения (выделено красным):
Директива try_files проверяет существование запрошенного файла — если его не существует, сервер проверяет существование запрошенной директории, если её не существует, сервер делает внутреннее перенаправление на индексный файл index.php. Корневая локация по умолчанию / соответствует любому файлу. Сервер направляет в локацию по умолчанию в том случае, если не было совпадений с указанными ниже локациями по регулярным выражениям, а также если не было точных совпадений.
Создайте запись для нового хоста в файле C:\Windows\System32\drivers\etc\hosts:
Для работы сайта могут понадобиться дополнительные расширения PHP. Установите их:
Перезагрузите Nginx и PHP, чтобы изменения вступили в силу:
Загрузите архив последней версии Joomla! CMS в папку временных файлов из официального репозитория GitHub
Распакуйте архив в директорию домашнего каталога нового пользователя. Обратите внимание на флаг -C (change), который меняет каталог назначения:
Так как операция по разархивированию производилась от имени пользователя root, необходимо сменить владельца вновь созданных файлов. В дальнейшем рекомендуется манипулировать файлами от имени пользователя, которому принадлежат данные файлы:
Установите Joomla! В настройках БД укажите имя пользователя и пароль созданного вами ранее пользователя MySQL. На этом всё: сервер готов к использованию. Желаю приятной работы!