В этом цикле статей я максимально подробно расскажу как поднять инфраструктуру для установки клиента golos.io на домашнем компьютере, работающим под управлением операционной системы(ОС) Windows(или MacOS).
Конечно Linux никто не отменял, и мы будем устанавливать всё на него, не поломав при этом винду. Реализовать это можно при помощи виртуальной машины. Если вы знаете с чем её едят - крутите дальше, если нет - то читаем.
- Установка и настройка виртуального сервера(часть 1)
- Установка на сервер клиента golos.io(часть 2)
- Работа с кодом клиента(часть 3)
- Как отправить свой код разработчикам golos.io(часть 4)
Немного теории.
Виртуальная машина - это программа, которая полностью имитирует реальный компьютер(с железом), на который можно установить любую ОС, программы и вообще делать с ней всё что вы делаете с обычным компьютером(на программном уровне).
Виртуальная машина отъест часть вашего жесткого диска(столько, сколько вы ей выделите), там она и будет работать. По умолчанию она никак не связана с основной ОС, разве что может читать iso образы. Если вы не настроите общую папку или общий буфер обмена - то никакие вирусы из неё не проникнут на ваш компьютер, теоретически.
С чего начать
Скачиваем виртуальную машину тут
Программа эта бесплатная, ничего крякать не нужно, ограничений в функциональности так-же нет.
Устанавливаем, тут ничего сложного.
Создаём виртуальную машину, даём ей имя.
http://i.imgur.com/2Du2Zn1.png
Под оперативную память я выделю 10Gb
https://i.imgur.com/HBt5kCX.png
Жёсткий диск я создаю новый
http://i.imgur.com/qg8RQqb.png
http://i.imgur.com/uC1sGuk.png
Я выберу динамический размер.
http://i.imgur.com/1ea1QS0.png
Под жесткий диск я выделю 20Gb. Если вы выделите 10 - тоже по идее хватит, но лучше с запасом.
http://i.imgur.com/p2CNGOH.png
Теперь виртуальная машина готова. Чтобы поставить на неё Linux - нужно скачать его образ.
Я скачивал тут http://www.kubuntu.org/getkubuntu/ версию 16.10
http://i.imgur.com/MZaBvzS.png
Вы можете скачать и любой другой дистрибьютив линукса, но с ним могут быть какие-нибудь отличия в установке и работе(может и не будут).
После того, как вы скачали образ - указывайте его как оптический диск(да да, как реальное железо).
http://i.imgur.com/lQZvqEI.png
Выставляйте его загрузку после харда, чтобы после завершения установки и перезагрузки ОС грузилась с жесткого диска и не пришлось “экстренно вытаскивать оптический диск из привода”.
http://i.imgur.com/SwR6sp1.png
Установка
Всё готово, теперь можно устанавливать линуху.
Запускаем виртуальную машину.
http://i.imgur.com/yJO18NZ.png
Она сразу подхватит установочный диск и предложит установить с него систему. То что нам и нужно.
Вы должны увидеть такой экран.
http://i.imgur.com/y1dKG8S.png
http://i.imgur.com/54lcNba.png
Выбираем язык и жмём Install Kubuntu
http://i.imgur.com/BQ86lMI.png
http://i.imgur.com/0udXzUy.png
Как правильно разбить диск - честно скажу незнаю. Желательно разбить его на 2 части - одну для системы, вторую для /home, вроде бы как-то так. Если не уверены - оставляйте один диск, всё равно это тестовая машина.
Если кто подскажет как правильно разбить и отформатировать диск - буду очень признателен
https://i.imgur.com/wlrlYYG.png
Имя пользователя указываем user(или любое другое, кроме root - он уже занят), пароль какой вам удобен, слишком замороченный смысла ставить нет, сервер ведь не в сети.
В остальном установка достаточно простая, сложностей возникнуть не должно.
http://i.imgur.com/xmg1wfP.png
http://i.imgur.com/s7upMxS.png
После завершения установки потребуется перезагрузка. Смело на неё соглашаемся. Если с загрузкой возникают какие-то трудности - можете выключить и включить виртуалку.
https://i.imgur.com/Fjp4dq0.png
Если это не поможет - ниже я написал как обновить графический интерфейс, хотя на самом деле он нам даже не нужен.
http://i.imgur.com/ihgmm7c.png
Настройка
В первую очередь устанавливаем SSH, по которому будем подконнекчиваться к этому серверу(мы ведь делаем сервер, да).
Открывайте терминал(найдёте в “пуске”) и пишите
sudo apt-get update
http://i.imgur.com/dK3vrhk.png
Потом
sudo apt-get install ssh
И заодно:
sudo apt-get install mc
В первый раз введите пароль, потом он запрашиваться не будет.
На этом пока всё, выключайте виртуальную машину.
Возвращаемся к настройкам виртуальной машины.
Открываем в настройках вкладку сеть. Там в “Адаптер 1” указываем “Сетевой мост”(остальное не трогаем).
http://i.imgur.com/euGa6NJ.png
В “Адаптер 2” указываем “Виртуальный адаптер хоста”(остальное не трогаем).
Третий и четвёртый адаптеры выключены.
https://i.imgur.com/aUUCDIf.png
Теперь вновь запускайте виртуальную машину, ОС теперь запустится с харда.
Если у вас вылезет ошибка о конфликте IP адресов - ничего страшного, закрываем её и всё будет работать.
https://i.imgur.com/qFOhu13.png
Сейчас небольшое отступление. Работать с виртуальной машиной я буду по SSH с основной ОС, так как виртуальная машина реально подтормаживает и работать в ней очень неудобно. Почему так - я незнаю. Мне это и не важно по большому счёту, визуальная оболочка мне не нужна.
Если у вас ничего не сломалось и не умерло - то Ubuntu успешно загрузилась.
Если отвалилась графическая оболочка - я поправил её так(пишем это в терминале):
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update
sudo apt full-upgrade
Сейчас нужно отредактировать настройки сети. Для этого запускайте консоль(терминал).
Открывайте консоль и пишите
sudo mcedit /etc/network/interfaces
У вас откроется окно редактирования конфига сети
Закомментируйте всё что там есть(решетки вначале строки) и напишите
auto eth1
iface eth1 inet dhcp
https://i.imgur.com/HgIf35N.png
На скрншоте не очень видно, но думаю вы справитесь
Затем F2 - сохранить и F10 - выход.
Теперь нужно перезагрузить виртуальную машину
После перезагрузки напишите в терминале
ifconfig
Система вывалит вам данные о сетевом подключении. Ищите там IP адрес машины.
https://i.imgur.com/QzwBUSL.png
В моём случае это 192.168.1.136 - это адрес сервера в моей локальной сети, к нему я и буду подключаться.
Как говорил чуть выше - работать с виртуалкой я буду по SSH из под винды. Самый удобный SSH клиент для Windows - это WinSCP. Скачиваем тут
Клиент также бесплатен.
Устанавливаем его и запускаем. В левой части его окна будет только пункт New Site. Выбираем его и в правой части вписываем:
- Host name - IP из ifconfig
- User name - указанный вами логин в процессе установки(у меня это user)
- Password - пароль от user
- Port number - оставляем 22
Как заполните - жмите Save(отметьте “Save password”)
Всё, теперь если сделать двойной щелчок по сохранённому хосту - вы подключитесь к нему по SSH.
http://i.imgur.com/egEHdoN.png
Программа предложит закэшировать ключ сервера-соглашаемся.
http://i.imgur.com/S7H5Gzi.png
После этого у вас откроется проводник - в левой части ваш компьютер, а в правой домашняя директория пользователя, под которым вы законнектились
http://i.imgur.com/F072yl5.png
После подключения нажмите Ctrl+P - и запустится PuTTY(консольная утилита). С помощью неё мы будем общаться сервером.
http://i.imgur.com/QMJsulf.png
Если у вас это получилось - значит вы успешно создали сервер на виртуальной машине и подключились к нему.
Если вы выключаете(или перезагружаете) компьютер - то конечно надо будет потом запустить виртуалбокс и в нём запустить виртуальную машину.
Теперь на базе этого сервера можно развернуть клиент golos.io, чем мы и займёмся в следующем уроке.
Заключение
На этом данный урок я хотел бы завершить, он и так получился достаточно раздутым из-за фото. Но зато всё максимально подробно, надеюсь вам всё понятно. Если что-то неясно - спрашивайте в комментариях.
В следующем уроке мы сделаем форк клиента golos.io и запустим его на этой виртуальной машине.
Так что если вам интересно как устроен клиент голоса и вы хотите подёргать его за сиськи кишки - можете за выходные неспеша проделать всё что описано в этом уроке. Дальше я покажу как запустить копию голоса и даже отправить свои правки разработчикам клиента, и они будут работать. @b1acksun, @sheriff, @pav не дадут соврать)
Прочитал заголовок, хотел написать "Месье знает толк...", но решил пост прочитать, а там виртуалка(
Отличная инструкция, спасибо. Многим может помочь.
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
sonyanka, t3ran13, antino, rbrown, zoss, dabudi, tristamoff, dr-boo, cergey-p, gryph0n, exan, kvg, aivanouski, vika-teplo, igor66, sva-lana, zazazum, seagull15, gradovskih
Поэтому я тоже проголосовал за него!
Если Вы проголосуете за этот комментарий, то поможете сделать "Доброго Кита" сильнее!
@tristamoff,
у тебя в первой строке опечатка (где настройка):
sudo apd-get update
должно бытьsudo apt-get update
Команда
sudo apt-get install ssh
не хотела выполняться, ссылаясь наЯ просто прошел к нему в диспетчере файлов, два раза щелкнул, и код заработал)
Спасибо, поправил опечатку)
@tristamoff Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за Количество комментариев
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.
Well Done! ;)
Не знаю почему, но у меня нет выбора для виртуального адаптера хоста.
img
Решено
Главные настройки virtual box - сеть - плюсик (добавить)
Изрядно поработано!
Я сделаю по другому: установлю kubuntu на отдельном нетбуке и на нем буду разворачивать голос))))
Да, можно и так.
Вам тогда полностью с него придётся работать, или коннектиться к нему по локальной сети(либо открывать его наружу, скажем так).
То есть, необходимо будет создавать отдельную "локальную сеть"...
Не, ну просто если у вас комп и ноут, и вы захотите код голоса с ноута на компе смотреть - то как-то подключаться к ноуту придётся.
Хотя можно с ноута код на гитхаб закидывать и с компа потом оттуда стягивать. Так что норм, заморочек особо не будет.
если есть доступ в интернет с ноута и компа значит сеть уже есть! И гитхаб нафиг не нужен
Всё предельно ясно и полезно! Сейчас буду пробовать...
Но всё-таки можешь разъяснить пару вопросов для новичка:
Аналог PuTTY в маке есть - это тот же терминал. В маке он белый, а не черный:)
o.O
зачем столько?
а на основной машине сколько RAM?
На основной 16.
Когда происходит какая-нибудь компиляция/сборка - озушка отжирается и иногда всё падает. А тут не жалко.
А почему kubuntu а не серверную убунту без кед и прочих гномов взяли? Все равно работаете по ssh
Просто привычнее под kubuntu, да многим нагляднее когда рабочий стол и т.п. Пусть для новичков знакомство с Linux оставит приятные впечатления)
О, спс! На выходных займусь, как раз непогода)
Надо было ещё тег #открытый-код поставить, вместо #блокчейн, например.
Хотел поставить, но кода тут нет)
#открытый-код - больше, чем просто код, твой мануал имеет к этому отношение.
Добавил
А я юзаю Vagrant - по сути тоже самое - но делается 2-мя командами=)
@tristamoff Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.