Руководство по установке сервера

Coin

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

Если вы хотите поиграть на нашем сервере, то вот вам краткое описание установки GDPS на своё устройство, а также ответы на часто задаваемые вопросы. Версия сервера как и у оригинальной Geometry Dash — 2.11.

Как установить на Android-устройство?

Чтобы установить наш сервер на смартфон или планшет под управлением Android, вам нужно следовать этому плану:

  1. Проверить, чтобы ваше устройство поддерживало оригинальную Geometry Dash (её удалять не надо).
  2. Скачать игру по этой или этой (зеркало) ссылке. (приложение)
  3. Запустить скачанный «apk» файл. Не стоит волноваться, данный файл не имеет вирусов.
  4. Начать установку, согласившись со всеми условиями.
  5. Ждать окончания установки.

После успешной установки можно начинать играть.

Как установить на ПК?

Чтобы установить наш сервер на компьютер (ПК) под управлением Windows, вам нужно проделать следующие шаги:

  1. Проверить, чтобы ваше устройство поддерживало оригинальную Geometry Dash (её удалять не надо).
  2. Скачать игру по этой, этой (зеркало 1), или этой (зеркало 2) ссылке (архив). Если игра не скачивается, то нажмите правой кнопкой мыши по ссылке, и нажмите «Открыть в новой вкладке».
  3. Должен начать скачиваться архив. Не стоит волноваться, данный файл не имеет вирусов.
  4. Когда загрузка завершится, нужно либо распаковать архив и открыть файл игры (GDPS.exe, окончания «.exe» может не быть), либо открыть этот же файл игры прямо из архива. При распаковке из архива, нужно просто распаковать его содержимое в новую или свободную папку.

После успешной распаковки можно начинать играть. Для работы на Vista также возможно будет необходимо удалить файл winmm.dll в папке игры (окончания «.dll» тоже может не быть).

Как установить на iOS-устройство?

Для установки на iOS есть различные способы.

  1. Если у вас есть джеилбрейк, то просто скачайте файл любым браузером (например, Firefox) и установите через Filza или ReProvision. Любым способом, который вам известен. Если же у вас нет джеилбрейка, то установите, либо также есть другие варианты.

Варианты установки без джеилбрейка:

  1. Установка через Sideloadly: скачайте файл с компьютера, установите одной из программ на выбор. Игра будет установлена при помощи компьютера и будет работать неделю, после чего потребует переустановки.
  2. Установка через AltStore: скачайте файл на устройство, выберите в установленном приложении AltStore. При установке необходимо подключение к компьютеру со включенным AltServer’ом. Каждую неделю нужно снова подключаться к ПК и обновлять подпись безопасности в приложении, т.е. срок годности.

Более подробно установка будет описана позже. На данный момент требуется iOS 9 или новее.

Как начать играть?

Для начала надо создать свой аккаунт. Чтобы это сделать, вам нужно зарегистрироваться через саму игру (ввести никнейм, пароль и электронную почту). Можно выбрать любую почту, даже не существующую, ведь e-mail вообще не требуется для регистрации. После этого нужно зайти в аккаунт, используя выбранные вами никнейм и пароль. Готово! Теперь вы можете сохранять свой прогресс в игре на сервере.

Часто задаваемые вопросы

  • Что делать, если не получилось установить сервер?

Нужно написать в комментарии к данной статье.

  • Есть ли версии сервера на MacOS, другие ОС?

На данный момент, увы, нет.

  • Что делать, если нет звуков в игре?

Попробуйте создать на диске «C:» папку с любым названием и распаковать сервер туда.

  • Что делать, если есть звук в игре, но пользовательская музыка не показывается?

Зайдите в опции игры и поставьте галочку напротив параметра «Change custom songs location».

  • Точно ли в файлах приватного сервера нету вирусов?

Да, точно, можете не волноваться. Это гарантируют вам все игроки сервера.

  • Что делать, если не получается зарегистрироваться? (ошибки «Email is Invalid», «Login Failed»)

Это старая ошибка, которая уже была исправлена. Но если она всё равно у вас возникает — переустановите сервер.

  • Что делать, если онлайн-уровни и аккаунт не могут загрузится (ошибка «Something went wrong»), когда Интернет есть?

Очень редко происходит и такая ошибка. Чтобы всё было как прежде — нужно подождать или переустановить сервер.

  • Почему я не могу сохранить прогресс в аккаунте (ошибка «Backup failed»)?

У вас скорее всего проблемы с Интернетом.

  • Где скачать и как использовать FPS Bypass?

FPS Bypass идёт в комплекте с игрой. Откройте папку или архив с ней, и там будет файл FPS_Bypass. Откройте уже его. Если игра открыта, то у вас появится окно, в котором можно будет вводить нужный вам FPS (вводить целыми числами). Чтобы применить его, нажмите кнопку «enter».
Работает только с Windows 7 или старше, необходим установленный Visual C++ 2017 (уже установлен на Windows 10)

  • Можно ли загрузить свою музыку и использовать её в уровне?

Да, можно. Подробности можете прочитать здесь.

  • Можно ли каким-нибудь волшебным образом войти через аккаунт оригинальной Geometry Dash?

Нет, обычным путём нельзя. Это возможно только через файлы игры и грозит баном.

Привет, Хабр! Относительно недавно после пары лет перерыва в айти, потраченных на изучение японского языка, мне пришлось срочно обновлять свои знания на работе. Ну знаете, искать возможности исполнить все хотелки начальника, как и положено эникею. Меня ждало много увлекательных открытий, но при этом, как водится, и немало боли и борьбы с непонятками. 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, при желании всегда можете разобраться в конкретике.

Схема работы обратного прокси Ngnix в случае контейнеров

Схема работы обратного прокси Ngnix в случае контейнеров

Рекомендую я, конечно, домен купить. Цены на домены в популярных зонах достаточно либеральные, платить раз в год, регистраторов куча. В плане выбора регистратора я ничего конкретного советовать не буду. Адекватнее всего ориентироваться по цене и отзывам. Разве что маленькое наблюдение: если регистратор требует миллиарды шекелей за такие вещи, как банальное управление 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 сила!

Установка веб-сервера на Windows Server

Лично я предпочитаю пользоваться веб-сервером на .nix системах, но иногда бывает необходимо развернуть web-сервер на Windows. Рассмотрим такой вопрос как установка веб-сервера на Windows Server. На примере Windows Server 2012. Хотя в остальных версиях процесс установки особо не отличается.

Первым делом нужно установить IIS. Делается это довольно просто. Диспетчер серверов -> Управление -> Добавить роли и компоненты -> Установка веб-сервера (IIS). Подробнее в видео.

Тег video не поддерживается вашим браузером.
Скачайте видео.
Создайте тестовую страницу, откройте блокнот, напишите любой текст и сохраните в C:Inetpubwwwroot под названием Default.html (в моем случае это txt файл — Default.html.txt).

Настройка веб-сервера

Создайте тестовую страницу, откройте блокнот, напишите любой текст и сохраните в C:Inetpubwwwroot под названием Default.html (в моем случае это txt файл — Default.html.txt).

Что бы настроить web-сервер откройте Диспетчер служб IIS: Пуск -> Администрирование -> Диспетчер служб IIS. Слева будет отображаться web-узел по умолчанию.

Веб-узел по умолчанию

Для добавления web-страницы по умолчанию нужно выбрать сервер, а затем выбрать Документ по умолчанию.

Документ по умолчанию

Далее нам нужно узнать (если не знаем) IP-адрес сервера. Для этого заходим в PowerShell и выполняем команду – ipconfig /all.

PowerShell windows 10

Запускаем браузер и набираем IP-адрес и названием страницы по умолчанию. В моем случае это 169.254.252.180/Default.html.txt.

Проверка работоспособности веб-сервера

Попробуйте открыть эту страницу с другого рабочего места в сети. Открытие веб-страницы с другого ПК

Создайте новый web-узел. Создайте папку для нового сайта на диске C. В моем случае это папка www. Создайте в папке тестовую страницу (как Default.html ранее). Удалите текущий узел, щелкните правой кнопкой мыши на узле «сайты» и выберите команду «Добавить веб-сайт».Новый сайт в браузере

Добавить веб-сайт

Заполните поля:

  • Имя сайта.
  • Физический путь.

Добавление нового сайта

Нажмите ОК и проверьте работоспособность сайта на сервере.

Новый сайт в браузере

Проверьте работоспособность сайта на другом компьютере в сети.

Новый сайт на другом компьютере в сети

Установка FTP-сервера

Установите FTP-сервер. Он устанавливается так же, как и веб-сервер IIS (Диспетчер серверов -> Управление -> Добавить роли и компоненты -> FTP-сервер).

Завершение установки FTP-сервера

В диспетчере служб IIS нажмите «Добавить FTP-сайт». Откроется окно добавления нового FTP-сайта. Задайте имя сайта и физический путь.

Имя FTP-сайта и физический каталог

Укажите параметры привязки SSL.

Параметры привязки SSL

Настройте разрешения. Предоставьте пользователям разрешения на чтение информации и на запись.

Настройки разрешений

Далее необходимо создать виртуальный каталог веб-сервера. Это необходимо для того, чтобы веб-сервер мог получить доступ к корневому каталогу службы FTP.
Добавить виртуальный каталог

Задайте псевдоним и физический путь. Обычно они совпадают с именем и (test) и каталогом сайта (C -> www).

Настройки брандмауэра

Для того, что бы FTP соединение работало корректно нудно настроить брандмауэр.

Откройте брандмауэр в режиме повышенной безопасности.

Брандмауэр в режиме повышенной безопасности

В вертикальном меню слева выберите Правила для входящих подключений.

Настройка брандмауэра

Выберите в вертикальном меню справа Создать правило. Выберите тип правила: Преопределенные: FTP-сервер. Далее установите все правила.

Правила FTP-соединения

Далее выберите действие — разрешить подключение.

Разрешить подключение

Подключитесь с помощью FTP с другого компьютера в локальной сети. Для этого наберите в браузере: ftp://IP-адрес сервера после чего введите логин и пароль от сервера.

FTP-соединение

FTP-соединение установлено!

FTP-соединение с сервером

Итак, в этой статье мы рассмотрели такую тему как установка веб-сервера на Windows Server. Если у вас появились вопросы обязательно задайте их в комментариях.


Анатолий Бузов

Анатолий Бузов / об авторе

Обучаю HTML, CSS, PHP. Создаю и продвигаю сайты, скрипты и программы. Занимаюсь информационной безопасностью. Рассмотрю различные виды сотрудничества.


Что такое сервер с точки зрения комплектующих? Тот же ПК, только представлен зачастую в другом корпусе, а железо полностью ориентировано на безотказность и нагрузки в режиме 24/7.
Конфигурация сервера зачастую произвольная, поскольку полностью зависит от возлагаемых на машину задач, хотя сценарий монтажа и тестирования в большинстве случаев одинаков. О том, как происходит сборка и запуск сервера расскажем подробно в нашей статье.


За подбор комплектующих отвечает системный администратор, выполняющий сборку по спецификациям с учетом особенностей платформы.

В корпусах типа Tower или Rack (1U/2U/4U) чаще всего можно наблюдать классическую картину:

  • 1 или 2 процессора под массивными радиаторами;
  • оперативная память с поддержкой коррекции ошибок;
  • грядка дисковых/твердотельных накопителей;
  • графический адаптер;
  • плата скоростного сетевого подключения;
  • различные контроллеры (RAID, звук и т.д.).

И все это подпитывает один, а то и парочка блоков питания с горячей заменой.

Также в задачу профильных инженеров входят сверка серийных номеров оборудования, регистрация в учетной записи клиента, полная первичная настройка сервера и тестирование системы на стрессоустойчивость. Но это вкратце. Далее расскажем о процессе подробнее.

Порядок монтажа оборудования

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

NB! наденьте специальные диэлектрические печатки и заземляющий браслет. Статика — это не только веселые трескучие вспышки, возникающие, когда снимаешь свитер в темноте, но и смерть для комплектующих.

Шаг 1. Установка материнской платы

Первым делом коробку готовят к установке материнской платы и дополнительных модулей расширения. Для этих целей в корпус вкручивают шестигранные латунные стойки на соответствующие места. Они слегка приподнимают текстолит над металлической крышкой, чтобы избежать короткого замыкания. Дополнительно между МП и стенкой прокладывают диэлектрик. Параллельно не забудьте удалить заглушки с той части корпуса, куда будут «выглядывать» разъемы карт расширения.

Вооружившись все теми же перчатками, достаньте материнскую плату из коробки. Если в ней стоит батарейка CMOS (BIOS/UEFI) — уберите ее на время. Дополнительные меры предосторожности от статики и КЗ по конденсаторам и цепям питания. Ремонтировать долго, дорого, и никто потом спасибо не скажет за простой.

Шаг 2. Инсталляция процессоров

Пока основная плата еще не прикручена — самое время начинить ее процессорами. Обратите внимание, что LGA-сокеты Intel и AMD не просто так защищены пластиковой крышкой. Подошва ЦП примыкает к огромному количеству контактов-ножек на плате. Малейшая неосторожность и быть беде. Вооружитесь инструкцией, которую к своим товарам прикладывают всем производители материнских плат и процессоров. Особенно, если ранее не делали этого самостоятельно.

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

Полностью подготовленная плата ставится в корпус на ранее вкрученные латунные проставки. Их количество и расположение должны идеально соответствовать крепежным отверстиям на МП. И не стоит проверять текстолит на прочность — он этого не оценит.

Далее, пока вам ничего не мешает, подключите питающие кабели, грядку USB и других портов передней/задней панелей, кнопки перезагрузки. Стяните провода стяжками, чтобы аккуратно уложить их в узком пространстве корпуса. На этом базовая часть завершена.

Шаг 3. Установка плат расширения и рабочих модулей

Первое, на что стоит обратить внимание — оперативная память. Мало того, что ее стандарт и рабочая частота должны соответствовать спецификациям процессора, так еще и слоты для установки на плате играют роль. Само собой, если вы не решились забить все гнезда плашками ECC-памяти.

Каждый производитель материнских плат предоставляет подробную инструкцию по работе ОЗУ:

  • в двухканальном режиме;
  • в трехканальном режиме;
  • в четырехканальном режиме и т.д.

Чем больше каналов — тем выше пропускная способность. Допустим, один канал демонстрирует работу на скорости 25600 МБ/с (характерно для DDR4 3200 МГц). В двухканале показатель удвоится до 51200 МБ/с, а в четырехканале и вовсе возрастет до 102400 МБ/с.

В целом, у ОЗУ есть ряд технических ограничений, которые необходимо строго соблюдать:

  • недопустимо нечетное количество планок, иначе скорость работы сильно снизится;
  • объем и частота ОЗУ должны быть идентичны для всех плашек;
  • закупите модули от одного производителя, чтобы избежать проблем с совместимостью;
  • внимательно изучите характеристики процессора, чтобы не переплатить за ОЗУ.

Информация касается как чипов Intel, так и AMD. Если вы не уверены в особенностях работы серверной оперативной памяти — обязательно проверьте спецификации к процессорам.

Последний этап сборки — подключение плат расширения в плоты PCI-E (RAID-контроллеры, графические ускорители, сетевые платы). Для них также предусмотрены специальные посадочные гнезда, коннекторы и шлейфы.

И перед закрытием крышки не забудьте вернуть на место все вентиляторы системы охлаждения, которые изъяли из корпуса. На современных серверах они модульные и с магнитными креплениями, поэтому о них периодически забывают.

Первый запуск и установка ПО

Как узнать, что железо работает? Включить сервер и подождать. Только не забудьте монитор подключить. Если картинка есть — значит сборка проведена успешно. Осталось убедиться в нюансах:

  • все планки ОЗУ подключены верно;
  • провода питают все необходимые элементы;
  • сервер видит все комплектующие;
  • нет необходимости срочно менять дефектные устройства.

В качестве ПО можно использовать набор тестов ODSL Database Test Suite или аналоги. Нашли дефект, BSoD или нерабочий порт? Самое время сказать об этом дистрибьютору. А если все в порядке — самое время установить серверную операционную систему, а также ряд программ для нагрузочного стресс-теста (Memtest 64, AIDA 64, OCCT, Prime 95, Stress-ng или POSIX Stress).

Так вы поймете, как обстоят дела с температурой, скоростью, пропускной способностью памяти и сети. Появятся мысли насчет будущего апгрейда.

Стоит ли сегодня заниматься самостоятельной сборкой и настройкой сервера? Только в том случае, если у вас крайне ограниченный бюджет. Мы же рекомендуем обратиться к специалистам по ряду причин:

  • все возможные дефекты железа устраняются нами же;
  • сборка проходит несколько циклов тестирования;
  • комплектующие идеально совместимы между собой;
  • самое свежее ПО для работы;
  • гарантия на сервер в сборе.

Остались вопросы? Не стесняйтесь задавать их консультантам компании Market.Marvel. Мы предложим оптимальные сборки сервера под нужды вашего бизнеса. Также предоставим необходимую информацию о совместимости компонентов, предложим решения по увеличению быстродействия оборудования. В любой момент вы можете обратиться за консультацией к специалистам нашей компании, и мы ответим на все интересующие вас вопросы.

Apache — это пользующийся заслуженной популярностью веб-сервер для платформ семейства Linux. Однако иногда по различным причинам возникает необходимость установить его на ОС Windows. Поэтому Apache был портирован на Windows. На данный момент есть несколько таких проектов:

  • ApacheHaus
  • Apache Lounge
  • BitNami WAMP Stack
  • WampServer
  • XAMPP

Рассмотрим установку Apache Lounge на Windows Server 2016. Остальные ставятся по аналогии, так как программы под Windows поставляются в виде установочных файлов, либо просто в виде собственно исполняемых файлов. Прежде всего скачиваем и устанавливаем исполняемые библиотеки Visual C для Вашей версии ОС по ссылке.

Потом скачаем сам дистрибутив с сайта apache по следующей ссылке. Распакуйте zip-архив. В нем есть папка Apache24 которая содержит весь веб-сервер Apache — исполняемые файлы, библиотеки, документацию и другое.

Веб-сервер apache

Эту папку надо распаковать туда, где вы хотите расположить Ваш веб-сервер, например на один из локальных дисков. Это можно сделать просто копированием — вставкой, так как в Windows интегрирована полная поддержка Zip-архивов. После этого откроем командную строку Windows нажав комбинацию клавиш Win+R и введя туда cmd.

Командная строка

В открывшемся окне пишем c:Apache24binhttpd -k install — то есть полное имя до исполняемого файла Apache вместе с путем (так называемое Абсолютное имя файла). Это установит Apache как системный сервис — службу — Windows.

Также как Apache для Linux, основной файл конфигурации называется httpd.conf. Располагается он в подпапке conf веб-сервера, т.е в нашем случае c:Apache24confhttpd.conf.

Для первоначальной настройки необходимо раскомментировать строку ServerName — имя или ip сервера, а также порт apache для виртуальных хостов — в случае если сайт один достаточно просто раскомментировать. А также проверить параметр Listen — порт на котором работает Apache. Если ip не указан то Apache работать на всех ip-адресах данного хоста.

ServerName <Ваш ip адрес>:80 Listen <Ваш ip адрес>:80

Например:

ServerName 78.140.223.57:80 Listen 78.140.223.57:80

Затем запускаем командой c:Apache24binhttpd -k start.

Проверить что сервер запустился можно набрав в браузере http://78.140.223.57. Если хотите чтобы сайт был доступен из внешней сети необходимо настроить правило Firewall.

Для этого нажимите Win+R и введите в командную строку firewall.cpl

Firewall.cpl

Выберите в левом столбце “Дополнительные параметры”.

Дополнительные параметры firewall

В открывшемся окне повышенной безопасности перейдите в раздел “Правила для входящих подключений”, после чего нажмите “Создать правило”.

Создание правила

Создадим правило для порта 80.

Правило для 80 порта

Правило для 80 порта

Правило для 80 порта

Правило для 80 порта

На последнем шаге задайте имя правила. После этого можно соединяться по этому порту.

Соединение по порту

Теперь настроим PHP. PHP это распространенный язык программирования для веб. Скачать его можно с официального сайта. Оно также поставляется в виде zip-архива.Распакуем скачанный архив в отдельную папку. Например в c:apache24php.

Архив apache

Теперь еще раз поправим файл c:Apache24confhttpd.conf. Внесем туда следующие параметры в секцию LoadModule.

#Подключение модуля обработки php  для Apache
LoadModule php7_module "c:/Apache24/php/php7apache2_4.dll"
AddHandler application/x-httpd-php .php
# Путь к файлу php.ini
PHPIniDir "c:/Apache24/php"

Также поправим параметр DirectoryIndex — индексный файл сайта на Index.php, так как Мы будем использовать PHP.

DirectoryIndex index.php

Создадим индексный файл php файл c:Apache24htdocsindex.php выводящий версию php.

После этого еще раз перезапускаем Apache командой.

c:Apache24binhttpd -k restart

И проверим что php работает.

Завершение установки apachr

На этом установка и настройка Apache Lounge на Windows Server 2016 окончена. В нашей базе знаний вы найдёте ещё множество статей посвящённых различным аспектам работы в Windows, а если вы ищете надежный виртуальный сервер под управлением Windows, обратите внимания на нашу услугу — Аренда виртуального сервера Windows.

Последнее обновление: 20.04.2022


Средняя оценка: 5,0, всего оценок: 4
Спасибо за Вашу оценку!
К сожалению, проголосовать не получилось. Попробуйте позже

Понравилась статья? Поделить с друзьями:
  • Магнитола jsd 520 инструкция на русском
  • Квадрокоптер syma x22sw инструкция на русском
  • Пособие по руководству проектами
  • Должностная инструкция охранника магазина в торговом центре
  • Jin suo gu jing wan инструкция