Привет! Мы — Penguin-team, агентство контекстной рекламы, а это — наш блог по бизнесу, маркетингу и РРС. Каждый месяц мы выпускаем гайды, статьи и инструкции о том, как работать с eCommerce, брендировать, настраивать Google Рекламу и другие каналы трафика.
Наш блог читают маркетологи, SEM-специалисты и предприниматели; его рекомендуют на SEMConf и других конференциях.
Еще больше уникальных материалов — в рассылке 👇 Подписывайтесь!
Получать еще больше уникальных материалов 👉🏻
Спасибо за подписку!
Настройка VPS для новичков: пошаговая инструкция со скринами на примере
25.04.2019
11 минут
middle
Александр
ex php backend developer
Минимум слов. Максимум дела.
В одном письме в месяц
7-дневный курс по Google Ads (Junior+)
Иногда проекты уже не могут размещаться на обычных хостингах — в силу технических ограничений и возможности настройки. Помочь может переезд на VPS.
Если вы работаете в маленькой компании, у вас может не оказаться в штате системного администратора, который смог бы быстро развернуть VPS и настроить окружение под проект. Приходится брать все в свои руки — и эта статья поможет.
Сейчас мы разберем, как настроить VPS под себя, даже если вы еще не занимались подобными вещами и не имели дела с UNIX/LINUX OS.
Вся инструкция рассматривается на реальном примере. Вот наши вводные условия:
- хост Digital Ocean;
- RAM 2 Gb;
- SSD Disk 50 GB;
- операционная система Centos 7.
Первым делом нужно создать новый дроплет — в этом поможет инструкция на Digitalocean. После создания дроплета вы получите письмо с root-доступами к системе на почту. Теперь все в ваших руках: в вашем распоряжении прямой доступ к операционной системе, а значит, и аккуратность не помешает.
Пользователи и группы Linux
Для начала — краткое объяснение, что такое пользователи и группы в Linux системах, которая позволит понять, как работают права доступа в системе.
Пользователи
Пользователь — это любой, кто пользуется компьютером. Пользователю назначается имя, имя должно быть уникальным в системе.
В linux есть зарезервированные имена, такие как «root», «hal», и «adm».
Имя может состоять из букв английского алфавита, арабских чисел, нижнего пробела (_) и точки (.).
Root (от англ. root — корень), он же суперпользователь — это аккаунт в UNIX-подобных операционных системах с идентификатором (UID) 0. Владелец этого аккаунта имеет право на выполнение любой операции. В целях безопасности работать под суперпользователем root не рекомендуется.
Помимо системного имени, в систему можно внести и хранить полное имя пользователя. К примеру, пользователь newuser в реальной жизни — некий Валентин Пингвиночкин. Указание полного имени помогает сисадмину идентифицировать пользователей и лучше контролировать работу, тем более, если пользователей сотни или даже тысячи.
Под каждого пользователя создается свой каталог — home directory. Пользователь попадает в него после авторизации; в каталоге хранятся его личные файлы и папки. Все каталоги собраны в одном месте, обычно в /home.
Также система назначает пользователю:
- командную оболочку — командный интерпретатор, используемый в операционных системах семейства UNIX. Например, /bin/bash, /bin/zsh, /bin/sh и так далее. У многих дистрибутивов linux для пользователей по умолчанию назначается командная оболочка bash;
- идентификационный номер (User ID). Сокращенно номер обозначается как UID и является уникальным идентификатором пользователя. Операционная система отслеживает пользователя именно по UID, а не по имени;
- пароль для входа в систему. Пароль хранится в зашифрованном виде (encripted). Для создания и изменения пароля используется команда passwd. Системный администратор может сам назначить пароль или дать возможность пользователю ввести свой пароль при первой авторизации.
Группы
Кроме пользователей, для разграничения прав в linux используются группы. Так же, как и пользователь, группа обладает правами доступа к тем или иным каталогам, файлам, периферии (в системе есть зарезервированные группы). Для каждого файла определен не только пользователь, но и группа. Группы группируют пользователей для предоставления одинаковых полномочий на какие-либо действия.
Каждой группе назначается уникальный идентификационный номер (group ID, он же GID). Принадлежность пользователя к группе устанавливается администратором.
Давайте подробнее рассмотрим каждую из групп, чтобы лучше понимать, зачем они нужны:
- daemon — от имени этой группы и пользователя daemon запускаются сервисы, которым необходима возможность записи файлов на диск;
- sys — открывает доступ к исходникам ядра и файлам include, сохраненным в системе;
- sync — позволяет выполнять команду /bin/sync;
- games — разрешает играм записывать свои файлы настроек и историю в определенную папку;
- man — позволяет добавлять страницы в директорию /var/cache/man;
- lp — позволяет использовать устройства параллельных портов;
- mail — позволяет записывать данные в почтовые ящики /var/mail/;
- proxy — используется прокси-серверами, не имеет доступа к записи файлов на диск;
- www-data — запускает веб-сервер, она дает доступ на запись /var/www, где находятся файлы веб-документов;
- list — позволяет просматривать сообщения в /var/mail;
- nogroup — используется для процессов, которые не могут создавать файлы на жестком диске, а только читать; обычно применяется вместе с пользователем nobody;
- adm — позволяет читать логи из директории /var/log;
- tty — все устройства /dev/vca разрешают доступ на чтение и запись пользователям из этой группы;
- disk — открывает доступ к жестким дискам /dev/sd* /dev/hd*, можно сказать, что это аналог рут-доступа;
- dialout — полный доступ к серийному порту;
- cdrom — доступ к CD-ROM;
- wheel — позволяет запускать утилиту sudo для повышения привилегий;
- audio — управление аудиодрайвером;
- src — полный доступ к исходникам в каталоге /usr/src/;
- shadow — разрешает чтение файла /etc/shadow;
- utmp — разрешает запись в файлы /var/log/utmp /var/log/wtmp;
- video — позволяет работать с видеодрайвером;
- plugdev — позволяет монтировать внешние устройства USB, CD и т.д.;
- staff — разрешает запись в папку /usr/local.
Создание нового пользователя
С системой разобрались, время создать нового пользователя с возможностью выполнять команды от имени sudo.
Шаг 1. Войдите на свой сервер как пользователь root.
ssh root @ server_ip_address
Шаг 2. Используйте команду adduser, чтобы добавить нового пользователя в вашу систему. Обязательно замените username тем пользователем, которого вы хотите создать.
adduser username
Используйте команду passwd для обновления пароля нового пользователя.
passwd username
Установите и подтвердите пароль нового пользователя в командной строке. Надежный пароль настоятельно рекомендуется!
Set password prompts:
Changing password for user username.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Шаг 3. Используйте команду usermod, чтобы добавить пользователя в группу wheel.
usermod -aG wheel username
По умолчанию в CentOS члены группы wheel имеют привилегии sudo.
Шаг 4. Проверьте доступ sudo к новой учетной записи пользователя. Используйте команду su для переключения на новую учетную запись.
su — username
Как новый пользователь, убедитесь, что вы можете использовать sudo, добавив «sudo» к команде, которую вы хотите запустить с привилегиями суперпользователя.
Например, вы можете перечислить содержимое каталога /root , который обычно доступен только пользователю root.
sudo ls -la /root
На этом первоначальная настройка будет закончена, дальше переходим к выбору панели управления сайтом. В нашем случае была уже пару раз опробована система Centos Web Panel. Она довольно легко устанавливается и настраивается, кроме того, в ней есть множество встроенных функций, которые позволяют быстро настраивать рабочее окружение.
Установка Centos Web Panel (CWP)
Перед установкой Centos Web Panel нам нужно будет установить службу wget, которая будет использоваться в будущем.
Для этого выполните в консоли команду:
После установки пакетов можно приступать к установке панели управления. Для этого выполните команды:
Дождитесь установки. После нее вы сможете зайти в панель, используя адрес http://SERVER_IP:2030/. На этом сама установка панели управления закончена.
Настройка Centos Web Panel
В этом разделе я постараюсь максимально подробно рассказать, какие основные настройки вы должны выполнить в CWP, чтобы она была полностью рабочей и вы могли размещать в ней свои приложения.
Первый шаг — самые основные настройки панели.
В этом разделе укажите email для получения уведомлений и IP-адрес, если он будет отличаться от адреса по умолчанию.
Следующий этап — настройка системы резервного копирования. НЕ ЗАБЫВАЙТЕ ее делать. Бекапы могу спасти ваш проект в трудный момент.
Для настройки зайдите в пункт меню Backup Configuration и выставьте свои настройки. Самые простые настройки, которые можно выставить вначале, будут выглядеть так:
Установка PHP и выбор веб сервера
Теперь вам необходимо установить версию PHP, которая подойдет для вашего приложения. Для этого идем в пункт меню PHP Selector 2 (NEW) и выбираем версии PHP.
Установка может занять длительное время, будьте готовы к этому. После нее вы можете указать основную версию PHP, которая будет использоваться в системе. Это делается вот здесь:
Переключение тоже займет время.
Выбор веб-сервера
После установки и настройки PHP нужно указать веб-сервер, который будет использоваться. Это можно сделать здесь:
Конфигурации сервера запишутся сами.
Последний этап — создание пользователя, от имени которого система будет работать. Это делается здесь:
Вот и все! Теперь вы сможете свободно создавать домены (поддомены) для загрузки своих приложений.
Статья была полезна? Ставьте ♥ и сохраняйте в закладки!
103294
79
11 минут
49453
35
6 минут
43981
42
10 минут
43417
58
8 минут
41609
30
12 минут
ex php backend developer
Ex-пингвин. Ранее активно занимался разработкой интернет-магазинов, созданием продуктов, API сервисов. Дополнительно занимался преподаванием курса php для новичков в течении 1,5 года.