402

Создаем свой собственный хостинг не потратив и копейки

Хотели бы вы узнать, что такое веб сервер? Или же впервые в жизни "потрогать" виртуальную машину? А может вам просто интересно, как выглядит хостинг? С любовью для пикабушников постараюсь рассказать обо всем по немножко. 

Disclamer: Данный материал является ознакомительным и рассчитан на людей, которые только начинают свой путь в мире IT технологий. Технические подробности всего раскрываться не будут(но на вопросы отвечу). Следующий материал является прямым скриптом, как сделать веб хостинг. И небольшая просьба, если вы добавляете в сохранки, оцените пост, тем самым вы даете мне понять, следует ли делать подобные гайды.

Что нам потребуется?
1. Виртуальная машина (далее ВМ) - VMWare
2. Любой компьютер, на который мы установим ВМ
3. Дистрибутив Ubuntu 18.04 LTS. Что бы не пугать вас, лучше скачайте Desktop image, она имеет графическую оболочку, а не только консоль.

Первым делом устанавливаем нашу программу виртуализации - VMWare. Запускаем ее и нажимаем "Создать новую ВМ". Выбираем скачанный дистрибутив

Full name и user name - по вашему желанию. Жмем далее, "Имя ВМ" и путь хранения ВМ - по вашему усмотрению. Размер выделяемой памяти оставляем по умолчанию(можно снизить до 10 гб), жмем далее.

В последнем пункте жмем Customize Hardware. Т.к. вы будете работать в самой ВМ и ее виртуальной оболочке, стоит увеличить значения пункта Processors до 4.

В пункте Network Adapter выбрать значение Bridged и установить галочку Replicate.

Жмем Close > Finish. Дожидаемся окончания установки ОС. Когда ОС установилась, открываем терминал комбинацией клавиш Alt+Crtl+T или же в нижнем левом углу жмем на Show Application и пишем в поиске  - Terminal.

Далее нам следует получить права супер пользователя, в терминале вводим команду sudo su и вводим пароль, который вы указывали при установке системы.

Сначала мы обновим ОС до актуальной версии. Вводим в терминал команду:

apt-get update && apt-get full-upgrade -y
Вы превосходны! Теперь вы имеете готовую машину, для создания веб сервера. Далее мы и установим наш веб сервер Nginx.

apt-get install nginx

После установки вы можете посмотреть его статус с помощью команды

systemctl status nginx

Примечание: Пример управления процессами в ubuntu - systemctl stop\start\status\reload

Собственно, веб сервер уже находится в активном состоянии и вы даже можете зайти на свой "сайт". Для этого вам стоит узнать локальный адрес своей виртуальной машины. Что бы его узнать, вводим в терминал:

ip a | grep inet

127.0.0.1 - это localhost, адрес вашего компьютера по умолчанию, если так можно выразиться. Нам нужен тот, который начинается(в большинстве случаев), с 192.168.*.*

Копируем наш адрес, вставляем в браузер виртуальной машины или своего компьютера, без разницы. и мы увидим автоматически сгенерированную страничку HTML при установке Nginx

Файлик этот лежит в /var/www/html/

Что бы его отредактировать, введите

nano /var/www/html/index.nginx-debian.html

При вводе пути каталогов вы можете нажимать Tab, что бы автоматически заполнялось существующее имя. Например /var/ww *жмем таб* выводится /var/www/. Так же если вы не знаете, что находится в данном каталоге, но если хотели бы узнать, нажмите таб дважды, например /var/ *2-x tab*:

Примечание: перемещение по каталогам осуществляется с помощью утилиты cd. Если вы не работали с терминалом - краткое пособие

Выйти из редактора можно комбинацией клавиш Crtl+X. nano - это текстовый редактор, аля блокнот в винде, только этот в терминале.

Теперь нам нужно показать наш "сайт" всему миру, верно? И еще бы денег не потратить, ведь их и так нет. В этом нам поможет сервис с бесплатными динамическими DNS серверами. Он выдаст нам бесплатно доменное имя на 30 дней, его потом можно так же вручную продлевать на 30 дней.

Сперва нам следует выяснить одну вещь. Как вы подключены к интернету. Кабель идет на прямую в компьютер или в роутер. На этом этапе нам придется заниматься сложными, для новичка, вещами - port mapping или проброс портов.

1. Кабель в компьютер на прямую(или через свитч).
Открываем yandex.ru/internet. Копируем графу IP V4. На своем компьютере запускаете консоль от имени администратора и вводите команду:

netsh interface portproxy add v4tov4 listenport=8080 listenaddress=YouIPv4  connectport=80 connectaddress=IP адрес вашей ВМ
Эта команда перенаправляет весь трафик поступающий конкретно на ваш компьютер из интернета, на порт nginx-a, который находится в ВМ. Более подробно про проброс - тут

2. Если у нас кабель идет из роутера в компьютер.

Сначала нам следует залогиниться в веб интерфейс вашего роутера, для каждого роутера это индивидуальный процесс, придется погуглить. Внутри роутера, обычно на главное странице, есть его собственный IP адрес. Он то нам и нужен, его скопируйте и отложите не на долго. Далее нам следует найти "Переадресацию". В условиях переадресации нужно добавить следующее правило:

Перенаправлять весь трафик с порта 8080 на порт 80, IP адрес вашей ВМ. В моем случае IP адрес 192.168.0.102, протокол TCP.

Идем на сайт noip.com, регистрируемся, заходим в раздел DynamicDNS.

Жмем кнопку Create Hostname.

Вводим имя нашего хоста и выбираем любой Free Domain. В IPv4 вводите адрес либо своего ПК, если подключены на прямую, либо своего роутера, если подключены через роутер.

После создания домена информация на серверах noip может обновляться до суток, но обычно в течении 5 минут все заводится.

Остается финальный штрих, ввести наш новосозданный адрес, и убедиться, что все работает :)
Вводить следует так: ИмяВашегоСайта:8080

Например pikabu.ru:8080

Congrasulation! 

P.S. Если статья зайдет, я могу рассказать, как сделать переход без порта 8080, как подключить ssl сертификаты, что бы быть правильными мальчиками и девочками, ходить по 443 порту, редиректить все с http 80 на https 443, как правильно настроить фаервол, как привинтить купленный домен и даже закинуть конструктор сайтов, про который я писал статью, на свой хостинг. Хорошего дня, спасибо что прочитали мой гайд до конца, не забываем про плюсики и комменты :)

P.S.S. Вообще веб сервер можно развернуть и на своем собственном компьютере, без виртуалки, но лучше все делать сразу правильно. Не стоит засорять свой бастион мусором, это ваш центр управления, а не тестовая площадка.

0
DELETED
Автор поста оценил этот комментарий

Ubuntu + apache под chroot

Автор, придумай что-нибудь ещё сложнее. VMware... Чем VirtualBox не угодил?

Дальше я эту портянку даже не читал.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

В чем проблема? Создайте свою статью, лучше чем мою. Увидев рейтинги ваших постов, я сразу увидел талант написания статей

показать ответы
0
Автор поста оценил этот комментарий
Комментарий удален.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

@moderator, реклама

1
Автор поста оценил этот комментарий

Хочу добавить, что у гугла в облаке 1 машинка с 1(0.2) vCpu и 600МБ оперативки стоит бесплатно при выходе траффика до 10ГБ в месяц. Для личного использования хватит за глаза

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Даже не слышал про такое
1
Автор поста оценил этот комментарий
Хмм. А можешь сделать свою инструкцию?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Ща он тебе расскажет, что нужно купить сразу норм хостинг, а лучше бейр метал, домен, въебать сразу весь сервак оркестратором, если ты сайт захочешь там разместить, то обязательно ещё туда кластер влепим, а то негоже боярам бичевские мускули со скриптоваными бекапами юзать, туда же ещё хеш хранилище въебенить надо будет и вот тогда заебись будет, вот это богоугодная хуйня выйдет, как раз для новичков
показать ответы
3
Автор поста оценил этот комментарий

Не надо. Это для обучения только, а так трэш столетний. Ну какой нафиг vmware когда есть WSL например в 10 встроенный, в разы проще. Да и под винду про IIS рассказать нелишне и так же интересно.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Что изменится для новичка, от того, что он установит WSL? Что поменяется от цвета велосипеда? Я тупой, не шарю, расскажите

показать ответы
0
Автор поста оценил этот комментарий

Не соглашусь)

Не, если вы поднимаете именно что песочницу - ок)

Но в прод такое пускать такое себе решение.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Эх, сейчас бы учить людей на пикабу в прод выпускать продукты :D

Решено! Следующая статья будет про CI\CD и Jenkins, ящетаю, мои подписчики после этой статьи уже готовы говорить о таких вещах

показать ответы
DELETED
Автор поста оценил этот комментарий

Всё. Прощай.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

yaoming.jpg

1
Автор поста оценил этот комментарий

Он полностью бесплатный и для него не требуется серверного железа.

Попробуйте накатить ESXi6.7 u3 на обычное железо..

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ты не ответил на мой вопрос :)

показать ответы
0
DELETED
Автор поста оценил этот комментарий

Я не люблю баянить.

https://help.ubuntu.ru/wiki/web-server

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

@moberator говорят, если что то было даже не на пикабу, это уже баян

показать ответы
5
Автор поста оценил этот комментарий

Почему не Proxmox напремер?

Лучше выделить под это дело отдельный хост, натянуть прокс и все)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Что поменяется, если я дам пользователю новичку велосипед серого цвета, а не черного? Я просто сделал песочницу, в которой пользователь даже если накосячит, он может просто удалить все без последствий

показать ответы
0
Автор поста оценил этот комментарий

Давай Докер, кубернейтс и всячиские ансабли пили

Ну и про Git туда же)

Курс молодого бородатого DevOPS

раскрыть ветку (1)
Автор поста оценил этот комментарий

Да я на самом деле только сам погружаюсь туда :) А кубернетес пока мне не светит, мы еще не на столько мощная организация, что бы еще и его внедрять

показать ответы
1
Автор поста оценил этот комментарий
Хорошая статья, сохраню на будущее
раскрыть ветку (1)
Автор поста оценил этот комментарий

Увы, сейчас самые могучие админы набегут, закидают меня тапками и расскажу как надо, только не скажут вам, как это сделать :)

2
Автор поста оценил этот комментарий

Ему не нужно будет прыгать вокруг виртуалки, установки ОС и ресурсов на неё, можно начинать сразу с apt update будет.

И конкретно про vmware есть косяки, много косяков с драйверами интеграции. Потому тут уж лучше точно хотя бы virtualbox.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Я даже интереса ради установил wsl и вот что он выдает после установки nginx-a. И я даже гуглить не хочу, что ему не нравится. Плюсом это отклоняется от моего замысла. Я не хочу, что бы человек-пользователь засорял свою ОС всяким непотребством. Хотя система виртуализации в качестве обучения тоже считается своего рода мусором... Крч сложно

Иллюстрация к комментарию
показать ответы
9
Автор поста оценил этот комментарий

Один ключевой вопрос - зачем пиратить vmware?

Virtualbox да WSL, с WSL всё проще, а пойдёт даже для продакшна.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Пиратить? VMWare Workstation 15 Player - 15 ВМ бесплатно запускай и радуйся жизни. Естественно нон комерс

показать ответы
0
Автор поста оценил этот комментарий

И кстати да, самое очевидное что не сразу даже до меня дошло. Если уж учить современному - какие нафиг ОС итд. Строго контейнеры.

https://docs.docker.com/docker-for-windows/

Он сам скачает и поставит хост виртуализации полный и на нём уже будет плясать с docker, знай файлы подкладывай.

https://habr.com/ru/company/infobox/blog/265231/

раскрыть ветку (1)
Автор поста оценил этот комментарий

Да-да, статья рассчитана на людей, которые умеют работать в unix системах, спасибо что прочитали внимательно статью...

Иллюстрация к комментарию
показать ответы
2
Автор поста оценил этот комментарий

Лучше не надо. Инструкция годная для развлечения, для нормального сайта, даже для портфолио - не годится.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Да, ты все верно сказал, тут очень много чего не хватает для полноценного хостинга
0
Автор поста оценил этот комментарий

По этой инструкции можно опубликовать сайт в интернете на этом сервере?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Да мы, собственно, уже опубликовали :) Если положить вместо /var/www/html/index.nginx-debian.html каталог сайта, вы увидите сайт. Только туда еще надо базу данных прилепить и ssl серты, но если вы собираетесь что то выводить на прод, то я не рекомендую эту статью, она служит исключительно для ознакомительных целей.

показать ответы
2
Автор поста оценил этот комментарий

У тебя в этой статье больше работы в linux системе чем в той статье по факту.

А ещё ты приплёл netsh, консоль от администратора даже не рассказав как запустить итд...

раскрыть ветку (1)
35
РукиЖопы
Автор поста оценил этот комментарий

ебобо-инструкция... нахуя нужен vmware если есть встроенный с винду(в которую автор устанавливает vmware) hyper-v да и та же убунту уже есть внутри винды? Нахуя вообще виртуалку для "своего хостинга"? - для безопасности? сомневаюсь что о безопасности автор вообще думал. Нахуя линукс для сайта из пизды? - тот же nginx есть и под винду. в этой же, сука, винде есть и IIS с гуевой настройкой всего блеать. Про то что большинство операторов физикам уже давно отдают серые адреса и вот эта гомосятина с noip и dyndns не сработает автор тоже наверное не слышал раз забыл упомянуть. Ух как бомбит от таких инструкций =(

раскрыть ветку (1)
Автор поста оценил этот комментарий
Тебе сразу Роскосмос вызывать? Судя по количеству выхлопа, ты уже где то в районе стратосферы
показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества