Как желание научиться верстать превратилось в поднятие собственного VPS (часть 1)
Привет! Я - Klaway, можно и Klawaechka). И вы читаете эту статью на моём личном блоге. Это моя первая статья будет про то, как желание научиться верстать простые странички превратилось в поднятие своего собственного VPS и обучению системному администрированию. Данная статья подойдёт для тех, кто только хочет поднять свой первый VPS или хочет узнать о тонкостях простым языком.
В данной статье я не буду писать замудрёными словами и вставлять страшные (на первый взгляд) команды, от которых у первопроходца может отбиться всё желание.

Предыстория. Я начал делать сайты и полноценные веб-приложения с помощью ИИ и разворачивал их на мощностях известного провайдера с оранжевым облачком. Однако, когда я решил научиться верстать сам, я понял, что я хочу параллельно посмотреть, а что же такое этот VPS. Я арендовал самый дешевый vps на openvz (запомните) и настроил его с помощью того же ИИ, точнее просто тупо копировал все команды не думая. У меня даже получилось включить UFW и залить туда ту самую страничку (kropp.edu.klaway.dev). Но первые проблемы начались тогда, когда я решил прикрутить https. Из-за того, что я взял VPS без выделенного ip адреса, я стоял за NATом провайдера. То есть, когда я включал по инструкции с интернета https у меня всегда был 302 редирект обратно на http. И тут я начал думать. В итоге оказалось, что для того чтобы на VPS активировать https нужен обязательно выделенный ip, потому что если у вас его нет то провайдер должен обязательно делать проброс портов для того чтобы направить трафик на ваш VPS. Оказалось, нельзя просто перенаправить зашифрованный трафик (443) на обычный (80). Браузер ждет "секретное рукопожатие", а сервер на 80 порту его делать не умеет. В итоге они просто не понимают друг друга, и сайт не открывается.

После того как я разобрался с https я решил полностю переустановить сервер и развернуть его заново для того, чтобы хоть как-то научиться это делать самому. И тут начались проблемы с UFW. При его включении у меня выпадали различные ошибки, связанные с iptables. Когда я начал разбираться в чём же дело, оказалось что эти ошибки возникают из-за того, как именно работает тот самый openvz. Дело в том что OpenVZ использует общее ядро для всех контейнеров и самого сервера. И ошибки были потому что UFW просто не мог вносить свои изменения в системные файлы iptables, так как он один на весь сервер. Благодаря этому я узнал что такое виртуализация и какая разница между OpenVZ и KVM. Естественно, я переехал на сервер уже с KVM где ufw запустился с первого раза!

После этого я сразу же сгенерировал SSH ключи и отключил вход по паролю. Это необходимо для того, чтобы обезопасить сервер от автоматических атак ботами. Но с отключением пароля тоже возникла проблема. Когда я в файле конфигурации ssh (/etc/ssh/sshd_config) отключил пароль (PasswordAuthentication no), я решил проверить, а отключился ли он. Спойлер: нет. Оказывается, мой хостинг-провайдер засунул в папку /etc/ssh/sshd_config.d свой конфиг, в котором пароль был включён (PasswordAuthentication yes). Он просто перекрывал изначальную настройку в /etc/ssh/sshd_config. Важный совет: при включении или отключении каких-либо функций желательно проверить, дейсвительно ли применились изменения и смотреть не только в основной конфиг, но и в папку .d при её наличии.

Если вы дошли до конца статьи - поздравляю, вы сдедали первый шаг в освоении этого ремесла. В последующих частях я расскажу какое программное обеспечение можно установить на VPS для комфортного администрирования и масштабируемости.