Участник:Alfacom/Guide to VPS(VDS): различия между версиями

Материал из Chaotic Onyx
Перейти к навигацииПерейти к поиску
(Безопасность превыше всего!)
м (папки в шкафу стоят)
 
Строка 43: Строка 43:
  
 
# На основной машине идем на сайт BYONDa в раздел скачивания [http://www.byond.com/download/ http://www.byond.com/download/] где кликаем правой кнопкой мыши на стабильную или бета-версию клиента для Линукса и жмем "копировать адрес ссылки".
 
# На основной машине идем на сайт BYONDa в раздел скачивания [http://www.byond.com/download/ http://www.byond.com/download/] где кликаем правой кнопкой мыши на стабильную или бета-версию клиента для Линукса и жмем "копировать адрес ссылки".
# Затем в командной строке вашего VDS пишем '''wget''', ставим пробел и жмем правую кнопку мыши. Enter.
+
# Затем в командной строке вашего VDS пишем '''wget''', ставим пробел и вставляем ссылку. Enter.
 
# Через пару секунд закачка закончится и нужно будет выполнить команду '''unzip *_byond_linux.zip''' для распаковки архива.
 
# Через пару секунд закачка закончится и нужно будет выполнить команду '''unzip *_byond_linux.zip''' для распаковки архива.
# Теперь, чтобы установить BYOND надо выполнить '''cd byond && sudo make install'''.
+
# Теперь, чтобы установить BYOND надо выполнить '''cd byond && make install'''.
# Финальным действием удаляем ставшие ненужными папки с помощью команды '''cd .. && rm -rf *byond*'''
+
# Финальным действием удаляем ставшие ненужными директории с помощью команды '''cd .. && rm -rf *byond*'''
  
 
PS. Комбинация команд для установки BOYND одним движением:
 
PS. Комбинация команд для установки BOYND одним движением:
  wget [ссылка на линукс-версию BYONDa] && unzip *_byond_linux.zip && cd byond && sudo make install && cd .. && rm -rf *byond*
+
  wget [ссылка на линукс-версию BYONDa] && unzip *_byond_linux.zip && cd byond && make install && cd .. && rm -rf *byond*
 
Не забудьте убрать '''[''' и ''']'''.
 
Не забудьте убрать '''[''' и ''']'''.
  
Строка 57: Строка 57:
 
Теперь скачаем и скомпилируем код станции.
 
Теперь скачаем и скомпилируем код станции.
 
# На основной машине идем на гитхаб-страницу желаемой станции и жмем на кнопочку "Clone or Download". Там мы увидим ссылку на этот репозиторий, подозрительно похожий на ссылку на гитхаб-страницу. Разве что в конце будет стоять .git. Это ссылку надо скопировать.
 
# На основной машине идем на гитхаб-страницу желаемой станции и жмем на кнопочку "Clone or Download". Там мы увидим ссылку на этот репозиторий, подозрительно похожий на ссылку на гитхаб-страницу. Разве что в конце будет стоять .git. Это ссылку надо скопировать.
# Возвращаемся к полюбившейся(полюбившейся, ясказал!) командной строке и пишем '''git clone''', ставим пробел и жмем правую кнопку мыши. Enter.
+
# Возвращаемся к полюбившейся(полюбившейся, ясказал!) командной строке, пишем '''git clone''', ставим пробел и вставляем ссылку. Enter.
 
# Дожидаемся, когда закончится закачка...
 
# Дожидаемся, когда закончится закачка...
# Дождавшись, зайдем в папку со скаченным кодом. Для этого надо выполнить '''cd''', пробел и имя репозитория, что вы качали. Например, для блюбея, чей гитхаб открывается по ссылке [https://github.com/animusdev/Old-World-Blue https://github.com/animusdev/Old-World-Blue], имя репозитория и имя папки будет Old-World-Blue.
+
# Дождавшись, зайдем в директорию со скаченным кодом. Для этого надо выполнить '''cd''', пробел и имя репозитория, что вы качали. Например, для блюбея, чей гитхаб открывается по ссылке [https://github.com/animusdev/Old-World-Blue https://github.com/animusdev/Old-World-Blue], имя репозитория и имя директории будет Old-World-Blue.
# Зайдя в папку компилируем билд командой '''DreamMaker''', пробел и .dme файл. Его имя можно глянуть на гитхаб-странице вашей станции. У блюбея этот файл называется '''baystation12.dme''' Кстати, запомните имя вашего .dme файла, оно вам еще понадобится.
+
# Зайдя в директорию компилируем билд командой '''DreamMaker''', пробел и .dme файл. Его имя можно глянуть на гитхаб-странице вашей станции. У блюбея этот файл называется '''baystation12.dme''' Кстати, запомните имя вашего .dme файла, оно вам еще понадобится.
 
# Скомпилировав без ошибок переходим к запуску станции. Для этого используем код '''DreamDaemon [имя .dme файла].dmb [порт] [опции]'''. Для блюбея это было бы '''DreamDaemon baystation12.dmb 2506 -invisible -logself -trusted'''. Заметьте, все опции начинаются со знака '''-'''
 
# Скомпилировав без ошибок переходим к запуску станции. Для этого используем код '''DreamDaemon [имя .dme файла].dmb [порт] [опции]'''. Для блюбея это было бы '''DreamDaemon baystation12.dmb 2506 -invisible -logself -trusted'''. Заметьте, все опции начинаются со знака '''-'''
 
## Рекомендованные опции  
 
## Рекомендованные опции  
 
##* invisible - не показывает сервер в клиенте BYONDa, в итоге зайти на ваш сервер можно только по прямой ссылке вида byond://ip-адрес:порт
 
##* invisible - не показывает сервер в клиенте BYONDa, в итоге зайти на ваш сервер можно только по прямой ссылке вида byond://ip-адрес:порт
##* logself - создает файл [имя .dme файла].log с логом событий в папке с кодом станции. Полезен при выявлении проблем с запуском и работой сервера станции.
+
##* logself - создает файл [имя .dme файла].log с логом событий в каталоге с кодом станции. Полезен при выявлении проблем с запуском и работой сервера станции.
##* trusted - доверенный режим, позволяет использовать файлы не только в папке с кодом станции. Если не доверяете проекту, то лучше не использовать.
+
##* trusted - доверенный режим, позволяет использовать файлы не только в директории с кодом станции. Если не доверяете проекту, то лучше не использовать.
  
 
PS. Комбинация команд для скачивания и компилирования кода в одной команде
 
PS. Комбинация команд для скачивания и компилирования кода в одной команде

Текущая версия на 20:04, 14 апреля 2017

Предисловие

В качестве примера используется ОС Debian 8 x64. В гайде присутствуют инструкции и для 32-х битного Дебиана. Также этот гайд можно использовать для Убунты и, возможно, для других Дебиано-подобных Линуксов. Для других Линуксов замените apt-get и dpkg на пакетные менеджеры этих ОС. К слову, на форуме BYOND есть раздел LINUX TALK с инструкциями для установки BYOND на Линуксы.

Общие понятия

Итак, вы закончили освоение исходного кода и уже разобрались как создать свою станцию и даже подняли на своем древнем ПеКа локалочку. Теперь у вас появилась мысль провести свой ивэнт или просто держать сервер 24/7 и кто-то вам даже подсказал использовать для этого VDS(также известный как VPS). Вы даже уже наверняка приобрели один на странного вида сайте. Ну или планируете сделать это в будущем. Что значит "а где взять бесплатный"? Бесплатна только мышь в мышеловке! Или сыр... Да какая разница, сейчас эти штуки стоят совсем недорого и рублей за 300-500 можно арендовать неплохой виртуальный выделенный(или приватный, кому как нравится) сервер на целый месяц. Да-да, именно так расшифровывается этот VDS(VPS). "Виртуальный", потому что это один обычный сервер, "поделенный" на несколько с помощью магической виртуализации. Но отойдем от теории, мы сюда за сервером пришли, а не пересказом википедии, да?

Когда вы заказывали(или еще закажите) свой VDS, вам должны были дать три вещи. Это IP вашего сервера, логин(скорее всего "root") и пароль для доступа к серверу. Все, делайте с этим что хотите, а я пошел. Щутка.

Первым делом вам потребуется нечто, называющееся ssh-терминал. Для Виндозников это может быть PuTTY, линуксоиды могут ограничиться простым набором магической фразы ssh %IP% в командной строке, где %IP% - ip-адрес вашего сервера.

Вернемся к Виндозникам. После того как скачаете PuTTY открываете PuTTY.shexe и в поле Host Name пишите полученный IP. А если после этого в поле Saved Session написать какое-либо понятное имя для вашего нового сервера и затем нажать на кнопочку Save, то в последствии вы сможете открыть свой сервер просто дважды кликнув на строчке с его именем в громадном поле. Нажимаем Open и мы уже на полпути к нашему серверу, но злостный PuTTY что-то от нас хочет. Не пугайтесь, просто PuTTY в первый раз видит ваш сервер и он тоже слегка в шоке. Просто жмите "ДА", в последствии таких сообщение не будет.

Вот наша консоль светится зловещим "login as:" и мы можем смело писать туда "root"(или что вам дали в качестве логина). На появившийся запрос пароля также смело вводите его, но учтите: символы отображаться не будут! Вот так, даже банальных звездочек-точек не будет. Не забудьте использовать Enter после ввода логина и пароля, а то всякие бывают...

После всех унижений вы наконец достигли точки назначения №1: вам открылась командная строка вашего сервера. Поздравляю, на этом ваш эпический квест "Подключиться к VDS" закончен, вот вам новый. Называется "Что делать дальше". Опыт и шмот возьмете потом, сейчас склады пусты.

Как установить BYOND

Готовимся к установке

Для Виндозников будет шоковым состоянием первый раз находится в системе, отличной от подделок Microsоfta, но ничего, привыкнут. Для справки: многие команды для cmd то бишь командной строки виндоуза могут работать и в линуксе. А могут и не работать. Мы же для верности будем использовать только набор файловых команд и парочку команд сверху.

Для начала проверьте, какой разрядности у вас система. Это очень важно, т.к. сам BYOND 32-х битный и могут возникнуть проблемы при его установке на 64-х битную ОС без необходимых дополнение. Битность вашей ОС должна быть указанна где-нибудь в письме с данными логина-пароля, но может быть также в панели управления, если таковая имеется. В крайнем случае используйте команду uname -m. Если результат x86_64, значит 64-х битная. Если i386 то вы на 32-х битной ОС. На результат типа armh я пошлю вас подальше, ибо это армовские процессоры и они не для обычных юзеров.

Дальше перечислим названия необходимых пакетов с программами.

  1. unzip - необходим для распаковки zip-архивов.
  2. git - для скачивания свежего кода станции и его упрощенного обновления.

Для установки BYONDa на 64-х битные системы так же необходимы:

  1. libc6:i386
  2. libncurses5:i386
  3. libstdc++6:i386

Если вы хотите иметь сервер с базами данных то необходимо еще для 64-х битных систем

  • libmysqlclient-dev:i386

или для 32-х битных:

  • libmysqlclient-dev

PS. Если вы работаете не от root-пользователя, то вам потребуется дополнительно добавлять sudo к каждой команде. Это аналог "Запустить от имени администратора", но я сомневаюсь, что вы успели создать нового пользователя поэтому даю команды без использования sudo.

Итак, вот комбинация команд для 32-х битной ОС, где 2 команды совмещены символом &&. По желанию добавить libmysqlclient-dev в конец команды.

apt-get update && apt-get install unzip git

Комбинация команд для пользователей 64-х битной ОС, где 3 команды совмещены символом &&. По желанию добавить libmysqlclient-dev:i386 в конец команды.

dpkg --add-architecture i386 && apt-get update && apt-get install unzip git libc6:i386 libncurses5:i386 libstdc++6:i386

Установка BYOND

Дальше мы поставим BYOND для линуксов.

  1. На основной машине идем на сайт BYONDa в раздел скачивания http://www.byond.com/download/ где кликаем правой кнопкой мыши на стабильную или бета-версию клиента для Линукса и жмем "копировать адрес ссылки".
  2. Затем в командной строке вашего VDS пишем wget, ставим пробел и вставляем ссылку. Enter.
  3. Через пару секунд закачка закончится и нужно будет выполнить команду unzip *_byond_linux.zip для распаковки архива.
  4. Теперь, чтобы установить BYOND надо выполнить cd byond && make install.
  5. Финальным действием удаляем ставшие ненужными директории с помощью команды cd .. && rm -rf *byond*

PS. Комбинация команд для установки BOYND одним движением:

wget [ссылка на линукс-версию BYONDa] && unzip *_byond_linux.zip && cd byond && make install && cd .. && rm -rf *byond*

Не забудьте убрать [ и ].

Отлично, полпути мы прошли. BYOND установлен и по команде DreamDaemon -v будет показана версия клиента.

Скачивание кода и запуск сервера

Теперь скачаем и скомпилируем код станции.

  1. На основной машине идем на гитхаб-страницу желаемой станции и жмем на кнопочку "Clone or Download". Там мы увидим ссылку на этот репозиторий, подозрительно похожий на ссылку на гитхаб-страницу. Разве что в конце будет стоять .git. Это ссылку надо скопировать.
  2. Возвращаемся к полюбившейся(полюбившейся, ясказал!) командной строке, пишем git clone, ставим пробел и вставляем ссылку. Enter.
  3. Дожидаемся, когда закончится закачка...
  4. Дождавшись, зайдем в директорию со скаченным кодом. Для этого надо выполнить cd, пробел и имя репозитория, что вы качали. Например, для блюбея, чей гитхаб открывается по ссылке https://github.com/animusdev/Old-World-Blue, имя репозитория и имя директории будет Old-World-Blue.
  5. Зайдя в директорию компилируем билд командой DreamMaker, пробел и .dme файл. Его имя можно глянуть на гитхаб-странице вашей станции. У блюбея этот файл называется baystation12.dme Кстати, запомните имя вашего .dme файла, оно вам еще понадобится.
  6. Скомпилировав без ошибок переходим к запуску станции. Для этого используем код DreamDaemon [имя .dme файла].dmb [порт] [опции]. Для блюбея это было бы DreamDaemon baystation12.dmb 2506 -invisible -logself -trusted. Заметьте, все опции начинаются со знака -
    1. Рекомендованные опции
      • invisible - не показывает сервер в клиенте BYONDa, в итоге зайти на ваш сервер можно только по прямой ссылке вида byond://ip-адрес:порт
      • logself - создает файл [имя .dme файла].log с логом событий в каталоге с кодом станции. Полезен при выявлении проблем с запуском и работой сервера станции.
      • trusted - доверенный режим, позволяет использовать файлы не только в директории с кодом станции. Если не доверяете проекту, то лучше не использовать.

PS. Комбинация команд для скачивания и компилирования кода в одной команде

git clone [адрес репозитория] && cd [имя проекта] && DreamMaker [имя .dme файла].dme

На примере блюбея:

git clone https://github.com/animusdev/Old-World-Blue.git && cd Old-World-Blue && DreamMaker baystation12.dme

Базы данных и с чем их едят

WIP

apt-get instal mysql-server

Безопасность превыше всего!

WIP

- SSH Security:

  1. . https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server
  2. . Fail2ban

Fail2ban is mainly used to protect your ssh against passwords bruteforce.

apt-get install fail2ban && nano /etc/fail2ban/jail.local

Must be something like that:

[DEFAULT]
## If you do not want to use a permanent ip,
## then it's better to comment out this line
## there and in jail.conf.
ignoreip = 57.66.158.131

[ssh]
## If within 1 hour:
findtime = 3600
## 6 failed login attempts were made:
maxretry = 6
## Then ban the IP for 24 hours:
bantime = 86400

And restart it service fail2ban restart

- MySQL Security

After installing MySQL DB it's a good idea to delete a security hole.

mysql_secure_installation