gifts2017

Собственный виртуальный сервер для 1С на Linux Ubuntu

Опубликовал Ildar Gabdrakhmanov (spezc) в раздел Администрирование - Системное

Статья для тех, кто хочет научиться разворачивать 1С на linux, и для тех, кто хочет получить недорогой виртуальный сервер для собственных нужд.

Статья предназначена для тех, кто имеет весьма посредственное представление о linux-системах, но кто хотел бы получить небольшой опыт работы с 1С на linux (как минимум для того, чтобы добавить строчку в резюме). Думаю будет также интересно для тех, кто хочет за небольшие деньги получить собственный виртуальный сервер для личных нужд – например, хочет «где-то» развернуть собственную базу для домашней бухгалтерии 1С:Деньги и иметь к ней доступ 24 часа в сутки из любого места (и для этого не придется держать дома постоянно включенный сервер с выделенным IP).

Первое, что потребуется - арендовать виртуальный сервер. Площадок, предлагающих данные услуги более чем достаточно. В моем примере будет использован сервер 512MB Ram 20GB SSD Disk  Ubuntu 12.04 x32 со стоимостью аренды 5 долларов в месяц. Не знаю политику инфостарта относительно рекламы, поэтому мой хостинг назову в комментариях (если спросите).

Сервер арендован. Для подключения можно использовать SSH-клиент Putty (далее работа будет через командную строку).

Выполняем команды:

apt-get update (обновляет операционную систему)

apt-get install nano (устанавливаем текстовый редактор, потребуется в дальнейшем)

apt-get install mc (устанавливаем файловый менеджер, поможет потом установить 1С)

apt-get install firefox (устанавливаем браузер, потребуется в дальнейшем, когда установим графическую оболочку, поможет скачать дистрибутивы 1С)

apt-get install imagemagick (устанавливаем библиотеки, потребуется для 1С)

apt-get install libwebkitgtk-1.0-0 (устанавливаем библиотеки, потребуется для 1С)

apt-get install apache2 (устанавливаем apache, потребуется для публикации базы)

apt-get install lubuntu-desktop (устанавливаем GUI – графический интерфейс, потребуется для работы с клиентом 1С)

apt-get install lxde-common (устанавливаем библиотеки, потребуются для терминального подключения к linux-серверу)

apt-get install xrdp (устанавливаем xrdp, для подключения к серверу через RDP)

apt-get –f install (не линуксоид, не знаю что делает, но помогает решить проблему libwebkitgtk-1.0-0, так как подтягивает необходимые библиотеки, кто сталкивался – поймет)

 

Все ПО установлено. Теперь нужно выполнить некоторые настройки, чтобы можно было подключиться к серверу через RDP.

Выполните команду:

nano /etc/xrdp/startwm.sh

и приведите текстовый файл к следующему виду (закомментируйте строку «. /etc/X11/Xsession» и добавьте в конце строку «. /usr/bin/startlxde»):

 

#!/bin/sh

 

if [ -r /etc/default/locale ]; then

  . /etc/default/locale

  export LANG LANGUAGE

fi

 

#. /etc/X11/Xsession

. /usr/bin/startlxde

Выполните команду:

nano /etc/xrdp/xrdp.ini

и в блоке  [xrdp1] параметр «port=-1» замените на «port=ask». Это позволит при подключении указывать порт подключения вручную. При первом подключении необходимо будет указать порт «-1» - это инициализация новой сессии. У xrdp есть свои особенности, в частности иногда, при повторном подключении xrdp не видит старой сессии и создает новую. Поэтому я делаю так: при первом подключении указываю порт «-1», далее в момент непосредственного коннекта обращаю внимание на порт, к которому происходит подключение (например 5910) , а в дальнейшем, при повторном подключении указываю именно этот порт – это дает возможность подключиться сессии, в которой работали до отключения.

Все готово для подключения к нашему новому серверу. На компьютере с windows открывает rdp (например Пуск – Выполнить - mstsc), указываем адрес нашего сервера и подключаемся. В появившемся окне указываем логин, пароль и порт «-1». Если все прошло удачно – вы увидите рабочий стол вашего нового сервера.

Далее через браузер Firefox скачиваете дистрибутивы 1С. Вам потребуются следующие:

1c-enterprise83-common_8.3.5-1570_i386.deb

1c-enterprise83-common-nls_8.3.5-1570_i386.deb

1c-enterprise83-server_8.3.5-1570_i386.deb

1c-enterprise83-server-nls_8.3.5-1570_i386.deb

1c-enterprise83-client_8.3.5-1570_i386.deb

1c-enterprise83-client-nls_8.3.5-1570_i386.deb

1c-enterprise83-ws_8.3.5-1570_i386.deb

1c-enterprise83-ws-nls_8.3.5-1570_i386.deb

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

После того как файлы будут закачаны на сервер – их нужно будет установить. Проще всего – в Putty выполнить команду «mc» и запустить файловый менеджер. В нем перейти в папку, где лежат ваши дистрибутивы, по очереди зайти в каждый файл и запустить INSTALL. Установку необходимо выполнять в порядке, приведенном выше.

В принципе все. Если подключиться по RDP к вашему серверу – вы увидите установленную 1С. В качестве теста можете развернуть демобазу 1С: Деньги и опубликовать на веб-сервере Apache. Порядок публикации не отличается от того, который выполняется на Windows и в принципе довольно прост (на этом ресурсе достаточно статей).

Возможные трудности, с которыми вы можете столкнуться и которые довольно сильно потрепали мне нервы:

  1. По данным 1С – единственной работоспособной убунтой является 12.04. Пробовал повторить этот процесс на Ununtu 14.04 и 14.10 – на х32 удалось установить и запустить 1С, на х64 попал на проблему «libwebkitgtk-1.0-0», которую решить не удалось. Также на Ubuntu 14 проблемой будет Apache 2.4. Официально 1С работает только с Apache 2.2, а на Ubuntu 14 минимально доступная версия Apache 2.4 (и гугл подсказал, что установить 2.2 не представляется возможным).
  2. В данной статье не рассматривается вариант настройки HASP (статей на эту тему тоже достаточно). Вопрос ключей решался традиционным способом, однако он не работает для х64.

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. Олег Дмитров (baracuda) 24.05.15 21:44
Немного линуксоид.
Статья зачем, спасибо, что поделились. Всегда приятно что люди делятся опытом.
2. Роман Ложкин (webester) 24.05.15 22:22
Может иногда стоит пользоваться поиском нет?
http://infostart.ru/public/142601/
http://infostart.ru/public/274748/
http://infostart.ru/public/142228/
http://infostart.ru/public/238077/
http://infostart.ru/public/174095/
http://infostart.ru/public/89592/
http://infostart.ru/public/359826/
Это первое что попалось на глаза, может быть или даже наверняка материала больше гораздо. На тему недорогих впс есть не очень плохой каталог впс, можно сравнить по различным параметрам и найти нужную VPS http://vds.menu/ от 56 рублей.
Avet01; spezc; u_n_k_n_o_w_n; baton_pk; +4 Ответить 1
3. Сергѣй Батанов (baton_pk) 24.05.15 23:11
Ага. Сначала качаем файлы в графическом режиме, потом запускаем терминал, чтобы (ВНЕЗАПНО!) запустить в нём файловый менеджер.

Если базы для личных нужд и у вас на работе хороший комп и нет неприятностей с интернетом (админы злые или ещё чего), то проще всю работу развернуть на рабочем компе, а через виртуалку пробрасывать туннель.

Кстати, выделенный IP стоит наверняка дешевле 5 баксов в месяц, а комп с 512 метрами оперативы обычно тоже где-нибудь откапывается :) У нас старый нет-бук с гигом оперативы стоит дома в качестве сервера :)
4. Ildar Gabdrakhmanov (spezc) 25.05.15 06:32
(1) это хорошо что вы немного линуксоид, а для меня (работающего с линуксом второй раз в жизни) реализация сабжа растянулась на 4 дня, ибо материал, который позволил бы реализовать это был разбросан по разным статьям и тематикам.
5. Ildar Gabdrakhmanov (spezc) 25.05.15 06:36
(2) в приведенных ссылках не раскрыто, как развернуть графическую оболочку, как подключиться терминально к удальенному серверу, как запустить клиент 1С, там материал по большей части по теме, которая не особо затрагивается в этой статье. хотя нет! есть! последняя ссылка в списке - как раз то что надо)))

за http://vds.menu/ отдельное спасибо, не знал о таком, подберу себе выгодный вариант)
6. Ildar Gabdrakhmanov (spezc) 25.05.15 06:41
(3) ну мне с линуксоидами трудно будет спорить, хотя тут спорить и незачем, ибо вы правы. однако у меня не получилось установить пакеты через "проводник", кликнув по файлу deb (выдавало какие-то ошибки). поэтому пошел проверенным путем - через коммандную строку. но проще было открыть МС и запустить файл install, чем набирать "dpkg ...". Хотя все равно соглашусь, со стороны трулинуксоидов это явно ламерский подход.
7. Ildar Gabdrakhmanov (spezc) 25.05.15 06:44
(3) а по части использования рабочего компа для таких целей - вынужден не согласиться. в компаниях, которых я работал, такое просто было "вне политики компании" и просто не разрешалось/не приветствовалось. а ввиду специфики работы, у меня нет стационарного компа, который я мог бы поставить дома и посадить на выделенный ИП, так как и дома то стационарного нет.
8. Роман Ложкин (webester) 25.05.15 07:02
(6)
однако у меня не получилось установить пакеты через "проводник", кликнув по файлу deb (выдавало какие-то ошибки). поэтому пошел проверенным путем - через коммандную строку

Если бы вы таки просмотрели поисковую выдачу по данному вопросу, то и фаерфокс бы вам не понадобился и команду которая одним махом ставит все нужные пакеты, тоже нашли бы. Да и вообще бы, вместо 4хдней ушел бы максимум день.
9. Сергѣй Батанов (baton_pk) 25.05.15 10:15
(7) spezc,
так как и дома то стационарного нет

Ууу, в таком случае вам бы поплотнее засесть в облака, а RDP-сервер с 512 оперативы - не лучший вариант. Особенно с 1С на борту :)
Домашняя бухгалтерия? Гугл-документы. Расчёты с клиентами? Какая-нибудь открытая веб-CRM. Работать будет шустрее, требования к каналу ниже, во многих случаях даже поддержка мобильных устройств имеется. Тот же битрикс взять, к примеру.
10. Ildar Gabdrakhmanov (spezc) 25.05.15 13:27
(9) гугло-документы не вариант) 1С деньги наше все)
11. Дмитрий Ли (Shaka13) 25.05.15 15:24
насчет Apache думаю у тебя был неправильный google
кстати у ubuntu есть свой google, имя ему http://www.googlubuntu.com/
есть еще хороший ресурс askubuntu.com, там эта тема поднималась
ставим apache 2.2 на 14.04:

echo "deb http://ua.archive.ubuntu.com/ubuntu/ precise main" > /etc/apt/sources.list.d/ubuntu1204.list
echo "Package: apache*" > /etc/apt/preferences.d/apache22
echo "Pin: release a=precise" >> /etc/apt/preferences.d/apache22
echo "Pin-Priority: 500" >> /etc/apt/preferences.d/apache22

apt-get update

apt-get install apache2

apache2 -v
должно получиться:
Server version: Apache/2.2.22 (Ubuntu)
Server built: Feb 13 2012 01:51:56
gigapevt; cleaner_it; vasiliy_b; spezc; +4 Ответить 1
12. Ildar Gabdrakhmanov (spezc) 25.05.15 16:12
(11) Shaka13, попробую, спасибо! гугл наверно реально неправильный, долго искал и в русском и в английском гугле как откатить 2.4 на 2.2 или как поставить 2.2 на 14.04 - ответ один - нет и все тут. были правда пару моментов где "что-то там пересобрать, что-то подключить", но все это было за гранью моего понимания, да и камментов от реализовавших не было.
13. Ildar Gabdrakhmanov (spezc) 25.05.15 16:13
не совсем по теме - а убунту 14 лучше 12? на сайте 1с заявлена поддержка только 12.04 LST. Есть смысл ставить 14ю? и 14.04 или 14.10?
14. Дмитрий Ли (Shaka13) 25.05.15 16:46
(13) spezc, удали 2.4 поставь 2.2, если поставил 2.4 решение выше ))) сам провиерял, единственно рабочее из всех испробованных и предложенных в выдаче
однозначного ответа нет, просто новое не всегда еще обкатано, например мне техподдерка сказала переходить на 14.04 когда не захотела исправлять ошибку с imagemagick, но не учла, что apache уже идет 2.4 в комплекте, а платформе не особо торопятся обновлять, вот такой уровень развития 1с и их спецов ))))
я пока в продакшене остаюсь на 12.04
15. Антон Стеклов (asved.ru) 25.05.15 18:01
Нет, вы таки объясните, на какой горький корнеплод вам понадобились иксы на сервере? Вы wget пользоваться не умеете?
16. Роман Ложкин (webester) 25.05.15 20:08
17. Евгений Сергеев (sev@snail.ru) 25.05.15 20:21
Яростно минусую за ...аренды 5 долларов в месяц...

В рублях, гривнах, зайчиках вот в этом пожалуйста !
cleaner_it; +1 Ответить
18. Антон Стеклов (asved.ru) 25.05.15 21:01
19. Антон Стеклов (asved.ru) 25.05.15 21:03
И кстати, аналогичный хостинг в городе-герое Далласе стоит $13 в год.
20. Дмитрий Ли (Shaka13) 25.05.15 21:45
(13) spezc, самое главное забыл написать, в чем преимущество 14.04 перед 12.04, в том, что наконец Canonical реализовало полноценно мультиархитектуру, что давно уже есть в других дистрибутивах Linux.
21. Игорь Steelvan (Steelvan) 25.05.15 23:32
22. Игорь Steelvan (Steelvan) 25.05.15 23:39
Или Даллас герой по пристрелянным темнокожим ? Тогда да !
23. Игорь Steelvan (Steelvan) 25.05.15 23:52
Скоро то время когда в Далласе в рублях будут рассчитываться.
24. Ildar Gabdrakhmanov (spezc) 26.05.15 06:05
(15) (18) что такое иксы на сервере? wget наверно не знаю? и это показатель чего? что я нуб в линуксе? я как бы этого и не скрываю.
25. Роман Ложкин (webester) 26.05.15 08:12
(24)Вы статьи пишете, рассказываете как делать. Откровенно не понимая, что именно вы делаете. Ввели какие то команды, что то получили. Это и вызывает легкое... недоумение. Обычно статья пишется когда человек четко понимает, о чем он пишет. Когда что то сделал и что то заработало это не повод сразу бросаться писать в профильное сообщество. Заведите себе бложек. Давайте просто выведем сухой остаток, что было сделано:
  • Установлена 1С
  • Организован, терминальный доступ к машине.
На этом все. Подождите, нет вы серьезно? Я знаю на инфостарте можно найти топики плана, о том что надо галочку поставить в настройках винрара. Но зачем вставать с ними в один ряд?
Почему был выбран именно такой способ терминального подключения, почему собственно был выбран он а не к примеру опубликована база и использован тонкий или web клиент. Где информация об активации драйвера защиты? Возможно использование только программных лицензий? Где вообще информация об лицензиях? Сама по себе тема разворачивания 1С на удаленном сервере достаточно интересная. Но здесь ничего нет. В данном случае проще взять портабельную сборку 1С8 и носить базу с программой на флешке. Если вопрос лицензирования вас не беспокоит конечно.
sherdim; Собеседник; sh_max; Redokov; +4 Ответить 1
26. Ildar Gabdrakhmanov (spezc) 26.05.15 11:40
(25) эка вас статья то зацепила. глянул ваш ложек на инфостарте - имхо постеснялись бы вылазить с такими комментариями. Не в моих правилах отвечать на подобные "глупые вопросы", но все же.

В сабже не только была установлена 1С и запущен терминальный сервер. Если вы перечитаете статью, думаю вы заметите, что именно сделано. Почему был выбрано терминальное подключение - ответ есть в комментариях (нужен доступ к конфигуратору). Про лицензии в статье сказано. Считаю, что статье есть все для того, чтобы взять голый удаленный сервер на убунту, и развернуть на нем "полноценную 1С". Считаю, что статья понятна и достаточна, в случае возникновения вопросов - всегда помогу в комментариях.
27. Vladimir Savelyev (gigapevt) 27.05.15 08:27
Файлы на сервер можно передавать по PuTTY через SCP. Опубликовать базу на Apache через консольную утилиту 1с webinst можно как то вот так (в принципе это готовый шаблон только каталоги нужно предварительно создать и права им дать): sudo /opt/1C/v8.3/i386/webinst -apache22 -wsdir ИМЯПУБЛИКАЦИИ -dir '/var/www/base/ИМЯКАТАЛОГАДЛЯВРДФАЙЛА' -connStr 'Srvr="ИПСЕРВЕРА";Ref="ИМЯБАЗЫ1С";' -confPath /etc/apache2/httpd.conf и иксы не нужны.
28. Vladimir Savelyev (gigapevt) 27.05.15 08:32
И кстати ключи прекрасно работают на 64х. А иначе смысл то ?
29. Ildar Gabdrakhmanov (spezc) 27.05.15 08:41
(27) аха, это я в другой статье писал) хотя инфы про это достаточно. а иксы - это я как понимаю графический интерфейс? он был нужен именно для конфигуратора
30. Ildar Gabdrakhmanov (spezc) 27.05.15 08:42
31. Роман Сюзёв (syuzyov) 27.05.15 21:12
(29) spezc, графический интерфейс это lxde в Вашем случае (точнее это окружение рабочего стола, пожалуй самое легковесное), а x-server - это типа платформа для различных графических интерфейсов. Кстати графический интерфейс может работать с иксами по сети на другой машине
32. Роман Сюзёв (syuzyov) 27.05.15 21:21
(29) spezc, Имеет смысл написать в предисловии, что статья для тех, кому нужен индийский вариант: "нет времени объяснять, просто делай как я говорю". Во первых иногда это действительно кому-то нужно, ну и вообще есть ценители такого подхода :)
33. Антон Стеклов (asved.ru) 27.05.15 22:42
(29) spezc, А откуда взялась необходимость запускать конфигуратор именно на сервере приложения? Он и удаленно нормально работает, не нагружая при этом сервер необходимостью крутить иксы.
34. Антон Стеклов (asved.ru) 27.05.15 22:43
(22) Steelvan,
"Дык! Служу Советскому Союзу!" (анекдот про ворону)
35. Роман Ложкин (webester) 28.05.15 03:04
глянул ваш ложек на инфостарте - имхо постеснялись бы вылазить с такими комментариями

Это как раз потому что не хочется плодить статьи такого плана. А так я еще автор некоторых других проектов. Если вам есть, что сказать, по существу на тему моих публикаций на ИС, или по какому либо проекту, я буду рад конструктивным замечаниям в комментариях к этим публикациям\проектам. Так же приглашаю к обсуждению или присоединению к вышеописанным проектам, там еще есть куда идти, что бы сделать этот мир лучше.

эка вас статья то зацепила

Написал развернутый ответ, но потом подумал, что критики уже было больше чем нужно и отредактировал комментарий. Не буду клевать и портить вам настроение. Извините если задел. Хочется видеть грамотные профессиональные статьи, как на хабре, а не плана "ну это тоже может кому нибудь пригодится". Но вы же не обязаны следовать моим пожеланиям.
36. Ildar Gabdrakhmanov (spezc) 28.05.15 06:27
(35) в ваших публикациях то и обсуждать особо нечего, а на счет того что постеснялись писать развернутый ответ - это зря, мы жеж все профессионалы, обидки здесь неуместны, и конструктивная критика всегда приветствуется)
37. Роман Ложкин (webester) 28.05.15 07:30
(36)
в ваших публикациях то и обсуждать особо нечего

На нет и суда нет :) я сказал, что если считаете, что там что то неправильно, можете там и высказаться, а давать оценку(и самое главное право голоса) по профилю инфостарта глупо с моей точки зрения.
обидки здесь неуместны, и конструктивная критика всегда приветствуется)

Тогда скажу в двух словах, статья\пост\мануал имеет право на жизнь только когда автор разобрался в вопросе на 100%. А то сначала он учит как настраивать операционную систему и приложения под ее управлением, а потом вопрос, почему он делает так, а не так как проще, он говорит: " я нуб в линуксе". Так ты определился бы, учишь как настраивать или ты нуб? Основная мысль была в этом.
38. Ildar Gabdrakhmanov (spezc) 28.05.15 08:46
39. Роман Ложкин (webester) 28.05.15 09:13
(37)Не сказать, что я напрягаюсь. Ты спросил я ответил.
40. Олег Дмитров (baracuda) 01.06.15 10:40
(38) spezc, а как вы ставили конфигурацию на сервер?? Через dt??
Иначе никак?
41. Ildar Gabdrakhmanov (spezc) 01.06.15 10:44
(40) можно развернуть шаблоны на windows-машине, и папку с шаблонами закинуть на линукс сервер. тоже самое с конфигурацией - через *.dt
42. Анаит Бадалян (LaNaite) 02.05.16 19:09
Спасибо за статью, автор!
Это получается, можно и на raspberry pi развернуть? Надо попробовать.
43. Sergey Andreev (starik-2005) 02.05.16 23:01
(42) LaNaite, вряд ли, ибо там архитектура ARM (или как ее там), а под нее у 1С нет пакетов.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа