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

Статья для тех, кто хочет научиться разворачивать 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.

43 Comments

  1. baracuda

    Немного линуксоид.

    Статья зачем, спасибо, что поделились. Всегда приятно что люди делятся опытом.

    Reply
  2. webester

    Может иногда стоит пользоваться поиском нет?

    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 рублей.

    Reply
  3. baton_pk

    Ага. Сначала качаем файлы в графическом режиме, потом запускаем терминал, чтобы (ВНЕЗАПНО!) запустить в нём файловый менеджер.

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

    Кстати, выделенный IP стоит наверняка дешевле 5 баксов в месяц, а комп с 512 метрами оперативы обычно тоже где-нибудь откапывается 🙂 У нас старый нет-бук с гигом оперативы стоит дома в качестве сервера 🙂

    Reply
  4. spezc

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

    Reply
  5. spezc

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

    за http://vds.menu/ отдельное спасибо, не знал о таком, подберу себе выгодный вариант)

    Reply
  6. spezc

    (3) ну мне с линуксоидами трудно будет спорить, хотя тут спорить и незачем, ибо вы правы. однако у меня не получилось установить пакеты через «проводник», кликнув по файлу deb (выдавало какие-то ошибки). поэтому пошел проверенным путем — через коммандную строку. но проще было открыть МС и запустить файл install, чем набирать «dpkg …». Хотя все равно соглашусь, со стороны трулинуксоидов это явно ламерский подход.

    Reply
  7. spezc

    (3) а по части использования рабочего компа для таких целей — вынужден не согласиться. в компаниях, которых я работал, такое просто было «вне политики компании» и просто не разрешалось/не приветствовалось. а ввиду специфики работы, у меня нет стационарного компа, который я мог бы поставить дома и посадить на выделенный ИП, так как и дома то стационарного нет.

    Reply
  8. webester

    (6)

    однако у меня не получилось установить пакеты через «проводник», кликнув по файлу deb (выдавало какие-то ошибки). поэтому пошел проверенным путем — через коммандную строку

    Если бы вы таки просмотрели поисковую выдачу по данному вопросу, то и фаерфокс бы вам не понадобился и команду которая одним махом ставит все нужные пакеты, тоже нашли бы. Да и вообще бы, вместо 4хдней ушел бы максимум день.

    Reply
  9. baton_pk

    (7)

    так как и дома то стационарного нет

    Ууу, в таком случае вам бы поплотнее засесть в облака, а RDP-сервер с 512 оперативы — не лучший вариант. Особенно с 1С на борту 🙂

    Домашняя бухгалтерия? Гугл-документы. Расчёты с клиентами? Какая-нибудь открытая веб-CRM. Работать будет шустрее, требования к каналу ниже, во многих случаях даже поддержка мобильных устройств имеется. Тот же битрикс взять, к примеру.

    Reply
  10. spezc

    (9) гугло-документы не вариант) 1С деньги наше все)

    Reply
  11. Shaka13

    насчет 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

    Reply
  12. spezc

    (11) Shaka13, попробую, спасибо! гугл наверно реально неправильный, долго искал и в русском и в английском гугле как откатить 2.4 на 2.2 или как поставить 2.2 на 14.04 — ответ один — нет и все тут. были правда пару моментов где «что-то там пересобрать, что-то подключить», но все это было за гранью моего понимания, да и камментов от реализовавших не было.

    Reply
  13. spezc

    не совсем по теме — а убунту 14 лучше 12? на сайте 1с заявлена поддержка только 12.04 LST. Есть смысл ставить 14ю? и 14.04 или 14.10?

    Reply
  14. Shaka13

    (13) удали 2.4 поставь 2.2, если поставил 2.4 решение выше ))) сам провиерял, единственно рабочее из всех испробованных и предложенных в выдаче

    однозначного ответа нет, просто новое не всегда еще обкатано, например мне техподдерка сказала переходить на 14.04 когда не захотела исправлять ошибку с imagemagick, но не учла, что apache уже идет 2.4 в комплекте, а платформе не особо торопятся обновлять, вот такой уровень развития 1с и их спецов ))))

    я пока в продакшене остаюсь на 12.04

    Reply
  15. asved.ru

    Нет, вы таки объясните, на какой горький корнеплод вам понадобились иксы на сервере? Вы wget пользоваться не умеете?

    Reply
  16. webester

    (15)вас только это смутило?

    Reply
  17. 1spectr

    Яростно минусую за …аренды 5 долларов в месяц…

    В рублях, гривнах, зайчиках вот в этом пожалуйста !

    Reply
  18. asved.ru

    (16) webester, это показатель.

    Reply
  19. asved.ru

    И кстати, аналогичный хостинг в городе-герое Далласе стоит $13 в год.

    Reply
  20. Shaka13

    (13) самое главное забыл написать, в чем преимущество 14.04 перед 12.04, в том, что наконец Canonical реализовало полноценно мультиархитектуру, что давно уже есть в других дистрибутивах Linux.

    Reply
  21. Steelvan

    (19) Да, герой.

    Reply
  22. Steelvan

    Или Даллас герой по пристрелянным темнокожим ? Тогда да !

    Reply
  23. Steelvan

    Скоро то время когда в Далласе в рублях будут рассчитываться.

    Reply
  24. spezc

    (15) (18) что такое иксы на сервере? wget наверно не знаю? и это показатель чего? что я нуб в линуксе? я как бы этого и не скрываю.

    Reply
  25. webester

    (24)Вы статьи пишете, рассказываете как делать. Откровенно не понимая, что именно вы делаете. Ввели какие то команды, что то получили. Это и вызывает легкое… недоумение. Обычно статья пишется когда человек четко понимает, о чем он пишет. Когда что то сделал и что то заработало это не повод сразу бросаться писать в профильное сообщество. Заведите себе бложек. Давайте просто выведем сухой остаток, что было сделано:

    • Установлена 1С
    • Организован, терминальный доступ к машине.

    На этом все. Подождите, нет вы серьезно? Я знаю на инфостарте можно найти топики плана, о том что надо галочку поставить в настройках винрара. Но зачем вставать с ними в один ряд?

    Почему был выбран именно такой способ терминального подключения, почему собственно был выбран он а не к примеру опубликована база и использован тонкий или web клиент. Где информация об активации драйвера защиты? Возможно использование только программных лицензий? Где вообще информация об лицензиях? Сама по себе тема разворачивания 1С на удаленном сервере достаточно интересная. Но здесь ничего нет. В данном случае проще взять портабельную сборку 1С8 и носить базу с программой на флешке. Если вопрос лицензирования вас не беспокоит конечно.

    Reply
  26. spezc

    (25) эка вас статья то зацепила. глянул ваш ложек на инфостарте — имхо постеснялись бы вылазить с такими комментариями. Не в моих правилах отвечать на подобные «глупые вопросы», но все же.

    В сабже не только была установлена 1С и запущен терминальный сервер. Если вы перечитаете статью, думаю вы заметите, что именно сделано. Почему был выбрано терминальное подключение — ответ есть в комментариях (нужен доступ к конфигуратору). Про лицензии в статье сказано. Считаю, что статье есть все для того, чтобы взять голый удаленный сервер на убунту, и развернуть на нем «полноценную 1С». Считаю, что статья понятна и достаточна, в случае возникновения вопросов — всегда помогу в комментариях.

    Reply
  27. gigapevt

    Файлы на сервер можно передавать по 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 и иксы не нужны.

    Reply
  28. gigapevt

    И кстати ключи прекрасно работают на 64х. А иначе смысл то ?

    Reply
  29. spezc

    (27) аха, это я в другой статье писал) хотя инфы про это достаточно. а иксы — это я как понимаю графический интерфейс? он был нужен именно для конфигуратора

    Reply
  30. spezc

    (28) хм… у меня нет ключей.

    Reply
  31. syuzyov

    (29) графический интерфейс это lxde в Вашем случае (точнее это окружение рабочего стола, пожалуй самое легковесное), а x-server — это типа платформа для различных графических интерфейсов. Кстати графический интерфейс может работать с иксами по сети на другой машине

    Reply
  32. syuzyov

    (29) Имеет смысл написать в предисловии, что статья для тех, кому нужен индийский вариант: «нет времени объяснять, просто делай как я говорю». Во первых иногда это действительно кому-то нужно, ну и вообще есть ценители такого подхода 🙂

    Reply
  33. asved.ru

    (29) А откуда взялась необходимость запускать конфигуратор именно на сервере приложения? Он и удаленно нормально работает, не нагружая при этом сервер необходимостью крутить иксы.

    Reply
  34. asved.ru

    (22) Steelvan,

    «Дык! Служу Советскому Союзу!» (анекдот про ворону)

    Reply
  35. webester
    глянул ваш ложек на инфостарте — имхо постеснялись бы вылазить с такими комментариями

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

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

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

    Reply
  36. spezc

    (35) в ваших публикациях то и обсуждать особо нечего, а на счет того что постеснялись писать развернутый ответ — это зря, мы жеж все профессионалы, обидки здесь неуместны, и конструктивная критика всегда приветствуется)

    Reply
  37. webester

    (36)

    в ваших публикациях то и обсуждать особо нечего

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

    обидки здесь неуместны, и конструктивная критика всегда приветствуется)

    Тогда скажу в двух словах, статьяпостмануал имеет право на жизнь только когда автор разобрался в вопросе на 100%. А то сначала он учит как настраивать операционную систему и приложения под ее управлением, а потом вопрос, почему он делает так, а не так как проще, он говорит: » я нуб в линуксе». Так ты определился бы, учишь как настраивать или ты нуб? Основная мысль была в этом.

    Reply
  38. spezc

    (37) расслабься)

    Reply
  39. webester

    (37)Не сказать, что я напрягаюсь. Ты спросил я ответил.

    Reply
  40. baracuda

    (38) а как вы ставили конфигурацию на сервер?? Через dt??

    Иначе никак?

    Reply
  41. spezc

    (40) можно развернуть шаблоны на windows-машине, и папку с шаблонами закинуть на линукс сервер. тоже самое с конфигурацией — через *.dt

    Reply
  42. LaNaite

    Спасибо за статью, автор!

    Это получается, можно и на raspberry pi развернуть? Надо попробовать.

    Reply
  43. starik-2005

    (42) LaNaite, вряд ли, ибо там архитектура ARM (или как ее там), а под нее у 1С нет пакетов.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *