
Данный топик решил создать под впечатлением работы Qj на Linux и его связке mt4 + Debian.
Его гайд находится здесь /hardwaresoftware-dlya-treydera/27/obsuzhdenie-zapiski-linuxoyda/12916/
Я же решил его дополнить с привязкой к дистрибутивам от aws.amazon.com.
Сам процесс регистрации популярно разжеван и многократно обсужден в данной теме /vps-servisy/15/aws-amazon-com/4054/
Поэтому, не вижу смысла повторяться. Следующие строки для тех, кто уже зарегистрировался на амазоне, поигрался с халявными дистрибутивами на Win, понял что это немного не то и хочет выжать максимум от предоставляемых сервисом ресурсов но уже на Linux.
Что на текущий момент описано(в обработке) в данном топике:
1. Выбор дистрибутива Debian, обновление, апгрейд, установка минимального требуемого софта.
2. Установка wine, и дополнительного софта(vim, htop, mc, WinSCP, VNCviewer, Putty)
3. Создание пользователя, настройка прав доступа
4. Русификация дистрибутива Debian
5. Установка дополнительных шрифтов для wine mt4
Ну что ж, поехали!!!
Монтирование образа Debian
1. Чтобы сохранить халяву и не платить ничего лишнего, в вашем личном кабинете должен работать только один активный инстанс. Для этого грохаем все инстансы, это делается в списке инстансов, правой кнопкой мыши по инстансу - Instace State - Terminate

2. Создаем новый инстанс, лезем Launch Instance - Community AMIs - в поиске вбиваем "debian" - видим окно. Лично я выбрал AMI с номером ami-02b78e1f

3. Тыкаем Select далее следим чтобы был выбран именно Free Tier инстанс

4. Следующий пункт "далее", опять "далее" и доходим до окна с подключаемым приводом SSD.
По умолчанию нам дается всего 8 Гигов. Но мы-то знаем что по условию Free Tier мы имеем право на все 30. Поэтому увеличиваем значение до 30 Гигов.

5. На следующем окне введите хоть что-нибудь в полях Name и Value - там не суть важно что будет введено, это ни на что не влияет.
6. В пункте выбора группы безопасности, выберите тип - All traffic. Позже можно будет поназакрывать все порты и оставить только нужные, но для начала пусть файрвол амазона пускает к нам вобще абсолютно всех.

7. Итоговое финишное окно создания инстанса должно выглядеть приблизительно вот так, без каких-либо дополнительных алертов сверху.

8. Следующий пункт будет крайне важным, как только вы нажмете Launch появится дополнительное окно. Нужно создать публичный зашифрованный ключ, регенерация которого в будущем в приватный будет использоваться для подключения к самому образу Debian. Выберите Create new Key, обзовите его как-нибудь, и нажмите Download key pair. А после Launch Instance.
Храните этот ключ в недоступном никому месте!!! Это очень важно!!!

Всё, теперь пока образ монтируется у нас есть несколько минут на перекур. Мы же потратим это время не впустую. Перейдите в список активных инстансов, понаблюдайте как образ монитруется и проходит все проверки. В итоге у вас должно быть приблизительно такое вот окно. мы видим новый смонтированный образ, который прошел все проверки, и старый грохнутый раннее инстанс

Теперь нам нужно подключиться к этому образу. Для этого нам нужен Putty и параметры данного Debian - сервера.
Подключение к серверу средствами Putty и ключа SSH
Поехали дальше:
1. Качаем архив Putty по официальной ссылке , разархивируем этот архив в любую папку. Залезаем в эту папку и запускаем PuttyGen
2. Нажимаем на кнопку Load, в открытом окне в списке открываемых файлов выбираем "All files"(по умолчанию выбраны файлы приватных ключей ppk но у нас пока что нет таких файлов, у нас есть только публичный pem) и открываем раннее скачанный вами публичный зашифрованный ключ с расширением pem (у меня это NewKey.pem).
Если вы все правильно сделали, то в итоге при открытии ключа будет приблизительно такое содержимое

3. Отлично, генерируем свой приватный ключ, для этого тыкаем на кнопку Save private key и на вопрос отвечаем yes. Обзываем ключ как хотим, сохраняем, закрываем PuttyGen.
4. Далее запускаем Putty. открывается такое вот окно. Это основное ПО, через которое вы будете подключаться к VPS серверу на aws.amazon.

5. Теперь нам нужно в окне открытых инстансов на сайте мазаона нажать правой кнопкой мыши по вашем новому инстансу и выбрать Connect(это типа то же меню когда вы грохали старый инстанс). Откроется окно с параметрами сервера, скопируйте строчку выделенную на скрине и вставьте в поле Host Name в Putty. И замените root на admin. SSH не даст вам залогиниться под рутом, такие дела.


6. Далее перейдите в Putty по вкладкам Connection - SSH и сделайте активным блок Auth. в нем тыкните Browse и выберите уже вам приватный сгенерированный ранее PuttyGen'ом ключ ppk(у меня это Newpem.ppk)

7. А теперь тыкаем Open... Если вы все правильно сделали, вам задастся вопрос - отвечаете утвердительно и вот оно!!! вы в терминальном доступе на линуксе!!! Апплодисменты!!! но это только начало, это было самое простое, что вы сейчас сделали, впереди овердохрена работы по настройке и установке других плюшек :)) :d

Установка дополнительного ПО
Итак, для дальнейшей работы нужно сделать несколько предварительных обязательных шагов:
1. Прежде всего, сохраним сессию в Putty, чтобы каждый раз не вбивать параметры сервера и не выбирать приватный ключ. Для этого после пункта выше под номером 6 не нажимайте кнопку open, а перейдите обратно к самому первому окошку Session, где вы вбивали параметры DNS в поле Host. Вот там есть поле для вбивания названия сессии. вы раньше видели скрин, у меня там была ранее сохраненная сессия на старый образ под именем s1. вбейте в поле свой имя и нажмите Save. теперь, запуская Putty вам нужно будет всего лишь кликнуть два раза мышкой по имени этой сохраненной сессии.
Должно выглядеть приблизительно вот так

2. Для дальнейшей работы нам обязательно понадобится VNCviewer. Качаем его по официальной ссылке. И устанавливаем. Пока не запускаем.
3. Для удобства работы с переносом файлов и правкой терминала мт4 качаем и устанавливаем WinSCP вот ссылка, разберетесь https://winscp.net/eng/docs/lang:ru
Классно то, что он тащит сессии Putty - то есть для вас вобще сделано все, чтобы упростить работу с Linux.
Подготовка образа Debian, создание пользователя, настройки прав доступа, копирование терминала mt4 на сервер
Теперь перейдем к терминалу. Я рассматриваю вариант когда вы с нуля подключились под учеткой admin.
Поехали!
1. Обновляемся и апгрейдимся по самое не балуй. Для этого переходим под root и дальше просто список команд, которые желательно выполнить, это подготовка самого дистрибутива к дальнейшим танцам с бубном.
sudo su
cd /
apt-get update
apt-get install aptitude
aptitude upgrade
идет долгий процесс апгрейда всей ОС, далее на вопрос выбираем install the package maintainer's version далее Tab - Ok - Далее выбираем первый дистр который на 30+ Гигов, опять Tab - Ok
всё. система полностью проапгрейжена, последний залп:
aptitude update
2. Теперь переходим непосредственно к созданию пользователя. Делается это следующим образом(в моих прмерах это будет юзер mtuser)
useradd -m mtuser
Поставим ему пасс на рут, требует еще и подтверждения
sudo passwd mtuser
Запомните этот пароль!!!
Но этого мало, нужно еще сделать следующее
visudo
Ищем блок
# User privilege specification
root ALL=(ALL:ALL) ALL
и под root прописываем нашего героя.
должно получится вот так

После жмем комбинации Ctrl+O (это сохраняет) далее Enter и выходим Ctrl+X
3. Юзер готов, отлично, заходим под ним и ставим vmc4server и wine
su mtuser
sudo aptitude install vnc4server
тут в первый раз попросит пароль рута. дальше просить не будет
sudo aptitude install wine
sudo aptitude update
4. Теперь создадим папку для терминала, всё как в гайде от Qj
mkdir -p ~/.wine/drive_c/Program\ Files/MetaTrader
5. Теперь самое интересное. Нам нужно залить в эту папку свой терминал. Делать это будем через ПО WinSCP. Но есть один момент -WinSCP подключаться будет к серверу под учетной записью admin у которой нет прав на корректирование папок нашего юзера mtuser. Поэтому на время работы WinSCP мы будем делать следующее.
Заходим под рутом, идем в папку юзеров и даем admin'у полный доступ на домашний каталог юзера mtuser.
sudo su
cd /home
chown admin mtuser -R
проверяем, права
ls -l
Должно выглядеть вот так

Теперь заходим в WinSCP. если задастся вопрос - импортировать ли сессии из Putty - отвечайте утвердительно, если нет, то тыкайте на кнопку Инструменты - Импорт, и ставьте галку на сессиях Putty. Далее - окей, и перед вами появится всех симпортированных сессий.

Теперь тыкните два раза мышкой по сессии, появится окно подключения, немного подождем и вуаля, мы на сервере.
Справа окно корневой домашней папки юзера admin, слева папки мои документы юзера, под которым вы залогинены на своем домашнем компе.
Дальше все просто - в окне справа переходим в каталог юзера mt01 и вобще прям в папку MetaTrader которая в абсолютном пути находится как /home/mtuser/.wine/drive_c/Program Files/MetaTrader
Слева же находим папку на своем домашнем компе с готовым к работе терминалом со всеми совами/индикаторами и т.д.

Ну и просто drug'n'drop'ом перетаскиваем папку слева направо. Появится окошко с отправкой данных на сервак, придется подождать какое-то время, в зависимости от "веса" папки с терминалом.

После того как процесс копирования закончится, закрываем окно с WinSCP. Нам нужно вернуть права юзера mtuser на свой домашний каталоги и все подкаталоги. Поэтому дальше подключаемся к нашему серваку через Putty, заходим под рутом и возвращаем права.
sudo su
cd /home
chown mtuser mtuser -R
ls -l

Установка vnc - сервера, запуск терминала mt4 под wine
Просьба сначала дочитать до конца и только потом приступать к действиям!!!
Далее входим под юзером mtuser, поднимаем vnc - сервер и пробуем запустить терминал под wine.
su mtuser
cd ~
vncserver -geometry 1280x960
Здесь попросит ввести пароль и подтвердить его - запомните его, он нужен будет в дальнейшем, и еще важно - максимальная длина пароля - это восемь символов!!!
После этого нужно экспортировать дисплей - вбивайте внимательно
export DISPLAY=ВАШ IP:1
После этого пробуем запустить wine.
wine explorer /desktop=$USER,1280x960 /home/$USER/.wine/drive_c/Program Files/MetaTrader/Ilan17nik/terminal.exe /portable /skipupdate &
Он выдаст ошибку. На скрине я специально красным подчеркнул мой ip и то что нужно вбивать в экспорт дисплея. Будьте внимательны!!! У вас так же будет и свой ip и своя папка mt4!!!

Нужно выполнить команду
dpkg --add-architecture i386 && apt-get update && apt-get install wine32
Для этого выходим из под юзера и заходим под root.
exit
sudo su
dpkg --add-architecture i386 && apt-get update &&apt-get install wine32
После установки лучше перегрузиться
reboot
Перезагрузка занимает одну-две минуты. Нужно подождать. После этого опять подключаемся через Putty. Заходим под юзером mtuser и повторяем процесс
su mtuser
cd ~
vncserver -geometry 1280x960
export DISPLAY=ВАШ IP:1
wine explorer /desktop=$USER,1280x960 /home/$USER/.wine/drive_c/Program Files/MetaTrader/Ilan17nik/terminal.exe /portable /skipupdate &
Если не выдает никаких ошибок - всё круто!!!
Поехали дальше!!!
Putty можно теперь закрыть.
Заходим в учетку на сайте амазона, переходим к списку наших инстансов.
Нам нужен наш глобальный ip.

Запоминаем его и запускаем ПО VNCviewer.
Вбиваем этот ip и порт(пока он по умолчанию) - 5901.

Подключаемся - на вопрос отвечаем утвердительно, дальше он просит пароль. Вводите тот пароль что я просил запомнить, который указывался при создании vnc - сервера и длина которого максимум восемь символов.
Вуаля!!! Открывается окошко. Возможно там будет вопрос по поводу установки дополнительно .net для wine - нажимаете установить, ждете пару-тройку секунд... ииии... барабанная дробь... Вот оно!!!

Поздравляю!!! =d> =d> =d>
В следующем посте я распишу как русифицировать данный дистрибутив и как сделать так чтобы смайлик совы всё-таки был смайликом а не каким-то непонятным прямоугольником.
Благодарю за внимание :d ;)



