Установка 1С 8.3 на Debian 8
Установка приводится на примере Debian 8.1 i386, 1С 8.3.6-2152 и Etersoft PostgreSQL 9.2.1.
Что понадобится:
- дистрибутив Debian необходимой разрядности (1-й диск, либо web-установщик, взять можно по адресу https://www.debian.org/distrib/)
- дистрибутив PostgreSQL от Etersoft (взять можно по адресу ftp://ftp.etersoft.ru/pub/Etersoft/Postgre@Etersoft/, либо по адресу https://users.v8.1c.ru/ единым архивом)
- дистрибутив сервера 1С необходимой версии (взять можно по адресу https://users.v8.1c.ru/).
Подготовка Debian
Устанавливаем Debian. При установке можно задать статический адрес для облегчения доступа к серверу (в примере будет использоваться адрес 10.10.10.10) и имя компьютера (в примере будет 1c-server). По окончании установки, перезагружаем компьютер и попадаем в систему.
Для облегчения доступа к файлам, устанавливаем Midnight Commaner:
apt-get install mc
Увеличиваем максимальный объем разделяемой памяти ядра (минимум 134217728 байт, необходимо для работы сервера PostgreSQL):
echo kernel.shmmax = `echo 128*1024*1024 | bc` >> /etc/sysctl.conf
echo kernel.shmall = `echo 128*1024*1024 | bc` >> /etc/sysctl.conf
Добавляем отсутствующую локализацию (в случае русского Debian, английскую, и наоборот):
echo en_US ISO-8859-1 >> /etc/locale.gen ИЛИ echo ru_RU.UTF-8 >> /etc/locale.gen
locale-gen
Установка PostgreSQL
Создаём папку под установочные пакеты PostgreSQL, загружаем их туда (получить доступ к ftp в Midnight Commander'е можно при помощи команды cd ftp://username:[email protected], если необходимо). В папке должно получиться восемь файлов:
libpq5.5-9.2eter_9.2.1-eter8debian_i386.deb
postgre-etersoft9.2_9.2.1-eter8debian_i386.deb
postgre-etersoft9.2-contrib_9.2.1-eter8debian_i386.deb
postgre-etersoft9.2-docs_9.2.1-eter8debian_i386.deb
postgre-etersoft9.2-plperl_9.2.1-eter8debian_i386.deb
postgre-etersoft9.2-plpython_9.2.1-eter8debian_i386.deb
postgre-etersoft9.2-seltaaddon_9.2.1-eter8debian_i386.deb
postgre-etersoft9.2-server_9.2.1-eter8debian_i386.deb
Далее переходим в эту папку (*cd <путь к папке>*) и устанавливаем их командой:
dpkg -i *.deb
По окончании установки, получаем три ошибки:
insserv: warning: script 'postgresql' missing LSB tags and overridesinsserv: warning: script 'postgresql.outformat' missing LSB tags and overrides
При обработке следующих пакетов произошли ошибки:
postgre-etersoft9.0-contrib
Последняя ошибка возникает из-за неудовлетворённых зависимостей пакета, решается командой:
apt-get -f install
Первые две ошибки решаются путём подмены содержимого файлов таким образом, чтобы они начинались: /etc/init.d/postgresql с
#!/bin/bash
### BEGIN INIT INFO
# Provides: postgresql
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Should-Start: $syslog
# Should-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start postgresql.
### END INIT INFO
и /etc/init.d/postgresql.outformat с
#!/bin/bash
### BEGIN INIT INFO
# Provides: postgresql.outformat
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Should-Start: $syslog
# Should-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start postgresql.outformat.
### END INIT INFO
Затем используем две команды для добавления этих скриптов в автозапуск уже без ошибок:
update-rc.d postgresql defaultsupdate-rc.d postgresql.outformat defaults
Перезагружаем сервер, запускаем PostgreSQL (если он не запустится автоматически):
/etc/init.d/postgresql startИзменяем пароль на запись postgresql в сервере. Для этого, сначала необходимо изменить правила доступа к серверу в файле /var/lib/postgresql/data/pg_hba.conf с
local all all xxxна
local all all trust
Перезагружаем сервер командой:
/etc/init.d/postgresql restartЗатем подключаемся к серверу и меняем пароль командой:
psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'ваш пароль'"Возвращаем настройки в файле /var/lib/postgresql/data/pg_hba.conf обратно, плюс сразу меняем соответствующую строку на:
host all all 0.0.0.0/0 md5Перезагружаем PostgreSQL и проверяем его работоспособность:
/etc/init.d/postgresql statusВывод должен быть следующим:
pg_ctl: server is running (PID: 31805)/usr/bin/postgres "-p" "5432" "-D" "/var/lib/postgresql/data"
Проверяем использование сетевого порта:
netstat -plan | grep 5432Вывод должен показать:
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 1022/postmaster tcp 0 0 10.10.10.20:55207 10.10.10.20:5432 TIME_WAIT - tcp6 0 0 :::5432 :::* LISTEN 1022/postmaster unix 2 [ ACC ] STREAM LISTENING 12526 1022/postmaster /tmp/.s.PGSQL.5432
Установка сервера 1С Предприятия 8.3
Нам понадобятся следующие файлы:
1c-enterprise83-common_8.3.6-2152_i386.deb1c-enterprise83-common-nls_8.3.6-2152_i386.deb
1c-enterprise83-crs_8.3.6-2152_i386.deb
1c-enterprise83-server_8.3.6-2152_i386.deb
1c-enterprise83-server-nls_8.3.6-2152_i386.deb
1c-enterprise83-ws_8.3.6-2152_i386.deb
1c-enterprise83-ws-nls_8.3.6-2152_i386.deb
Как и в случае с PostgreSQL, собираем их в одной папке, переходим в неё и применяем команду:
dpkg -i *.debПосле установки получаем знакомые ошибки, исправляем их правкой начала файла /etc/init.d/srv1cv83 на следующее:
#!/bin/bash### BEGIN INIT INFO
# Provides: srv1cv83
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Should-Start: $syslog
# Should-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start 1C 8.3 server.
### END INIT INFO
Устанавливаем необходимые права:
chown -R usr1cv8:grp1cv8 /opt/1CЗатем добавляем скрипт автоматического старта сервера 1С Предприятия при загрузке сервера:
update-rc.d srv1cv83 defaultsДля корректной работы 1С могут потребоваться некоторые дополнительные пакеты, устанавливаем их последовательными командами:
apt-get install unixODBCapt-get install t1utils
apt-get install ttf2pt1
apt-get install msttcorefonts
apt-get install libgsf-bin
apt-get install imagemagick
apt-get install texlive-binaries
Некоторые пакеты не будут найдены в репозиториях восьмого Debian. Далее нам необходимо заменить содержимое файла /etc/apt/sources.list на следующее (репозитории восьмого Debian можно просто закомментировать символом # в начале каждой строки)
deb http://ftp.ru.debian.org/debian/ wheezy main contribdeb-src http://ftp.ru.debian.org/debian/ wheezy main contrib
deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main
deb http://ftp.ru.debian.org/debian/ wheezy-updates main
deb-src http://ftp.ru.debian.org/debian/ wheezy-updates main
После чего применить команды:
apt-get updateapt-get upgrade
apt-get dist-upgrade
Затем повторяем установку пакетов, не установившихся ранее. Перезагружаем сервер. Применяем команду:
netstat -atuЕсли присутствуют следующие строки, то сервер 1С Предприятия готов к работе:
tcp 0 0 *:1560 *:* LISTENtcp 0 0 *:postgresql *:* LISTEN
tcp 0 0 *:1540 *:* LISTEN
tcp 0 0 *:1541 *:* LISTEN
Можно приступать к созданию базы на сервере. В примере будет использоваться база buh2013. Для создания базы можно использовать либо платформу 1С Предприятия 8.3, либо консоль администрирования на Windows. Для подключения к серверу может потребоваться правка файла hosts и внесение туда информации о соотнесении имени сервера с его адресом. Имя пользователя и пароль для подключения к базе данных PostgreSQL мы заводили на этапе настройки сервера PostgreSQL. При желании, создать нового пользователя базы данных можно при помощи команд:
su postgrescreateruser -d -P -s <имя пользователя>
Установка и настройка Apache 2.2
Установка Apache 2.2 возможна только из репозиториев седьмого Debian, которые мы прописывали ранее. Если в файле /etc/apt/sources.list присутствуют репозитории восьмого Debian, будет установлен Apache версии 2.4, который не подходит для данного сервера. Устанавливаем Apache 2.2: apt-get install apache2Настраивается Apache встроенной в сервер 1С Предприятия утилитой webinst. Используется она следующим образом:
/opt/1C/v8.3/i386/webinst -apache22 -wsdir buh2013 -dir /wwwroot/buh2013 -connstr “Srvr=10.10.10.10;Ref=buh2013;” -confPath /etc/apache2/apache2.confПосле её применения, ваша база будет доступна по адресу http://10.10.10.10/buh2013. Дополнительно, может потребоваться установить менеджер лицензий HASP для активации базы, или использовать иные методы.
Сервер готов к работе.