1c+postgres: различия между версиями
imported>Vix (Новая страница: «==Пример.1== Установка и настройка сервера 1С 8.2 на Linux 05:03pm 16/05/2011 Теперь устанавливаем…») |
imported>Vix Нет описания правки |
||
Строка 679: | Строка 679: | ||
[http://pg1c.ru/?page_id=173]http://pg1c.ru/?page_id=173 | * [http://pg1c.ru/?page_id=173]http://pg1c.ru/?page_id=173 ] |
Версия от 13:57, 7 июня 2018
Пример.1
Установка и настройка сервера 1С 8.2 на Linux
05:03pm 16/05/2011
Теперь устанавливаем 1С 8.2" Причины необходимости ввода именно этой версии 1С:Предпрития обсуждать не имеет смысла, так что сразу перейду к делу.
Поступила задача установить сервер 1С 8.2 на Ubuntu 10.04 и перевести все базы на нее. Задача вполне тривиальна. Как и везде, имеются свои подводные камни и тонкости, но в сущности, нет ничего невыполнимого. По некоторым вопросам меня спас гугл, где то подсказали, а где то дошел и сам. И так, начинаем. Сначала Вам необходимо скачать SQL сервер. Для Unix-платформы, достойной альтернативой MSSQL для 1С, является только PostgreSQL.
Первый подводный камень, с которым может столкнуться начинающий администратор 1С под Linux, это СУБД PostgreSQL. Сервер Баз Данных на прочь отказывается нормально работать с 1С. Здесь есть два пути. Первый: вы ищите информацию о необходимых модулях для Postgre, затем устанавливаете и настраиваете. Второй: вы можете воспользоваться уже готовой вещицей от компании Etersoft Postgre@Etersoft. В ней все есть и как заявляет производитель, все должно завестись "из коробки". Сейчас разберемся, так ли это.
По ссылке ниже, вы можете скачать рабочую и функциональную версию PostgreSQL 8.4.4 от компании Etersoft: http://download.etersoft.ru/pub/Etersoft/Postgre@Etersoft/8.4.4/ Там будет необходимо просто пройти по версии вашей ОС и скачать все имеющиеся файлы.
Теперь 1С. Я выложил на Рапиду Debian-версию 1С 8.2 для x86 и x64 архитектур (архив rar. не было возможности создать другой). https://rapidshare.com/files/574688127/setupdeb_8.2.13.219.rar - x86 архитектура https://rapidshare.com/files/846358082/setupdeb64_8.2.13.219.rar - x64 архитектура
Клиентская часть 1С 8.2: https://rapidshare.com/files/1355414632/8.2.13.219.rar
Ок. У нас есть все, чтобы начать работу.
Установка и настройка PostgreSQL.
Залейте на сервер программы (если в архиве, не забудьте распаковать), затем заходите в директорию, где находится Postgre и введите команду:
dpkg -i *.deb
По окончании установки, необходимо установить размер выделяемой памяти под нужды базы данных. Делаем: nano /etc/sysctl.conf В этот файл вставляете значения:
kernel.shmall=134217728 kernel.shmmax=134217728
Теперь применяете настройки: sysctl -p
Обязательно убедитесь, что в папке /lib имеется файл libreadline.so.5 Если его нет, значит имеется libreadline.so.6, а это значит, что на него необходимо создать символьную ссылочку: ln -s /lib/libreadline.so.6 /lib/libreadline.so.5 На всякий случай замечу, что при наличии файла libreadline.so.5, делать ссылку не надо. В представленной мной версии PostgreSQL имеется как раз нужная библиотека, но все таки обязательно проверьте.
Теперь пора запустить Postgre: /etc/init.d/postgresql start При первом запуске Postgre должен проинициализироваться и запуститься. Для того, чтобы иметь возможность подключится к СУБД (не к пользователю ОС, который создается вместе с установкой Postgre, а к пользователю с правами администратора, для управления СУБД), следует задать пароль главному пользователю СУБД - postgres, для этого в файле /var/lib/pgsql/data/pg_hba.conf найдите строку:
local all all ident
и измените ее следующим образом:
local all all trust
Это дает возможность подключится к СУБД любым локальным пользователем без пароля. Перезапустите Postgre:
/etc/init.d/postgresql restart
Теперь установите пароль, введя команду:
psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'password'" , где password (в кавычках) - пароль к пользователю. Небольшое пояснение. Команда выше выполняет следующее: СУБД Postgre (psql) подключиться к базе template1 (системная база, создаваемая при установке и хранящая системные настройки) под пользователем postgres (мы ведь отключили ввод пароля для всех локальных пользователей системы, а пользователь postgres создается на локальном сервере при установке СУБД) и меняем запись в таблице ALTER пароль ('password' - кавычки обязательны) для пользователя postgres. Указанные USER и PASSWORD (заглавными буквами), это столбцы в таблице.
После чего в pg_hba.conf меняете обратно trust на ident и еще раз перезапускаете Postgre.
Теперь установка 1С 8.2
Заходите в папку, куда скинули установщик 1С и делаете: dpkg -i *.deb
Добавляете скрипты автоматического запуска сервера 1С при старте системы: update-rc.d srv1cv82 defaults
Теперь необходимо установить необходимые для работы 1С локали: locale-gen en_US locale-gen ru_RU dpkg-reconfigure locales
Теперь заходите в папку: cd /home/usr1cv82/.1cv82/1C/1Cv82/
Делаете команду: rm -r * Эта команда удалит все файлы и папки. Здесь хранятся настройки учетки (логин и пароль) администратора сервера 1С. Дело в том, что при настройке сервера 1С, будет необходимо создать Базу данных (по сути, команда просто подключает базу данных Postgre к серверу 1С, хотя, в случае если этой базы данных не существует, может и создать ее на сервере баз данных), для чего будет запрошен пароль администратора кластера. После удаления всех файлов и папок оттуда, пароль не будет запрошен и вы спокойно сможете создать своего администратора кластера со своим паролем.
Теперь необходимо перезагрузить сервер. reboot
Теория и практика настройки 1С 8.2 Сервер.
Теперь я расскажу об общей схеме работы специально для тех, кто делает все это впервые и ранее не администрировал сервер 1С. Первое, что вам необходимо сделать, это поставить на компьютер, под управлением Windows клиентскую часть 1С, а также консоль администрирования. Первая поможет загрузить конфигурацию, настроить пользователей и т.д. Вторая поможет произвести первичную настройку кластера. В принципе, можно воспользоваться продуктом Wine@Etersoft, чтобы полностью сделать все на Linux, но по скольку разница только в настройке Wine, то я пропущу этот момент и сразу перейду к настройке Сервера 1С через консоль администрирования. Запускаем консоль (Пуск --> Все программы --> 1C Предприятие 8.2 --> Дополнительно --> Администрирование серверов 1С Предприятия), нажимаем правой клавишей мыши по Central 1C:Enterprise servers --> Создать --> Центральный сервер 1С Предприятия 8.2. Там в пункте Имя вводим имя сервера или его IP адрес и нажимаем ОК. Раскрыв появившуюся менюшку, нажимаем правой клавишей по пункту Кластеры --> Создать --> Кластер. Там в пункт Компьютер вводим IP адрес или имя компьютера (рекомендую всегда указывать IP адрес на случай сбоя в работе DNS) и нажимаем ОК. Затем, мы видим в самом нижу пункт Администраторы. Открываем его обычным образом (правой клавишей) и создаем Администратора. Затем открываем созданый кластер и там проделываем тоже самое. Рекомендую ввести одинаковый логин и пароль для обоих администраторов. Конечно, это создает определенные проблемы с безопасностью, но зато у вас будет меньше проблем с тем, что надо вспомнить какой пароль и где был введен.
Теперь нажимаем правой кнопкой по пункту Рабочие серверы. Создаем новый Рабочий сервер. В пункте Компьютер вводин IP адрес компьютера, где установлен сервер 1С. После создания, внутри появляется пункт Рабочие процессы. В нем создаем Рабочий процесс и в поле Компьютер также вводим адрес сервера 1С. Теперь переходим к разделу Информационные базы. Создаем Информационную базу таким образом, чтобы сведения были идентичны уже имеющейся, если она вообще есть. Иначе, полностью создаем новую базу. 1. Имя: вводим имя будущей базы данных 2. Описание: можно оставить пустым 3. Защищенное соединение: выбираем в соответствии с настройками вашего сервера. Я не описывал, как создать защищенное соединение, так что если вы делали 1:1 по моему описанию, значит оставляйте вариант по умолчанию (выключено) 4. Сервер баз данных: вводим имя компьютера или IP адрес, где установлен PostgreSQL. Предпочтителен ввод IP адреса. Причины описаны выше. Также хочу заметить, что если сервер БД находится на другом компьютере, это может серьезно замедлить работы базы, так как все данные начинают подсасываться из сети. Если сервер БД расположен там же, где сервер 1С, просто вводим 127.0.0.1 5. Тип СУБД: в данном описании фигурирует PostgreSQL, так что выбираем его. 6. База данных: Имя базы данных, созданной на сервере Postgre. Если вы не создавали никакой базы, то введите то имя, которое будете использовать. База с этим именем будет создана автоматически. 7. Пользователь сервера БД: по умолчанию настроен postgres. 8. Пароль пользователя БД: В пункте, как настроить пользователя администрирования БД (не путайте с Администратором кластера 1С), я рассказал, как ввести пароль к пользователю. Вот его и вводите. Далее пункты не трогаем, кроме одного: "Создать базу данных в случае ее отсутствия". Ставите там галочку, если базу данных Postgre будете создавать только сейчас. Нажимаете ОК. Через короткое время база будет создана.
Теперь запускаем клиентскую часть 1С Предприятие 8.2 Тут мы создаем новую базу на сервере 1С Предприятие. В первом окне выбираем Добавить. Далее: Создание новой информационной базы --> Создание новой информационной базы без шаблона... --> Вводим имя записи для клиента (Все, что угодно), выбираем На сервере 1С Предприятия и нажимаем Далее. 1. Кластер серверов 1С предприятия: вводим адрес сервера, где установлен сервер 1С Предприятие 2. Имя информационной базы в кластере: Имя базы, которую вы создавали несколькими пунктами ранее 3. Защищенное соединение: выбираете тот пункт, по которому у вас все настроено. Если делали 1:1 с моим описанием, то выбирайте Выключено 4. Тип СУБД: в данном описании выбираете PostgreSQL 5. Сервер баз данных: адрес сервера, где установлен сервер баз данных. 6. Имя базы данных: имя базы данных Postgre. 7-8. Пользователь и пароль БД: тот же, что и в предыдущем пункте по созданию базы на сервере 1С Предприятие 9. Создать базу в случае ее отсутствия: Если вы полностью пропустили раздел, где я описывал, как создать базу данных через Консоль администрирования сервера 1С, то поставьте здесь галочку. Жмем ОК и вскоре база будет создана. Теперь можете запускать конфигуратор и подключать ту конфигурацию, которая вам нужна.
Проблемы, с которыми я столкнулся.
Были и проблемы. Все они были решены вполне благополучно, но зато в очередной раз убедили меня в возможностях гугла. Итак, начнем-с.
1. Проблема возникла при попытке создания Базы данных. Вот сообщение: $ rake ts:config (in /home/juke/app) Generating Configuration to /home/juke/app/config/production.sphinx.conf PGError: ERROR: language "plpgsql" does not exist
Решение оказалось до крайности простым. Необходимо зайти под пользователя postgres в консоли Linux и ввести: createlang plpgsql <dbname> , где <dbname> - имя базы данных, к которой подключаетесь.
2. Проблема возникла сразу после первой. Вот сообщение: Ни один Рабочий процесс недоступен. Эта ошибка означает, что в Консоли администрирования вы не создали Рабочий процесс. Для решения проблемы вернитесь вверх по этому описанию и внимательно прочтите раздел "Теория и практика настройки 1С 8.2 Сервер."
3. Проблема возникла следом за второй. Вот сообщение: Введите пароль администратора кластера. Эта ошибка возникает по причине того, что при установке сервера 1С, программа установки запрашивает ввод административного пароля, а при установке под Линукс - нет. Зато молча прописывает какой то свой пароль в свои настройки. Если у вас возникла эта проблема, вернитесь назад по этому описанию и внимательно прочтите раздел "Теперь устанавливаем 1С 8.2"
4. Проблема возникла последней. Вот сообщение: ERROR: type modifier is not allowed type "mvarchar" at character 31 Ошибка возникает, когда установленный PostgreSQL не имеет всех необходимых модулей для работы с 1С Предприятием. В данном случае идет речь о модуле ICU (сайт проекта: http://site.icu-project.org/) Но если вы установили PostgreSQL по версии Etersoft, то модуль имеется, в чем можно убедиться, просто попытавшись его установить. Если вы сделали все точно по данному описанию, значит все, что необходимо сделать, это перезагрузить ваш сервер, о чем было сказано выше. Ошибка должна исчезнуть. Если ошибка не исчезла, то выполните следующую команду: apt-get install libicu42 Потом перезагрузитесь. Если не помогло, то создайте вторую БД с произвольным названием. Ошибка должна исчезнуть. Если все нормально, то удалите первую созданную вами БД и создайте заново.
Все. Вы имеете полностью работоспособный сервер 1С Предприятие 8.2
[1]http://dojuk.livejournal.com/2682.html
Пример.2
[2]http://linuxforum.ru/viewtopic.php?id=11116&p=12
Пример.3
[3]http://www.altlinux.org/1C
Пример.4
[4]http://www.gilev.ru/1c/81/postgresql/index.htm
Пример.5 - для Debian..
Установка платформы 1С 8.2+Postgres+HASP для Debian 5.06 x64
1) Здесь ftp://updates.etersoft.ru/pub/Etersoft/Postgres@Etersoft/stable/x86_64/Debian/5.0/ скачать файлы СУБД Postgresql стабильной версии для Debian Lenny 5.06 x64 postgresql-8.4eter-contrib_8.4.4-eter1.1debian_amd64.deb postgresql-8.4eter-server_8.4.4-eter1.1debian_amd64.deb postgresql-8.4eter_8.4.4-eter1.1debian_amd64.deb libpq5.2-8.4eter_8.4.4-eter1.1debian_amd64.deb (данный пакет появился на момент написания статьи) и сохраняем в папку, допустим такую /home/user/postgresql
2) В файле /etc/sysctl.conf увеличиваем размер рабочей памяти для Postgresql до 640 мб (можно больше, но я ограничился этим колличиством),
kernel.shmall=671088640
kernel.shmmax=671088640
и применяем эти изменения коммандой sysctl -p
3) Устанавливаем необхадимую библиотеку для Postgresql
apt-get install libxslt1.1
4) От root устанавливаем скаченные ранее пакеты Postgresql коммандой
dpkg -i /home/user/postgresql/*.deb
5) После завершения установки Postgresql стартуем СУБД /etc/init.d/postgresql start
6) Для того, чтобы иметь возможность подключится к нему следует задать пароль главному пользователю СУБД - postgres, для этого в файле /var/lib/pgsql/data/pg_hba.conf находим строку: local all all ident sameuser и изменяем ее следующим образом: local all all trust
7) Это дает возможность подключится к СУБД любым локальным пользователем без пароля. Перезапускаем Postgres:
/etc/init.d/postgresql restart
8) Теперь установим пароль: psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'password'"
9) После чего в pg_hba.conf меняем обратно trust на ident sameuser и еще раз перезапускаем Postgres.
10) Переходим в папку с дистрибутивом 1С 8.2 (в моём случае это /home/user/1c) и запускаем установку
dpkg -i *.deb
11) Изменяем владельца папки устаовки 1С 8.2,
chown -R usr1cv82»:grp1cv82 /opt/1C/v8.2
что бы 1С могла создавать/удалять/редактировать в своей рабочей папки
12) Обновляем скрипты запуска 1С
update-rc.d srv1cv81 defaults
Также уточним 1С какие порты она должна слушать, также это необходимо делать если планируется запускать дви или более сервера 1С (допустим 8.0, 8.1). Для этого отредактируем файл (сценарий запуска) /etc/init.d/srv1cv82 доведя конфигурацию до следующего вида (конфигурация и скрипт запуска 1С, расположены только в этом файле. Редактировать аккуратно)
- ------------------------------------------------------------
- 1C:Enterprise server configuration parameters
- ------------------------------------------------------------
- 1C:Enterprise server keytab file.
- default - usr1cv82.keytab file in 1C:Enterprise server
- installation directory
- SRV1CV8_KEYTAB=
- Number of the cluster port created by default during first
- launch of ragent
- default - 1540
- SRV1CV8_PORT=
SRV1CV8_PORT=1540
- Number of cluster agent main port. This port is used by the
- cluster console to address the central server. Cluster agent
- port is also specified as the IP port of the working server.
- default - 1541
- SRV1CV8_REGPORT=
SRV1CV8_REGPORT=1541
- Port range for connection pool
- example values:
- 45:49
- 45:67,70:72,77:90
- default - 1560:1691
- SRV1CV8_RANGE=
SRV1CV8_RANGE=1560:1691
- 1C:Enterprise server configuration debug mode
- 0 - default - off
- 1 - on
- SRV1CV8_DEBUG=
- Path to directory with claster data
- default - $HOMEDIR/.1cv82/1C/1Cv82
- SRV1CV8_DATA=
- Security level:
- 0 - default - unprotected connections
- 1 - protected connections only for the time of user
- authentication
- 2 - permanently protected connections
- SRV1CV8_SECLEV=
- ------------------------------------------------------------
- end of config
- ------------------------------------------------------------
Всё остальное содержимое файла относятся к запуску, а не к конфигурированнию, поэтому нас не интересует.
13) Проверяем правильность настроек
/etc/init.d/srv1cv82 restart
14) Устанавливаем необходимые для работы 1С локали: locale-gen en_US locale-gen ru_RU dpkg-reconfigure locales Убеждаемся что локаль en_US.ISO-8859-1 установлена, иначе при попытке создать ИБ в 1С получите ошибку: неверное значение для параметра "lc_messages": "en_US".
15) Устанавливаем драйвера для HASP, иначе более 12 человек не смогут одновременно работать с одной информационной базой. Заходим на страницу Aladdina http://www3.safenet-inc.com/support/hasp/enduser.aspx и скачиваем нужный нам пакет - Sentinel HASP Run-time Installer Script for Linux для SuSE RedHat Ubuntu Debian, прямая ссылка на архив ftp://ftp.aladdin.com/pub/hasp/Sentinel_HASP/Linux/Sentinel_HASP_Linux_Run-time_Installer_script.tar.gz распаковываем в папку, к примеру /home/user/sential.
16) Так как предлагаемые драйвера для архитектуры x86, необходимо установить поддержку 32х битных библиотек, в Debian это делается командой apt-get install ia32-libs пакет потянет за собой кучу зависимостей которые также необходимо будет скачать и установить (будет произведено в автоматическом режиме).
17) Установим драйвера HASP, для этого перейдём в папку /home/user/sential и запускаем установку ./dinst
18) Перезапускаем HASP для проверки правильности установки драйверов HASP /etc/init.d/haspd restart , вывод на экран должен быть примерно такой - Running aksusbd... [ DONE ] Running winehasp... [ DONE ] Running hasplm... [ DONE ] Running hasplmd... [ DONE ]
19) Перезагружаем сервер и по идеи всё после этого всё должно работать. Но лучше всегда мониторить загрузку включив в настройках логирование процесса загрузки.
[5]http://torishome.blogspot.com/2011/01/1-82postgreshasp-debian-506-x64.html
Полная установка на систему Linux
Подробная инструкция развертывания сервера 1С на Ubuntu 10.04 LTS
1. Установка сервера баз данных PostgreSQL 8.4.1 из исходников с патчами от 1С
В моем случае дистрибутив Ubuntu 10.04 Desktop 64-битный. Принципиальных отличий от сервера нет, графическую оболочку я всеравно установливаю на сервер, ну вот просто нравится, без особой нужды.
Итак, установил только что вышедший релиз Lucid Lynx . Беру права root и дальше практически все действия от него. Я постарался точно воспроизвести и последовательность и синтаксис команд в консоли, т.е. то, что выделено желтым фоном, можно тройным кликом мышки выделять, копировать и вставлять в командную строку. Получается полуавтоматическая установка . Поехали, открываем терминал, и под рутом :
locale-gen en_US
cd /usr/local/src
wget http://wwwmaster.postgresql.org/redir/295/h/source/v8.4.1/postgresql-8.4.1.tar.gz
tar -xzvf postgresql-8.4.1.tar.gz
cd postgresql-8.4.1
mkdir patches
cd patches
wget http://v8.1c.ru/overview/postgresql_patches/8-4-1/1c_FULL_84-0.19.2.patch
wget http://v8.1c.ru/overview/postgresql_patches/8-4-1/postgresql-1c-8.4.patch
wget http://v8.1c.ru/overview/postgresql_patches/8-4-1/applock-1c-8.4.1.patch
aptitude install libreadline-dev zlib1g-dev libicu-dev patch unrar
ln -s /usr/lib/libicuio.so.42.1 /usr/lib/libicuio.so.34
ln -s /usr/lib/libicui18n.so.42.1 /usr/lib/libicui18n.so.34
patch -d .. -p0 <1c_FULL_84-0.19.2.patch
patch -d .. -p0 <applock-1c-8.4.1.patch
patch -d .. -p1 <postgresql-1c-8.4.patch
cd /usr/local/src/postgresql-8.4.1/src/interfaces/ecpg/preproc/
rm preproc.h
wget http://pg1c.ru/down/preproc.h
cd /usr/local/src/postgresql-8.4.1/src/backend/parser/
rm gram.h
wget http://pg1c.ru/down/gram.h
cd /usr/local/src/postgresql-8.4.1/
Теперь все готово к компиляции
./configure --disable-integer-datetimes --prefix=/usr
make && make install
cd contrib
make && make install
Создаем пользователя и группу postgres
mkdir /var/lib/pgsql
groupadd -g 5026 -o -r postgres
useradd -g postgres -o -r -d /var/lib/pgsql -s /bin/bash -c \ "PostgreSQL Server" -u 5026 postgres
chown postgres:postgres /var/lib/pgsql
Инициализируем базу и установим пароль для postgres. На 32-битно машине может потребоваться сделать
echo 134217728 >/proc/sys/kernel/shmmax echo 134217728 >/proc/sys/kernel/shmall
И чтобы руками их постоянно не менять,впишем их значения в sysctl.conf
echo kernel.shmmax=134217728 >>/etc/sysctl.conf echo kernel.shmall=134217728 >>/etc/sysctl.conf
Инициализация от пользователя postgres
su postgres
initdb -D /var/lib/pgsql/data
pg_ctl -D /var/lib/pgsql/data start
psql
\password
\\дважды вводим пароль для пользователя базы данных postgres
\q
pg_ctl -D /var/lib/pgsql/data stop
exit
Отредактируем pg_hba.conf
nano /var/lib/pgsql/data/pg_hba.conf
- host all all 127.0.0.1/32 trust // так было
host all postgres 127.0.0.1/32 md5 // так стало
дали разрешение пользователю postgres с локального хоста коннектиться с любой базой , при этом требуется пароль.
Теперь необязательное редактирование postgresql.conf . Значения , устанавливаемые в этом файле зависят от многих факторов и собственно служат для настройки оптимальной производительности.
nano /var/lib/pgsql/data/postgresql.conf
listen_addresses = ‘127.0.0.1′ //если соединения с базой будут только с локального хоста, то надежнее сделать именно так, чтобы порт 5432 слушался только на адресе 127.0.0.1
fsync = off //значение on сильно снижает производительность, поскольку все транзакции непосредственно пишутся на жесткий диск без использования кэширования, но повышается надежность. Значение off есть смысл устанавливать, когда установлены надежные диски и надежный же UPS .
effective_cache_size = 2048MB //На моем компьютере 4Гб ОЗУ, поэтому я предположил, что этот параметр надо выставить в половину ОЗУ, как рекомендует 1С для постгреса 8.2
work_mem = 16MB //Насколько я понимаю, этот параметр зависит от среднего размера таблиц, в любом случае, для тонкой настройки надо тестировать на конкретном сервере с конкретной базой.
Создадим простой скрипт для запуска сервера баз данных при старте системы.
nano /etc/init.d/postgres
вот такого содержания :
- !/bin/sh
case $1 in restart) sudo -u postgres -H /usr/bin/pg_ctl -D /var/lib/pgsql/data -l /var/lib/pgsql/data/pg.log stop sudo -u postgres -H /usr/bin/pg_ctl -D /var/lib/pgsql/data -l /var/lib/pgsql/data/pg.log start
start) sudo -u postgres -H /usr/bin/pg_ctl -D /var/lib/pgsql/data -l /var/lib/pgsql/data/pg.log start
stop) sudo -u postgres -H /usr/bin/pg_ctl -D /var/lib/pgsql/data -l /var/lib/pgsql/data/pg.log stop
- )
echo start|stop|restart return 1;
esac
chmod u+x /etc/init.d/postgres
update-rc.d postgres defaults
Рискнем рестартовать сервер и проверим запустится ли постгрес.
У меня запустился
root@atec-itx:~# netstat -atn|grep 5432 tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
Первый этап на этом закончен.
2. Установка сервера 1cv82
Здесь не должно возникнуть сложностей с установкой. Я скачал rar-архив с deb-пакетами версии 8.2.10-82_amd64 , распаковал в каталог /usr/local/srv1c . Вот эти пакеты
1c-enterprise82-common_8.2.10-82_amd64.deb 1c-enterprise82-common-nls_8.2.10-82_amd64.deb 1c-enterprise82-server_8.2.10-82_amd64.deb 1c-enterprise82-server-nls_8.2.10-82_amd64.deb 1c-enterprise82-ws_8.2.10-82_amd64.deb 1c-enterprise82-ws-nls_8.2.10-82_amd64.deb cd /usr/local/src/srv1c
dpkg -i *.deb
update-rc.d srv1cv82 defaults
Среди установленных файлов будет утилита config_server , она лежит в /opt/1C/v8.2/x86_64/utils
cd /opt/1C/v8.2/x86_64/utils
./config_server
Скорее всего ответ будет таким
Can not detect font directory, please specify it!
не обнаружен каталог с нужными шрифтами. Ну у нас его и нет
aptitude install ttf-mscorefonts-installer //без MS дороги в будущее нет
Опять запустим утилиту
./config_server
No truetype conversion utility found! Please install ttf2afm or ttf2pt1!
aptitude install t1utils libt1-5
wget http://altruistic.lbl.gov/mirrors/ubuntu/pool/universe/t/ttf2pt1/ttf2pt1_3.4.4-1.1_amd64.deb
dpkg -i ttf2pt1/ttf2pt1_3.4.4-1.1_amd64.deb
И еще раз
./config_server
если надолго задумался, значит мы его победили
Кажется все, рестартуем нашу убунту, чтобы убедиться, что и постгрес и 1С-сервер запускаются при старте системы.
netstat -atn|grep 0.0.0.0:15
должны увидеть что-то типа
tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1561 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1562 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1563 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN
если так, то идем дальше, нет, ищем ошибки и устраняем.
3. Установка http-сервера apache
Очевидно, что без вэб-сервера нельзя реализовать новые возможности 1С:Предприятия версии 8.2 . Поэтому ставим apache.
aptitude install apache2
все, апач установлен и уже работает , проверьте зайдя браузером по адресу
если вэб-сервер не планируется использовать для других целей, то он готов к работе с 1с.
Теперь создадим первую базу 1с на нашем сервере. Предварительно дадим команду
hostname
и полученное имя и IP адрес сервера впишем на виндовсе в C:\Windows\system32\drivers\etc\hosts
что-то типа
192.168.1.14 srv1c
Через оснастку управления серверами 1с создаем центральный сервер, а далее как обычно, добавляем базу на сервере. Примерно так надо заполнить окно создания базы на сервере
Здесь
srv1c – имя нашего сервера, совпадающее с hostname
erste - имя создаваемой базы. (Не создавайте себе проблем, придумывая имена с русскими символами.)
Запомним строку подключения Srvr="srv1c";Ref="erste";
Идем в любимый терминал под рутом.
mkdir /var/www/erste
/opt/1C/v8.2/x86_64/webinst -apache22 -wsdir erste -dir '/var/www/erste/' -connStr 'Srvr="srv1c";Ref="erste";' -confPath /etc/apache2/httpd.conf
Заметьте одинаковость текста с голубым фоном.
Если будете копировать строку с командой webinst отсюда и получите ошибку, поменяйте все одинарные кавычки на апострофы (Буква Э рядом с Enter)
Убедимся в правильности внесенных изменений
nano /etc/apache2/httpd.conf
LoadModule _1cws_module "/opt/1C/v8.2/x86_64/wsap22.so"
- 1c publication
Alias "/erste" "/var/www/erste/" <Directory "/var/www/erste/">
AllowOverride None Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "/var/www/erste/default.vrd"
</Directory>
Теперь посмотрим что вписалось в файле default.vrd
nano /var/www/erste/default.vrd
<?xml version="1.0" encoding="UTF-8"?> <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" base="/erste" ib="Srvr="srv1c";Ref="erste";"/>
Опять обратите внимание на выделенное голубым, здесь кавычки заменены их представлением в HTML "
chown -R www-data:www-data /var/www/erste
Отключаем в браузере блокировку всплывающих окон, иначе мы ничего не увидим. Рестартуем апач
/etc/init.d/apache2 restart
и заходим браузером на адрес
получаем
т.о. переходим к следующему пункту установки сервера
4. Установка драйвера HASP с менеджером лицензий
aptitude install ia32-libs
cd /usr/local/src
wget ftp://ftp.aladdin.com/pub/hasp/srm/Linux/HASP_SRM_LINUX_3.50_Run-time_Installer_script.tar.gz
Распаковываем
tar xzf HASP_SRM_LINUX_3.50_Run-time_Installer_script.tar.gz
cd HASP_SRM_LINUX_3.50_Run-time_Installer_script
./dinst . //не забудьте про точки в начале и конце строки (это для нелинуксоидов
До недавнего времени с usb-драйвером hasp в ubuntu 10.04 была проблема. Решилось установкой дополнения к драйверу от etersoft
cd /usr/local/src
wget http://ftp.etersoft.ru/pub/Etersoft/HASP/3.2/x86_64/Ubuntu/10.04/haspd_3.2-eter1ubuntu_amd64.deb
dpkg -i haspd_3.2-eter1ubuntu_amd64.deb
Кроме того, что это дополнение решает проблему usbfs монтированием /dev/bus в /proc/bus , еще и позволяет ограничивать доступ к лицензиям 1С в файле /etc/haspd/hasplm.conf например :
NHS_IP_LIMIT = 127.0.*.*, 192.168.1.*
Вот теперь , кажется все готово. Для полной уверенности рестартуем наш Ubuntu-сервер и опять пробуем зайти по адресу
получаем