Выбор серверной схемы

Итак, вы соединились с сервером через SSH и наблюдаете командную строку в терминале, зашли на сервер при помощи SFTP клиента и видите каталоги операционной системы. Если вы до этого момента ни разу не работали с Linux, то можете поначалу растеряться, потому что в отличие от Windows, в Linux нет привычных логических разделов, или дисков, а структура файловой системы начинается с единого «корня». Поэтому суперпользователь в Linux называется пользователем root (англ. корень) — он имеет полный доступ ко всем файлам и каталогам файловой системы начиная с её «корня», и вы зашли на сервер именно под этим пользователем. Пока мы настраиваем систему, можно действовать от пользователя root, но в дальнейшем, в целях безопасности, этого делать не рекомендуется – лучше создать другого пользователя и дать ему sudo привелегии (права суперадминистратора), а пользователя root заблокировать вовсе.

Теперь мы можем приступить к установке минимального набора программ для web:

  • HTTP сервер Nginx
  • Cервер MariaDB (MySQL)
  • PHP-7 с интерфейсом FPM
  • Web-приложение phpMyAdmin

«Почему именно такой набор и нет Apache?» — спросят некоторые читатели. «И что делать без .htaccess?» Ответ: рассматриваемая серверная схема позволяет достигнуть высокой производительности и максимальной простоты в обслуживании. На сегодняшний день Apache испытывает со стороны web-специалистов серьёзную критику по вопросам производительности. Поэтому предпочтительным выбором будет Nginx в связке с PHP-интерпретатором через интерфейс FPM. Для специфических задач можно использовать другие компоненты и добавить их по мере необходимости, например, тот же Apache можно использовать вместе с Nginx по схеме обратного проксирования.

Установка приложений в OS Linux осуществляется двумя способами: первый способ — это их загрузка из официальных и неофициальных репозиториев, второй — ручная установка после компиляции из исходного кода. Установка из репозиториев не требует компиляции — вы загружаете уже готовые приложения, а установщик автоматически распаковывает файлы в нужные директории. Компиляция приложений из исходного кода может потребоваться для специфических целей. Предпочтителен именно способ установки из репозиториев, потому что таким образом проще поддерживать систему и обновлять приложения.