Поделюсь моим опытом установки и работы с 1C в Linux.
Наша цель: поднять полноценный 1С сервер, настроить СУБД на работу с ним + установить сервер лицензий для 1С. Весь мануал полностью работоспособен и протестирован. Обратите внимание на версии пакетов, более подробно, все будет описано ниже (1С вы можете скачать с официального сайта, PostgreSQL и HASP — с сайта Etersoft).
Пара пояснений: для работы с 1C нам нужен специально модифицированный PostgreSQL (даже тот, что лежит на сайте 1С не подходит без «шаманств»). Самым оптимальным вариантом, на данный момент, является модификация от Etersoft.
Используемая система: Ubuntu Server 12.04, со всеми обновлениями на момент написания данной записи.
Сервер 1С (версия 8.2.17.143 x86). Список пакетов:
1c-enterprise82-common_8.2.17-143_i386.deb
1c-enterprise82-common-nls_8.2.17-143_i386.deb
1c-enterprise82-crs_8.2.17-143_i386.deb
1c-enterprise82-crs-nls_8.2.17-143_i386.deb
1c-enterprise82-server_8.2.17-143_i386.deb
1c-enterprise82-server-nls_8.2.17-143_i386.deb
1c-enterprise82-ws_8.2.17-143_i386.deb
1c-enterprise82-ws-nls_8.2.17-143_i386.deb
СУБД PostgreSQL, Postgre@Etersoft (для Ubuntu Server 12.04). Список пакетов:
libpq5.2-9.0eter_9.0.4-eter17ubuntu_i386.deb
postgre-etersoft9.0_9.0.4-eter17ubuntu_i386.deb
postgre-etersoft9.0-contrib_9.0.4-eter17ubuntu_i386.deb
postgre-etersoft9.0-seltaaddon_9.0.4-eter17ubuntu_i386.deb
postgre-etersoft9.0-server_9.0.4-eter17ubuntu_i386.deb
HASP — менеджер лицензий и драйвера защиты, HASP@Etersoft (для Ubuntu Server 12.04). Список пакетов:
dkms-aksparlnx_3.2-eter1ubuntu_all.deb
haspd_3.3-eter4ubuntu_i386.deb
haspd-modules_3.3-eter4ubuntu_i386.deb
Начинаем установку. Первым делом мы будем ставить PostgreSQL.
PostgreSQL
Через FTP: в нашей домашней директории создаем папку psql, заливаем туда все пакеты от Postgre. Потом устанавливаем их, вот команды:
sudo su cd /home/darkfess/psql dpkg -i *.deb
Меняем размер выделяемой памяти, под нужны СУБД:
nano /etc/sysctl.conf
В этот конфиг необходимо вставить следующие значения:
kernel.shmall=134217728 kernel.shmmax=134217728
Применяем настройки:
sysctl -p
Генерируем локи:
locale-gen en_US ru_RU ru_RU.UTF-8 export LANG="ru_RU.UTF-8"
Создаем линк:
ln -s /lib/libreadline.so.6 /lib/libreadline.so.5
Стартуем PostgreSQL:
/etc/init.d/postgresql start
При первом запуске Postgre должен скушать новые настройки и при этом не подавится.
Тормозим PostgreSQL
/etc/init.d/postgresql stop
Далее, займемся непосредственно пользователями СУБД (роль рута в Postgre выполняет пользователь postgres). Нам необходимо задать ему пароль. Для этого, заходим в конфиг, и заменим в нем следующие строки:
nano /var/lib/pgsql/data/pg_hba.conf
local all all ident на local all all trust
Стартуем PostgreSQL:
/etc/init.d/postgresql start
Теперь установим пароль (в нашем случае — password), введя команду:
psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'password'"
Пояснения. Команда выше выполняет следующее: СУБД Postgre (psql) подключиться к базе template1 (системная база, создаваемая при установке и хранящая системные настройки) под пользователем postgres (создается на локальном сервере при установке СУБД) и меняет запись в таблице ALTER пароль (‘password’ — кавычки обязательны) для пользователя postgres. Указанные USER и PASSWORD (заглавными буквами), это столбцы в таблице.
Проверить пароль можно так:
psql -U postgres -W \q
Тормозим PostgreSQL
/etc/init.d/postgresql stop
Дальше, вернем конфиг в исходное состояние:
nano /var/lib/pgsql/data/pg_hba.conf
local all all trust на local all all ident
Стартуем PostgreSQL:
/etc/init.d/postgresql start
Примечание: если в будущем, по каким либо причинам, понадобится сменить пароль от postgres — повторяем вышеописанную процедуру заново.
Дальше. Поставим дополнительные пакеты (если уже есть — хорошо):
apt-get install libicu48 libxslt1.1
Рестарт PostgreSQL и перезагрузка системы:
/etc/init.d/postgresql restart reboot
1С
Через FTP: в нашей домашней директории создаем папку 1c, заливаем туда все пакеты от 1C. Потом устанавливаем их, вот команды:
sudo su cd /home/darkfess/1c dpkg -i *.deb
Добавляем скрипты автозапуска сервера 1С:
update-rc.d srv1cv82 defaults service srv1cv82 start
Теперь необходимо установить нужные для работы 1С локали:
locale-gen en_US locale-gen ru_RU dpkg-reconfigure locales
Теперь заходим в папку:
cd /home/usr1cv82/.1cv82/1C/1Cv82/
Убираем лишнее:
rm -r *
Пояснения. Эта команда удаляет все дефолтные параметры настроек сервера 1С (а именно БД, кластера БД, пароли администраторов кластера и тд). Мы их создадим заново. Попросту говоря, это необходимо сделать, чтобы подружить сервер 1С и СУБД PostgreSQL от Etersoft.
Даем права для пользователя и группы 1С на каталог установки. Обновляемся, ребутимся:
chown -R usr1cv82:grp1cv82 /opt/1C reboot apt-get update apt-get upgrade apt-get dist-upgrade reboot
HASP
Для полноценной работы вплоть до 12 пользователей, необходим лишь сетевой HASP-ключ на определенное пользователей. Данный HASP-ключ имеет маркировку NETXX ORGL8, где — XX количество лицензий. В случае если планируется больше 12 пользователей, также необходим серверный HASP-ключ, который имеет маркировку — ENSR8.
Для 64-битной ОС нужен 64-битный серверный HASP-ключ. 32-битный серверный HASP-ключ на 64-битной ОС работать не будет! Для нормальной работы HASP-ключей, необходимо установить драйвер для HASP-ключа и менеджер лицензий. Что мы и проделаем ниже. Поскольку некоторые программы в пакете haspd являются 32-битными, в системе должна быть установлена поддержка 32-битных программ. В Ubuntu это пакет ia32-libs.
Через FTP: в нашей домашней директории создаем папку hasp, заливаем туда все пакеты от HASP. Потом устанавливаем их, вот команды:
sudo su cd /home/darkfess/hasp dpkg -i *.deb
Ребут:
shutdown -h now
Ставим ключ, включаем сервер. Загружаются только те драйверы, ключ для которых вставлены в сервер. Проверить работает ли HASP-ключ можно командой:
service haspd status
Все готово. Далее уже идет непосредственно администрирование сервера 1С из клиентской части под Windows.
Администрирование 1С
Дальнейшее написано для тех, кто раньше не админил сервера 1С. Все будет подробно, с комментариями и картинками. Итак, настройка будет производится уже с рабочего места (клиента), который «под виндой».
Используемая система: Windows XP SP3 x86.
Используемое ПО: дистрибутив ‘1С Предприятие 8.2’, версия: 8.2.17.143 х86.
Устанавливаем:
При установке, также ставим «консоль администрирования»:
После установки, заходим в нее (Администрирование серверов 1С Предприятия):
Central 1C:Enterprise servers > Создать > Центральный сервер 1С Предприятия 8.2. Там в пункте «Имя» вводим имя сервера или его IP адрес и нажимаем ОК.
Кластеры > Создать > Кластер. Там в пункт Компьютер вводим IP адрес или имя компьютера и нажимаем ОК.
Далее, нижний пункт — Администраторы. Создаем админа в самой нижней менюшке, потом в самом кластере. Для простоты сюжета, рекомендую использовать одинаковые логины/пароли:
Далее, идем во вкладку ‘рабочие сервера’ и создаем сервер:
Сейчас будет интереснее, переходим во вкладку ‘Информационные базы’ и создаем нашу базу:
Тут все видно наглядно. IP — это IP вашего сервера в сети, пользователь postgres и его пароль (все это мы проделывали выше). Вроде все должно быть понятно со скрина. После этого, ‘консоль администрирования’ можно закрывать.
Следующим шагом, запускаем нашу клиентскую часть ‘1С Предприятие’:
Делаем, как показано на скриншотах:
Последним этапом будет запрос лицензии:
Это означает, что наш сервер 1С и СУБД работают, правильно настроены и подружились. Осталось лишь ввести лицензию, либо вставить USB-брелок с ней и все заработает. Увы, в данный момент у меня нет ни того ни другого. Посему, на этом позвольте откланяться :)
Ах да, чуть не забыл… На всякий случай, обратите внимание на файлы hosts, возможно в них потребуется добавить имена и IP ваших серверов (1С и PostgreSQL, если они расположены на разном железе):
На серверах — /etc/hosts
На виндовой машине — C:\WINDOWS\system32\drivers\etc\hosts
Удачной работы.
Перелопатил все мануалы в гугле, но твой мануал оказался самым правильным и простым во всем интернете :)