Часто бывает, что новички, которые решают приобрести облачный сервер для веб приложения, не знают с чего начать его настройку. В данной статье я постараюсь пошагово описать какие действия необходимо произвести в первую очередь на новом сервере.
В первую очередь подключаемся к серверу по ssh, используя предоставленные провайдером данные для входа:
1ssh root@0.0.0.0
Здесь 0.0.0.0 - ip вашего облачного сервера, root - имя пользователя.
На всякий случай меняем пароль для root пользователя с помощью команды:
1passwd
Обновляем систему:
1apt-get update
2apt-get upgrade
Т.к. рутового пользователя лучше не использовать из-за его привелегий в соображениях безопасности, создаем нового пользователя с имененм newusername и добавляем его в группу sudo:
1adduser newusername
2adduser newusername sudo
Запретим root пользователю подключаться по ssh. Для этого отредактируем файл sshd_config.
1nano /etc/ssh/sshd_config
В файле меняем настройку PermitRootLogin на No. Затем рестартуем сервис sshd с помощью команды:
1systemctl restart sshd
Для того, чтобы подключаться с локальной машины по ssh к серверу без ввода пароля, нужно сгенерировать на локальной машине пару ключей (публичный и приватный), если их там нет, командой:
1ssh-keygen -t rsa
Если ключи уже есть, то шаг можно пропустить. По умолчанию они создаются в папке /home/username/.ssh/.
Затем в облачном сервере переходим в папку /home/newusername/.ssh, открываем файл authorized_keys или создаем, если его там нет. И затем комируем в него текст, который содержиться в локальном файле /home/username/.ssh/id_rsa.pub
Опицинальный шаг - отключаем пароль от sudo. Если вам лень постоянно вводить пароль при запуске какой-либо команды с помощью sudo, то можно отключить это. Вводим команду:
1sudo visudo
В этом файле ищем строку %sudo ALL=(ALL:ALL) ALL и меняем на %sudo ALL=(ALL:ALL) NOPASSWD:ALL
Устанавливаем файервол:
1sudo apt-get install firewall-cmd
Открываем необходимые порты на машине:
1firewall-cmd --zone=public --add-port=80/tcp --permanent
2firewall-cmd --zone=public --add-port=443/tcp --permanent
На этом базовая настройка завершена. Далее можно переходить к установке необходимых пакетов и программ и настраивать приложения. Я обычно настраиваю далее nginx и docker.