В этой статье я расскажу как установить сервер 1С на debian. Причем сам сервер баз данных будет располагаться на debian х64 а кластер 1С на debian х86. Возникает вопрос «а нахрена такие сложности?» что ж справедливо. Но если вы посмотрите в прайс 1С http://www.1c.ru/ftp/pub/pricelst/price_1c.zip то увидите одну очень неприятную мелочь. Цена кластера 1С (он же сервер 1С) 32-х битного в 2 раза меньше 64-х битного. А стоит он не два рубля. Ну финансовую сторону вопроса выяснили, и ответили на вопрос: «а нахрен...» :)
Конечно можно было бы поставить 32-х битную версию линукса, но в этом случае мы теряем производительность, влетаем на ядро с PAE для поддержки памяти больше 4Гб (о последнем мнения разные бытуют). Да и тупо лень переставлять все :), а лень весомый фактор и он же двигатель прогресса :)
И так приступим. Немного еще воды, все статьи встречаемые мною в интернете, так или иначе перепечатки статей «http://www.lissyara.su/» - против него ничего не имею, напротив очень уважаю таких людей. Что не только сам проблему решит но и с людьми поделиться, неполенившись написать статью. Сразу развенчиваю миф о самбе — она не нужна!!! Конечно если вы не ставите ее специально. Многие даже не представляют что они делают, получилось и давай писать. В статье уважаемого «lissyara» самба используется для авторизации и только. На этом с водой покончено.
И так на понадобиться kvm (долго мучался с выбором между виртуалками, и остановился на нем, под винду лучше использовать оракловский virtualbox).
postgresql вайновский http://download.etersoft.ru/pub/Etersoft/Postgres%40Etersoft/9.0.4/ с версией определитесь сами я брал последний стабильный.
Сам сервер 1С http://downloads.v8.1c.ru/get/Info/Platform/8_2_15_301/deb.tar.gz вероятнее всего ссылка для незарегистрированных пользователей доступна не будет. Поэтому придется обратиться за помощью у кого есть 1С лицензионка — любая
Драйвера хаспа http://download.etersoft.ru/pub/Etersoft/HASP/stable/ в них же и менеджер лицензий отдельно ни чего искать не надо.
для начала устанавливаем
#apt-get install kvm postgresql
#apt-get puge postgresql — на первый взгляд бесполезная операция :) это мы делали для того что бы подготовить зависимости для вайновского постгреса :)
#wget -r -l 1 -c http://download.etersoft.ru/pub/Etersoft/Postgres%40Etersoft/9.0.4/
#dpkg -i *.deb
#service postgresql start — если все запустилось гуд если матюгнулся на память правим
#echo kernel.shmmax=1073741824 >> /etc/sysctl.conf
размер указывается в байтах те #echo $((1*1024*1024*1024)) в моем случае размер 1Гб.
Если лень перезагружаться можно так
#echo 1073741824 > /proc/sys/kernel/shmmax
Затем нам надо задать пароль пользователю «postgres»
Меняем пользователя на postgres (не путать реального пользователя и пользователя базы)
#su postgres
#psql
postgres=#ALTER USER postgres WITH PASSWORD 'password';
postgres=#\q
теперь настало время немного переконфигурировать наш сетевой интерфейс. Это нужно для kvm. Общаться наша реальная и виртуальная машины будут через бридж.
Содержимое /etc/network/interfaces
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.0.200
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1
bridge_ports eth0
А это конфиг с бондингом
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
bond-master bond0
auto eth1
iface eth1 inet manual
bond-master bond0
auto bond0
iface bond0 inet manual
auto br0
iface br0 inet static
address 192.168.0.200
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1
bridge_ports bond0
Перзапустим сеть.
#service networking restart
#ifconfig — проверим все ли гуд
Так теперь займемся kvm
Качаем http://cdimage.debian.org/debian-cd/6.0.4/i386/iso-cd/debian-6.0.4-i386-netinst.iso
Ставим линукс в KVM
#virt-install --ram 2048 -n lin32 --cpuset 4 -c debian-6.0.4-i386-netinst.iso --os-type='linux' --network bridge=br0 --disk path=/home/kvm/disk.i mg,size=8 --vnc on --vnclisten=0.0.0.0 —vncport=5900
#vncviewer 192.168.0.200:5900
Обязательно отмечаем ssh при установке.
Параметры сети настраиваем например так 192.168.0.250/24
Если что параметры домена можно посмотреть так:
#virsh dumpxml > lin32.xml
Отредактировать и переопределить домен можно так
#virsh define lin32.xml
#virsh shutdown lin32- выключить
#virsh start lin32- включить
просмотреть список доменов можно так
#virsh list
Это пожалуй все команды что нам понадобятся на первое время
#ssh name@192.168.0.250 — где name имя пользователя с административными привелегиями которое мы задали при установке
$su
#apt-get install unixodbc imagemagick libglib* unrar cabextract
качаем
#wget http://ftp.us.debian.org/debian/pool/contrib/m/msttcorefonts/msttcorefonts_2.7_all.deb
#wget http://ftp.us.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.4_all.deb
#wget http://ftp.widzew.net/mirror/debian/pool/main/t/ttf2pt1/ttf2pt1_3.4.4-2_i386.deb
#dpkg -i *.deb
Теперь
#wget http://downloads.v8.1c.ru/get/Info/Platform/8_2_15_301/deb.tar.gz
#tar -xzf deb.tar.gz
#dpkg -i *.deb
Проверяем
#/opt/1C/v8.2/x86_64/utils/config_server
В идеале должна быть небольшая пауза около 1мин и ни каких лишних надписей, если это не так то доустановите зависимости.
#service srv1cv82 restart
Проверяем
# netstat -anp | grep 0.0.0.0:15
tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN 3165/rphost
tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 3150/ragent
tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN 3153/rmngr
Если так, то ура у нас все получилось.
Еще один маленький секрет, если что то пошло не так перед запуском config_server нужно обязательно удалить /home/srv1cv82/.1cv82 !!!
Проверяем работоспособность создаем пустую базу. Скачиваем платформу http://downloads.v8.1c.ru/get/Info/Platform/8_2_15_301/windows.rar Версии платформы windows -клиента и линукс сервера должны совпадать!!! Создавать базу нужно из клиента под windows. У меня не получилось не разу создать базу из под клиента запущеного в wine, хотя работать так можно вполне нормально..
Мое мнение что ребята из етерсофта лажают по крупному что ни как не допустимо для коммерческого по. За версию 2.0 вообще бы их убил мне пришлось делать резкий откат. Офис 2003 не работал и не ставился, бизнес пак не запускался, но это так лирика.
При создании базы проверим что бы пинговался кластер причем по имени Пуск- выполнить — cmd — ping 192.168.0.250 проверим соединение затем ping cluster32 ( hostname — на KVM машине где установлен кластер должно возвратить cluster32 ). Если не пингуется нужно добавить в c:\windows\system32\drivers\etc\hosts 192.168.0.250 cluster32. Все эти танцы с бубном нужны потому что кластер 1с при создании нельзя указывать ип-адресом.