Как создать сервер на пк?
Здравствуйте, подскажите кто-нибудь , как хранить сайт у себя на отдельном компьютере, дело в том, что сайт работает с изображениями, их с каждым днем в среднем на 20 тысяч больше, а у регистраторов существуют ограничения на количество файлов и с каждым разом приходится платить больше и больше, что не имеет смысла, к тому же максимальное количество у них это около 10 млн файлов . Возможно ли реализовать открытие сайта со своего пк, какой нужен, на сколько это сложно в реализации и какие минусы по сравнению с услугами регистраторов ?
- Вопрос задан более трёх лет назад
- 30141 просмотр
Комментировать
Решения вопроса 0
Ответы на вопрос 5

Системный администратор
Не регистраторов, а хостеров, всё же.
Ограничения, обычно на общий объём а не количество файлов. Если в вашем случае это не так, возможно надо просто сменить хостера.
Решения проблемы:
В первую очередь, лучше найти адекватного хостера, тариф и ограничения которого будут вас устраивать. Просто потому, что остальные варианты будут сложнее и не факт, что дешевле.
Второй вариант аренда vps, или даже сервера. Его надо будет настроить, за ним надо будет следить. Для этого нужно немало знаний, соответственно, придётся кому-то платить за эту работу.
- нет надёжного канала — каналы провайдеров намного хуже чем в ДЦ.
- нет надёжного питания — даже если у себя поставить UPS, то оборудование провайдера-то всё равно наверняка отключиться, при отключении питания в доме.
- нужно держать постоянно включённый комп, желательно отдельный, что может быть очень не удобно, и он кушает электричество, кстати. =)
- требуется канал с белым ip, который может быть сложно получить у вашего провайдера и он будет заведомо дороже.
Покупка компа и обеспечение минимальных требований покроет расходы на хостинг на много лет, если не десятков лет. =) Т.е. это будет и работать будет так себе, и выгодно не будет.
Ответ написан более трёх лет назад
Нравится 5 5 комментариев
magic_healthy_hair @magic_healthy_hair Автор вопроса
Борис Сёмов спасибо большое за ответ, тогда подберу хостинг у которого нет ограничения на количество файлов

magic_healthy_hair, ни разу не видел хостеров с ограничением на количество файлов. У всех обычно ограничение на объём.
Согласитесь, что есть разница между 1 млн файлами но 1Гб каждый и 1 млн файлов по 10Кб?

CityCat4 @CityCat4 Куратор тега Сетевое администрирование
Developer, Есть задрипанские хостеры, которые хотят на всем заработать. Сталкивался с такими. TC — меняй хостера. Свой сайт, конечно можно держать, а иногда и нужно, но все проблемы, которые описал Борис Сёмов — они действительно имеют место быть. Не все правда из них проблемы, но канал будет однозначно хуже и с питанием проблема точно будет.
Несколько лет держал сайт на домашнем сервере, до сей поры был бы там если бы не пришлось съехать. В городах как правило хороший интернет протянут в дома и отключения света не так уж и частое. Внешний IP всего 100 рублей доплаты в месяц. Говорю на основе реального опыта, а не догадок.
YaroslavMik @YaroslavMik
Ничего подобного, в таких случаях гораздо дешевле использовать домашний сервер. Стоимость статичного IP 100 руб в месяц, а оборудование провайдера не отключится если его так же подключить к UPS.
Надежность канала у ДЦ и провайдера домашнего интернета очень спорный вопрос.
Если сложить все расходы на домашний сервер и услуги хостинга которые в любом случае будут увеличиваться с объемом данных на сервере, а частенько еще с растущей инфляцией, то расходы на домашний сервер будут в разы, повторяюсь в разы ниже.
Но в таком случае необходимы навыки настройки и обслуживания такого сервера которые вполне легко можно получить в процессе.
Я бы рекомендовал купить б/у сервер с парой ксеоновских процев, в среднем стоимость такого сервера около 10 000 — 15 000 руб, окупится достаточно быстро только за счет экономии, и как правило такие проекты как у автора вопроса не делаются в гуманитарных целях, а носят коммерческий характер, вложится один раз и получать прибыль от деятельности и экономии вполне рационально.
Домашний веб-сервер для чайников

Привет, Хабр! Относительно недавно после пары лет перерыва в айти, потраченных на изучение японского языка, мне пришлось срочно обновлять свои знания на работе. Ну знаете, искать возможности исполнить все хотелки начальника, как и положено эникею. Меня ждало много увлекательных открытий, но при этом, как водится, и немало боли и борьбы с непонятками. Docker, контейнеры, реверс DNS и реверс прокси, получение TLS сертификатов. В какой-то момент я наконец дошёл до удобного решения, которым я теперь хочу поделиться.
В своё время домашний сервер очень облегчил бы мне понимание Docker’а, да и удобство работы с ним неслабо бы повысил. Поэтому возникла идея написать эту статью, после прочтения которой любой человек даже с поверхностными знаниями в информационных технологиях сможет поставить себе постоянно доступный домашний сервер на базе Docker Swarm с удобной веб-мордой, простым получением TLS-сертификатов и Heroku-подобным функционалом (для чего будем использовать PaaS CapRover).
Статья, в общем-то, рассчитана на новичков, обладающих какими-то техническими знаниями — школьников старших классов, студентов и просто любителей — а потому вряд ли будет интересна серьёзным профессионалам.
Зачем оно нужно?

Ну как минимум потому что это круто, иметь домашний сервер! Да и настраивать всё это дело интересно. При этом он уже за месяца три отобьёт свою стоимость в сравнении с VPS’ом схожей конфигурации. Ну и наконец он просто радует глаз и миленький.
Что же до использования — иметь возможность развернуть в пару кликов дома Docker-контейнеры сразу в формате http://контейнер.мой.домен/ и в ещё один клик подключить к нему SSL неплохо упрощает жизнь. Сейчас всё больше и больше разнообразных приложений и сервисов переезжают в контейнеры и, если вы не любите лишний раз платить большим компаниям, иметь свои аналоги платных сервисов на домашнем сервере это очень удобно.
Ну а удобство для разработчиков и так понятно.
Подготовка
Поскольку мы хотим, чтобы наш домашний сервер был доступен из внешней сети, нужно сделать несколько приготовлений.
Port Forwarding

Проверьте наличие у вашего маршрутизатора (роутера) опции Fort forwarding/Port mapping/Перенаправление портов. Это не самый безопасный, но самый простой способ дать нашему серверу путь во внешний мир. Убедитесь что 80, 443 и 3000 порты у вас ничем не заняты — именно их вы будете прописывать IP адресу вашего сервера. Возможно в будущем, например, если вы захотите поднять почтовый сервер, вам придётся прописать дополнительные порты, но пока нужно только это.
Если проводить аналогию для понимания перенаправления портов, то представьте работу мамы в детстве. По умолчанию охранник туда не пустит, но стоит только сказать волшебную фразу «Я к маме», как строгий охранник уже пускает и говорит куда пройти. Вот и тут так же, с нашим NAT’ом роутера, только вместо «Я к маме» вы говорите порт, на что вас направляют куда надо.
Так же стоит убедиться, что у DHCP вашего роутера есть возможность зарезервировать выданный IP адрес за MAC. Скорее всего ваш сервер будет стоять включённым всё время и не просрочит свой выданный IP адрес, но подстраховаться никогда не бывает лишним. Если нельзя — выпишите машине статичный IP вне зоны выдачи адресов DHCP. Это сложнее и неудобнее, но тоже вариант (Кто-то даже скажет что так даже лучше сделать. Но я сейчас за простоту).
Нету этих опций? Возможно ещё не всё потеряно. Проверьте базу https://dd-wrt.com/support/router-database/ на наличие вашего роутера и есть ли тема по нему на 4pda. Если и там пусто. Ну, либо сворачивайте это руководство, либо пора купить новый роутер.
Домен

Конечно, ничто не мешает нам обращаться к нашему домашнему серверу и напрямую по IP адресу, но делать так не рекомендуется: и не особо безопасно, и запоминать IP адрес не просто, да и если у вас динамический, меняющийся каждый раз как вы заново подключаетесь к интернету, IP адрес, то запоминать его вообще бессмысленно. Ну и наконец, у нас много сервисов планируется, а чтобы к ним доступ был тупо по IP адресу, придётся их на разные порты навешивать. Оно вам надо?
Именно поэтому мы будем использовать домен.
Ну, знаете, ту самую штуку, которую вы вводите в адресной строке. В результате сможем давать сервисам поддомены для удобства и не страдать. Ну, например https://пароли.мой.домен/ для парольного сервиса или https://почта.мой.домен/ для почты. Удобно, в общем, запоминается. Делать это будет Ngnix под капотом нашего PaaS, при желании всегда можете разобраться в конкретике.

Рекомендую я, конечно, домен купить. Цены на домены в популярных зонах достаточно либеральные, платить раз в год, регистраторов куча. В плане выбора регистратора я ничего конкретного советовать не буду. Адекватнее всего ориентироваться по цене и отзывам. Разве что маленькое наблюдение: если регистратор требует миллиарды шекелей за такие вещи, как банальное управление DNS записями, то возможно это не очень хороший регистратор и следует посмотреть в другую сторону.
Впрочем если вы только пощупать пришли, то домен можно получить и бесплатно. Есть такой регистратор — Freenom, там можно бесплатно достать домен в зонах .tk, .ml, .ga, .cf или .gq. Правда как часто бывает с чем-то бесплатным, сайт глючный. Если на проверке доменов у вас всё время пишется, что домен занят, попробуйте поставить сразу полный путь. То есть вводите в проверочное поле не мой_домен, а сразу, скажем, мой_домен.tk.
Очевидно, что если что-то досталось бесплатно, то и потерять его легко — отзывы у Freenom в этом плане далеки от хороших. Так что если планируете что-то серьёзное, то лучше домен себе всё-таки купить у регистратора. Однако для маленького домашнего сервера потенциальная потеря домена не критична.
Cloudflare

Тут мы уже входим в пространство вкусовщины. Вам ничто не мешает использовать и редактор DNS записей вашего регистратора или любой другой сервис управления DNS записями домена. Тут, на хабре, вон вообще CloudFlare раком интернета недавно называли. Но с другой стороны, CloudFlare даже в базовой, бесплатной версии имеет достаточно много приятных фишек, которые ваш регистратор скорее всего не предоставляет. Тут и какая-никакая защита от DDoS, кеширование, расширенные возможности управления доступом и так далее и в том же духе. Плюс в одном из следующих пунктов, когда мы поднимем контейнер для DDNS, будет использоваться именно CloudFlare (впрочем настроить DDNS с другим провайдером вроде DuckDNS — задача достаточно тривиальная).
Правда многие фишки пройдут мимо нас, поскольку проксирование у CloudFlare на wildcard-записи (ну, это записи включающие всё пространство имён *.мой.домен) не работает (ну, за бесплатно). Однако ничего не мешает потом, уже для отдельных сервисов, сделать конкретную запись и пожать все плюшки платформы. Ну или ещё лучше, если у вас статический IP адрес, вообще без DDNS обойтись.
Платформа
Физический путь

Удобство физического пути очевидно — стоит отдельная машинка, не мешает основной работе, радует глаз.
Если спросить, что же использовать как платформу, наверняка многие ответят Малинку (то есть Raspberry Pi). На мой взгляд это не самый лучший выбор для данного случая.
Raspberry Pi отлично подходят для самодельных решений разнообразной направленности, но по соотношению цена/производительность не являются каким-либо лидером. И, хотя сейчас уже множество софта доступно под ARM системы, под x86 программы всё-таки чувствуют себя постабильнее.
Кто-то захочет переоборудовать старую машину или собрать на старых Xeon’ах себе компьютер для веб-сервера. И это тоже вариант, хотя по потреблению электроэнергии не оптимальный.
Я же советовал бы купить для данных целей недорогой (или не очень дешёвый, если вы хотите постоянно запускать «тяжёлые» задачи на вашем сервере) мини-пк (иначе называемый неттоп). Доступные варианты с 8 гигабайтами оперативной памяти, четырёхядерным Celeron и SSD на 128 гигабайт можно найти за 150-200 долларов и этого более чем хватит для домашних задач. При этом он будет компактным, тихим, удобным в размещении, достаточно приятно выглядящим и с низким TDP. Даже в самые дешёвые модели обычно можно доставить как минимум один, а порой и два 2,5 дюймовых диска, так что как файловую помойку его, в общем-то, тоже можно использовать. Хотя лучше превратить его в личное облако, а как файловый сервер использовать отдельное NAS-устройство — для отказоустойчивого хранения большого количества данных форм фактор мини-пк не слишком располагает.
Помимо этого, если вы «наиграетесь» и решите, что оно не ваше, такому компьютеру будет легко найти место. Например поставить обратно Windows и отдать маме/тёте Вале из третьего подъезда. Для офисной работы и использования браузера он подойдёт прекрасно.
А если вы за чуточку большую цену взяли мини-пк с несколькими сетевыми портами, то сможете превратить его в невероятно мощный и функциональный маршрутизатор, поставив сверху OpenWRT, PFsense, ClearOS или ещё какую-нибудь систему для роутеров. Ну и вообще альтернатив много, когда и если наиграетесь с предложенным мной вариантом.
Сразу, правда, надо учесть: шансы, что у такой машинки не будет работать Wi-Fi под линуксом, мягко говоря, не самые маленькие. Так что планируйте проводное соединение.
Заранее погуглите, на какую клавишу вызвать boot menu у вашей машинки. А образ для установки, если вы на Windows, лучше всего на флешку записывать программой Rufus.
Виртуальный путь

Если у вас есть просто живой интерес к тому, что и как настроить, определиться надо ли оно или не надо, то настраиваем виртуальную машину.
Тут стоит провести некоторое разграничение в понимании, поскольку дальше у нас будут ещё и контейнеры Docker. Внешне и по структуре они очень похожи, но вот по использованию неплохо так различаются.
Виртуальная машина — это именно то, как оно звучит — компьютер, которой на самом деле не существует, живущий внутри нашего. Её в какой-то мере можно сравнить с картонной коробкой. Её нужно где-то достать, развернуть, заполнить. Она стоит и занимает место, даже если не до конца заполнена. И залезть внутрь этой коробки иначе как сверху достаточно проблематично.
А контейнер — это как пакетик из магазина. Вроде и служит примерно той же цели, что и коробка, но внутрь что-то положить и достать проще, укладывать по-особому не нужно,места много не занимает, и выкинуть не жалко, и продырявить просто. Говоря же чуть более нормальным языком — контейнер это такая недо-виртуалка, которая ведёт себя скорее как процесс программы.

Конкретный гипервизор (ну, программа, где ваши виртуальные машины создаются и управляются) — на ваше усмотрение. Лучше, конечно, использовать гипервизор первого типа (они, как правило, быстрее, поскольку работают “под” операционной системой, а не “над” ней, как гипервизоры второго типа), но нашему серверу это не очень критично.
Внимание, любители всяких игруль, мобильных и не очень, на Windows — большая часть гипервизоров конфликтуют с эмуляторами Android для игр и с некоторыми античит решениями. Нормально только Bluestacks для Hyper-V работает, так что заранее выберите, что вам важнее.
VirtualBox

Для начала распишу для VirtualBox, который доступен на всех основных платформах, хотя и не отличается высокой скоростью.
Нажмите на кнопку New (Создать) для создания новой машины, и, ориентируясь по своей логике, задайте все настройки — если что, то потом всегда сможете поправить. Правда, меньше чем 2 гигабайта оперативной памяти лучше не ставить.
После создания машины войдите в её настройки. В разделе Storage (Носители) добавьте ваш образ к дисководу (синяя иконка), а в разделе Network (сеть) поменяйте тип подключения на Bridged Adapter (Сетевой мост) и выберите сетевую карту, по которой к вам приходят интернеты, после чего сохраните.


Hyper-V

Поскольку сам я в основном пользуюсь Windows, то предпочитаю использовать Hyper-V — встроенный в Pro версию системы гипервизор первого типа. Если вы пользователь Windows, то вам я тоже его советую — как и положено гипервизору первого типа, он весьма радует своей производительностью.
Чтобы использовать Hyper-V, активируйте его в Turn Windows Features on or off (Включение или отключение компонентов Windows) и перезагрузите компьютер. Вероятно, вам ещё придётся включить аппаратную виртуализацию в BIOS, если вы ещё не делали это. Также необходимо создать в Hyper-V manager (Диспетчер Hyper-V) сетевой интерфейс, ведущий во внешнюю сеть. Кликните справа на Virtual Switch Manager (Диспетчер виртуальных коммутаторов), выберите External (Внешний) и нажмите Create Virtual Switch (Создать виртуальный коммутатор). Далее в настройках External Network (Внешняя сеть) выберите сетевую карту, по которой к вам приходят интернеты, а потом сохраните.


После этого создайте новую машину в Hyper-V manager (но только не создавайте «быструю» машину, там всё не слава богу), а потом пройдите в её свойства и отключите Secure Boot (если машина 2-ого поколения). Остальные параметры по вкусу, но меньше 2 гигабайт оперативной памяти лучше не ставить. Ну и как сетевой интерфейс, очевидно, нужно поставить свежесозданный.
Установка и настройка системы

При выборе дистрибутива для установки у нас есть некоторый выбор (Но свериться с поддерживаемыми платформами на https://docs.docker.com/engine/install/ не помешает). Официально докер рекомендуется ставить на Ubuntu, я обычно предпочитаю Debian, но нам в целом не принципиально. Однако возможные подводные камни я распишу только для этих двух дистрибутивов.
И да, если можете, то лучше напрямую смотрите инструкции. А то информация в интернете имеет привычку устаревать и есть шанс, что к моменту, как вы это читаете, всё уже десять раз поменялось.
В случае с Ubuntu скачайте Ubuntu Server — на сервере графический интерфейс ни к чему, вы даже не будете подключать к нему монитор после изначальной установки. При установке важный момент — НЕ отмечайте Docker в качестве установки по умолчанию. Иначе он поставится как snap пакет, будет глючить, тупить и вообще, зачем вам лишние проблемы, не дружите со snap’ами, это плохая компания.
После установки системы копипастим по одной эти строчки (вы же уже подключились по SSH, правда ведь? Если нет, то чуть подальше будет инструкция) или вбиваем вручную:
sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
При установке Debian не надо отмечать web server, поскольку в качестве него у нас Nginx внутри контейнера Docker’а с нашим PaaS работать будет.
После установки системы копипастим эти строчки:
sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
В общем скачайте что вам нравится, запишите на флешку при физическом пути, подключите к виртуалке при виртуальном и давайте, устанавливайте по инструкциям.
Помимо того, чтобы вводить команды вручную, вы можете использовать Ansible или другие системы для развёртывания, но данное руководство их проигнорирует, поскольку ничего сложного мы не делаем. Просто знайте, что если вам потребуется однотипно настраивать несколько машин, то можно по ssh удобненько это делать через Ansible. Но ssh игнорировать всё же не стоит, ведь как минимум подключившись к своей машине по нему, вы сможете тупо копипастить все команды из руководств, а не вводить вручную.
Ansible это достаточно важный инструмент для Linux-админа и, если вы планируете сдавать или хотя бы просто учиться на сертификации от RedHat, то он вам понадобится. Ну так, на будущее.
Ssh клиентов великое множество, я обычно пользуюсь встроенным в Windows OpenSSH (хотя он встроен, но в старых версиях Windows 10 может быть по-умолчанию отключен. Включается в Turn Windows Features On and Off (Управление дополнительными компонентами)). Просто открываете PowerShell и пишите:
ssh логин_в_linux@IPшник_сервера
А после вводите пароль своего пользователя. Тут стоит отметить, что использовать ssh с паролем это не особо безопасно (но зато проще всего), и, если у вас будет желание с этим разобраться, то лучше настроить ssh ключ.
Систему мы настроили, но не спешите ставить CapRover. Сначала вернёмся к роутеру. Найдите в нём ваш сервер и зарезервируйте его IP адрес в DHCP. Ну или поменяйте его на что-нибудь приятное и зарезервируйте. У вас есть чувство прекрасного, я уверен. После этого пропишите перенаправление с 80, 443 и 3000 портов маршрутизатора на 80, 443 и 3000 порты нашего сервера.
Вот пример того, как оно выглядит в моём роутере TP-Link:


Теперь идём к домену. Войдите в CloudFlare или DNS редактор вашего регистратора и создайте следующую запись:
Тип: A
Хост: *.ваш.домен
Запись: указывает на ваш внешний IP адрес

Если вы не знаете как узнать ваш внешний IP адрес, то посмотрите в настройках интерфейса, роутера, где угодно. Ну или наберите в поисковике что-нибудь вроде «мой IP», если копаться не хочется.
Можете сразу не отходя от кассы создать токен, если планируете динамически обновлять DNS при изменении вашего IP адреса.
Для этого пройдите по ссылке https://dash.cloudflare.com/profile/api-tokens и создайте токен со следующими свойствами:
Zone — Zone Settings — Read
Zone — Zone — Read
Zone — DNS — Edit
Include — All zones
Сохраните длинный Cloudflare API токен, но далеко не убирайте.

Всё, теперь заходим на сервер и пишем волшебную команду, которая поднимает нашу систему для управления контейнерами:
docker run -p 80:80 -p 443:443 -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover
Если вы плохо знакомы с Docker’ом, то тут мы запускаем наш первый контейнер — небольшой PaaS CapRover. Помимо этого мы даём портам в контейнере путь на волю (-p 80:80 -p 443:443 -p 3000:3000), позволяем контейнеру иметь доступ к демону Docker на хост-машине (-v /var/run/docker.sock:/var/run/docker.sock) и делаем так, чтобы папка из контейнера хранила своё содержимое в папке на хосте (-v /captain:/captain). Если так не сделать, то при перезапуске контейнера всё содержимое: настроечные файлы и другие данные нашего контейнера, потеряются навсегда. Так что никогда не забывайте указывать команду -v при работе docker в консоли, чтобы потом не плакать у разбитого корыта. Ну а caprover/caprover — это образ на Docker Hub.
Подождите немного и зайдите либо по айпи адресу, либо по адресу вашего домена:3000 (например http://мой.домен:3000), введите пароль captain42 . После этого тут же введите в нижнее поле ваш домен и нажмите Update Domain. Можете также нажать на Enable HTTPS, но вот на Force HTTPS не надо нажимать — Cloudflare и так трафик у вас (если вы оставили рекомендуемые настройки) с http на https переводит. Конфликтов на этом поводе нам не надо.
Настала пора запустить наш первый контейнер внутри PaaS.
Перейдите в веб панели в раздел Apps, нажмите на One-Click Apps/Database, найдите CloudFlare DDNS. Это достаточно простой контейнер, весь смысл которого сводится к тому чтобы раз в пять минут проверять, изменился ли IP адрес сервера, и, если изменился, обновлять DNS запись на CloudFlare.

После того как вы нажали на него, вы увидите много опций для ввода. Вообще говоря, чтобы всё заработало нам достаточно просто указать наш сохранённый токен CloudFlare и задать какое-нибудь имя. Но давайте всё-таки разберёмся, что именно мы видим.

А видим мы опции ввода так называемых переменных окружения. Не всех правда, а только тех, которые указал автор конфигурационного файла для CapRover. Значения из этих переменных контейнер может достать и использовать в своих целях, проще говоря через них задаётся начальная конфигурация контейнера.
Так вот, задайте какое-нибудь имя, вставьте ранее сохранённый токен и нажмите Deploy. Контейнер заработал. Теперь можете делать что угодно!
Чуть сложнее
Этот контейнер был простым, без веб доступа, но что у тех, к которым мы будем иметь доступ? Да в общем всё так же, разве что ещё можно включить https, задать домен, указать HTTP порт контейнера и включить websocket. Попробуйте, это просто и интересно!

Использование

И вот наконец у нас всё стоит и работает.
Зачем оно вам? Ну, если вы до сих пор не знаете — придумайте. Для установки в один клик в CapRover доступно множество приложений для повседневного использования. Например менеджер паролей Vaultwarden. Торрент-клиент Qbittorrent. Сервер Minecraft. Боты для Discord. Вариантов много.
Я, например, держу стол для игры в DnD с друзьями Foundry VTT, веб-интерфейс для пробуждение от спячки моего домашнего компьютера (чтобы потом подключаться по RDP), свой маленький гит на базе Gitea, удобный фронтэнд для чтения Reddit’а libReddit, веб-архив для закладок и ещё кучу всякой всячины для тестов и изучения.
Ничто не мешает вам самому поэкспериментировать с контейнерами, которых в списке ещё нет, а если результат будет удовлетворительным — опубликовать свой конфиг на Github среди других приложений для установки в один клик.
В самом начале мы установили SSH, так что если вы захотите более тонкой настройки, подключите и тыкайтесь. Советую также зайти на SSH через VS Studio Code с установленным расширением Docker’а, и установить его же сразу там на ваш сервер. Теперь наблюдать, управлять и чистить мусор в контейнерах гораздо удобнее.
Что дальше?
Возможно, вам уже хватило, вы поняли что это не ваше и вообще. Тоже неплохой результат. Возможно, вы просто хотели домашний сервер и получили его — опять же, к результату мы пришли. Или же вы хотите большего — и это тоже прекрасный результат! Надо понимать, что хотя Docker Swarm уже несколько протух, для небольших нагрузок, вроде домашнего использования, он подходит на отлично. А если вам мало, то, разобравшись как и что тут работает, вы можете медленно начать своё движение к изучению kubernetes.
Что можно посоветовать конкретного? Ну, если Docker вам интересен и хочется в нём разобраться поглубже, то вводный цикл статей от Microsoft достаточно приятно и наглядно объясняет как и что оно.
Если хотите покрупнее брать — и в Hyper-V получше разобраться, и в контейнерах и чуточку затронуть кубер, то вот ещё у них есть неплохие материалы.
Не, не, вы не подумайте, я хоть и виндовый админ (ну хорошо-хорошо, эникей а не админ), но не сказать чтобы прям топлю за Microsoft, просто материалы у них бесплатные и достаточно толковые, на мой взгляд.
Коли от Microsoft тошнит — ищите курсы. В англоязычных интернетах с этим проще — идёшь на Udemy или Pluralsight и выбираешь курс по теме, где люди поменьше в комментах бугуртят на качество, и в бой. С русскоязычными курсами посложнее в выборе, но кто ищет — тот найдёт.
Ну и наконец если в целом вся эта тема с сервисами на своём домашнем сервере вам интересна, то вот отличный список selfhosted решений на все случаи жизни.
В общем, да пребудет с вами IT сила!
Как создать локальный сервер на компьютере?
Создание собственного локального сервера на базе обычного персонального компьютера – занятие достаточно сложное и кропотливое. Здесь необходимо понимать следующие моменты:
- 1. Для чего создается сервер, и нужен ли вам вообще свой сервер. Это один из ключевых вопросов, требующий четкого и однозначного ответа от будущего администратора.
- 2. Какие технические ресурсы есть в вашем распоряжении, и какие будут необходимы для работы полноценного сервера. Минимальные технические требования для создания «добротного» сервера достаточно высоки: только оборудование обойдётся в 70 — 80 тыс. рублей.
Также учтите, что для нормальной работы ресурса (для которого вы планируете сделать свой сервер) нужно, чтобы компьютер — сервер был постоянно включен и работал без перебоев. Поэтому необходимо обеспечить соответствующий режим электропитания.
3. Какие денежные средства вы готовы тратить на создание и поддержку работоспособности сервера. Помимо обозначенных выше затрат «на железо» для создания полноценного сервера на компьютере требуется выделенный (статистический) ip адрес и высокая скорость приема и передачи данных (минимальным показателем является 10 Мбит\сек). Соответственно, за это придётся доплатить провайдеру и заключить дополнительный договор на оказание подобного рода услуг.
И прежде чем пытаться из компьютера сделать сервер нужно четко определить все эти нюансы.
Также стоит ознакомиться с тем, как сделать сервер из домашнего компьютера
Как сделать сервер из домашнего компьютера?
Чтобы создать свой сервер прежде всего нужно установить многопользовательскую сетевую операционную систему.
Выбор огромный: “Debian”, “FreeBSD”, “CentOS”, “OpenSUSE”, “Ubuntu”, “Windows” и многие другие.
В сети можно найти немало примеров тестирования в работе вышеупомянутых операционных систем и их рейтинг в соответствии с результатами тестов. К примеру, рейтинг «SOS» за 2016:
- 1 место: «Debian» и «Ubuntu Server»;
- 2 место: «CentOS»;
- 3 место: «FreeBSD» и «Windows Server»;
- 4 место: «Red Hat Enterprise»;
- 5 место: «Fedora».
Читайте еще: Локальная сеть через Интернет на базе CentOS-сервера с OpenVPN
Разумеется, львиную доля рынка сетевого софта составляют операционные системы, занимающие первое место в рейтинге. Поэтому чтобы в первый раз создать сервер на компьютере, рекомендуем остановить свой выбор на одной из них.
В рамках примера остановимся на установке операционной системы «Ubuntu Server».
Также рекомендуем ознакомиться со статьей как создать свой сервер для сайта
Как настроить локальный сервер с нуля на ubuntu?
1. Скачайте и занесите образ операционной системы на загрузочную флешку. С флешки загрузите компьютер: на первом этапе вам будет предложено выбрать язык.

2. Далее выберите «Установка Ubuntu Server» и нажмите «Enter»;

3. На следующих шагах выберите «Регион» и «Настройки раскладки клавиатуры»;

4. Укажите имя пользователя, учётной записи компьютера и пароль,

после чего нажмите «Продолжить»;

5. Далее укажите «Часовой пояс»,

настройте «Разметку Диска»

и выберите на какой диск устанавливается система;

6. Дождитесь завершения установки и обновления системы.
7. Выберите программное обеспечения, которое вам требуется для работы.

8. Подтвердите завершение установки, нажав на кнопку «Продолжить»;

9. После перезагрузки компьютера для входа в учётную запись потребуется ввести логин и пароль, созданный на шаге «4»;

10. На этом установка серверной операционной системы и первичное создание сервера завершены.
Далее требуется провести начальные настройки для работоспособности сервера (все настройки проводятся в консоли управления).
Как сделать себя админом на своем сервере?
- 1. Для получения администраторских прав введите команду «sudo su»;
- 2. По умолчанию сетевые настройки сервера поступают с помощью DHCP, но для работы сервера потребуется изменить значение «iface eth0 inet static» в файле «/etc/network/interfaces» на «статистический ip адрес». Текст должен выглядит примерно так:
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
Читайте еще: Cкрипт для копирования файлов из одной папки в другую
После сохранения перезагрузите сеть командой «/etc/init.d/networking restart».
Далее настройки носят опционный характер, и всё будет зависеть от цели создания сервера и функциональной части, которая вам от него необходима.
Как создать виртуальный сервер на своем компьютере
Я расскажу о том, при каких обстоятельствах понадобится виртуальный сервер, какие существуют программы для его создания и как взаимодействовать с ними.
Для чего нужен виртуальный сервер на компьютере
VDS-сервер (если быть точнее, локальный сервер), развернутый на локальном компьютере, пригодится при тестировании уже готового сайта, при внедрении в него новых скриптов и дополнений, которые окажут то или иное влияние на общую работоспособность проекта. Помимо тестирования, на виртуальном сервере происходит и отладка добавленных компонентов. У вас появляется возможность редактировать их под себя до момента релиза.
Однако стоит уточнить, что полноценную реализацию VDS-сервера на одном локальном компьютере все равно не развернуть, поэтому за помощью придется обращаться к программам для создания локальных серверов, которые и помогут обойтись без приобретения услуг на сторонних сайтах.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Создание локального сервера на компьютере
Приобретение VDS подходит в том случае, когда у вас уже есть готовый проект. Для тестирования же целесообразно использовать локальный сервер при помощи специальных программ. Одним из лучших решений можно считать OpenServer. Этот инструмент подойдет начинающим, поскольку легко устанавливается и настраивается. Ниже я даю ссылку на тематическую инструкцию, которая поможет разобраться с тем, как начать пользоваться этой программой.

Второй популярный вариант – Denwer. Это приложение еще более простое в использовании, оно позволяет запустить локальный сервер сразу же после установки, выполнив для этого всего несколько команд. Скачать Denwer можно с официального сайта , где разработчики любезно предоставили видеоинструкции для тех, кто впервые будет работать с данным решением. В этих руководствах есть ответы на все вопросы по поводу настройки и первого запуска Denwer.
Существует огромный список локальных серверов, доступных для установки как в Windows, так и Linux. Ознакомиться с ними можно в отдельной статье, перейдя по ссылке ниже.
Переход на виртуальный сервер
Выше вы ознакомились с информацией об организации виртуального сервера и подключении локального на своем компьютере. Из этого уже понятно, что все процессы довольно сложны и подходят только в определенных ситуациях. Зачем создавать сервер самостоятельно, когда за небольшую плату можно купить виртуальный сервер и использовать его для своих целей? Например, Timeweb предлагает высокопроизводительные VDS от 45 рублей в месяц.

Приведу несколько примеров, для чего нужен VDS-сервер, а в каких ситуациях он просто необходим.
- Организация безопасности сайта . При работе на виртуальных серверах у каждого участника своя операционная система и настройки межсетевого экрана. Соответственно, при взломе физического сервера хакер не сможет так просто получить данные сразу всех подключенных сайтов.
- При работе с интернет-магазином . Чаще всего для интернет-магазинов подключается услуга оплаты картой, а это значит, что клиент будет вводить свои банковские данные. В этом случае появляется требование перехода на безопасный VDS-сервер для одобрения PCI DSS сертификации.
- Ускорение работы сайта . Приобретение данной услуги позволяет ускорить сайт, особенно когда тот становится все больше и больше с каждым днем. Виртуальный сервер предоставляет больше ресурсов, за счет чего и происходит оптимизация работы.
Существуют и другие факторы, но это самые основные. Теперь вы можете сформировать полную картину того, нужно ли вам переходить на VDS-сервер или подойдет локальный вариант.
Можно ли самому запустить VDS-хостинг?
В сети есть много статей, рассказывающих о том, что создать VDS самому – не такая уж и сложная задача. Особенно если запустить его на своем компьютере и продавать. Хочу уверить, что это полный абсурд.
Разумеется, VDS или VPS-хостинг можно запустить самостоятельно, предоставляя услуги всем желающим, но точно не на своем компьютере. Это целый бизнес, требующий ответственного подхода, определенных знаний и вложений средств. Рассказывать об этом детально нет смысла, однако для общего развития уточню несколько основных деталей.
Выбор типа продажи виртуальных серверов и оборудования – с амый важный финансовый вопрос, поскольку он имеет несколько вариантов развития.
- Простой вариант – перепродажа купленного у стороннего провайдера виртуального сервера по более высокой цене (ресселинг). В этом случае нужно найти оптимального поставщика, который предоставляет надежный VDS. Сам хостинг должен предоставлять тарифную линейку серверов под разные нужды.
- Аренда физического сервера – дорогой вариант, но позволяющий разбить его на несколько VDS при помощи технологии виртуализации. При правильном подходе это позволяет сократить расходы и более гибко организовать всю систему.
- Можно разместить собственное оборудование в готовом дата-центре. Этот метод требует больших вложений, поскольку вы самостоятельно приобретаете все оборудование и находите место, где его разместить.
- Самый безумный вариант – построить свой дата-центр. Здесь уже речь идет о масштабном бизнесе с миллионами затрат и продуманным планом развития.
Следует посчитать все затраты, найти помощников или заняться организацией хостинга самостоятельно. Открыть его не так уж и просто, ведь это требует серьезного подхода. Обычному пользователю для тестирования своих сайтов этот вариант, естественно, не подойдет, поэтому предлагаю ограничиться локальным сервером.