Содержание
Краткое описание
Данная статья опишет процесс установки и первичной настройки 1С 8.1.
Руководство
Предисловие
- Я надеюсь, что вы уже скачали два файла: setuplin.rar и setuppln824.rar.
- Перед началом установки убедитесь, что у вас не установлены пакеты libpq5 и libpq-dev (это оригинальные пакеты из репозитория). Если они установлены - очень много пакетов зависит от них, например apache2! Поэтому лучше устанавливать базу 1с на отдельный новый сервер. Ну или попробуйте их удалить, если вас устроит то, что будет удалено по зависимостям, то можно продолжать.
Необходимые и полезные файлы
Процесс установки
- Поместить два архива (setuplin.rar, setuppln824.rar) в одну папку со скриптами convert_*.sh (пользователь от которого запускают скрипт должен иметь право на запись в директорию).
- Итак, допустим мы в /tmp/1c
cd /tmp/1c
- Скачаем и распакуем архив со скриптами:
wget "ftp://linvinus.ru/1c/converter.tar.gz"
tar zxvf converter.tar.gz
- Вот что должно быть по команде ls -l
-rwxr--r-- 1 denis denis 10878 2008-05-25 11:52 convert_1c.sh* -rw-r--r-- 1 denis denis 7881 2008-05-25 12:05 converter.tar.gz -rwxr--r-- 1 denis denis 17002 2008-05-25 11:59 convert_postgres.sh* -rw-r--r-- 1 denis denis 50969899 2007-12-25 11:52 setuplin.rar -rw-r--r-- 1 denis denis 32828832 2007-07-12 11:44 setuppln824.rar
- Если со временем названия архивов изменятся, то их нужно будет поправить в начале файла convert.sh
в переменной SETUP_FILES в переменной ONEC_BASES_DIR скрипта convert_postgres.sh прописана директория где будут базы 1с. (по умолчанию в /srv/pgsql) будьте внимательны, в указанной директории у вас должно быть достаточно места, в идеале база должна находиться на отдельном разделе.
- Теперь запускаем скрипты конвертации из rpm в deb:
./convert_1c.sh
а затем:
./convert_postgres.sh
На все вопросы если вы с ними согласны отвечаем 'y'. Сообщения
Warning: Skipping conversion of scripts in package postgresql-server: postinst postrm preinst prerm Warning: Use the --scripts parameter to include the scripts.
просто игнорируем. На остальные обращаем внимание, т.к. в этой статье предусмотрены не все ошибки
- Конвертация из rpm в deb идёт без скриптов, т.к. скрипты установки rpm пакета в debian/ubuntu работают некорректно.
Но я создаю свои собственные которые выполняют те же действия:
- Создаются пользователь и группа для запуска 1с сервера
groupadd grp1cv81 useradd -g grp1cv81 usr1cv81
- Cоздаётся страртовый скрипт для запуска 1с. Я взял за основу скрипт из rpm и адаптировал его для запуска в Ubuntu.
- Cоздаются пользователь и группа для postgres
groupadd -g 26 -o -r postgres groupadd -g 26 -o -r postgres -u 26 postgres
- создаётся страртовый скрипт для запуска postgres
Всё это в скриптах установки deb пакетов, так же как если бы это были оригинальные пакеты для debian|ubuntu. Также в пакете postgres-server создаются пара симлинков иначе будут ошибки:
postgres@temp1C:/tmp/1c$ initdb -D /bases/pgsql/data initdb: error while loading shared libraries: libreadline.so.4: cannot open shared object file: No such file or directory postgres@temp1C:/tmp/1c$ initdb -D /bases/pgsql/data initdb: error while loading shared libraries: libtermcap.so.2: cannot open shared object file: No such file or directory
- Для корректной работы postgres требуется увеличить параметр ядра shmmax. Для этого нужно выполнить команду:
sudo echo 256000000 >/proc/sys/kernel/shmmax
- Для того, чтобы этот параметр был настроен после перезагрузки, нужно его прописать в конце файла /etc/sysctl.conf командой:
echo "kernel.shmmax=256000000" >>/etc/sysctl.conf
- Затем нужно проинициализировать базу:
sudo -H -u postgres /usr/bin/initdb -D /srv/pgsql/data
После этого в каталоге /srv/pgsql/data появятся файлы и директории.
- Находим и изменяем значения следующий переменных в файле
sudo gedit /srv/pgsql/data/postgresql.conf
default_with_oids = on stats_row_level = off effective_cache_size = 512MB
,где 512Мб = половине оперативной памяти на сервере. (у меня было 1Gb)
- В файл
sudo gedit /srv/pgsql/data/pg_hba.conf
добавляем адреса с которых можно подключаться к базе
local all postgres trust host all postgres 127.0.0.1/32 trust host all postgres 192.168.1.0/24 trust
- Теперь можно запустить базу командой
sudo /etc/init.d/postgresql start
Должно запуститься без ошибок.
- И запустить сервер 1c командой:
sudo /etc/init.d/srv1cv81 start
Дополнительные моменты
После всего вышесказанного можно подключаться клиентом и создавать базу на сервере. Для того чтобы сбросить пароль на пользователя postgresql в базе данных, нужно выполнить следующие условия:
- в файле pg_hba.conf должна быть строка:
host all all 127.0.0.1/32 trust
- в файле pg_hba.conf должна быть закоментированна строка:
#host all all 0.0.0.0/0 md5
Затем нужно выполнить:
sudo psql -h localhost postgres postgres alter user postgres with password 'postgres'; \q для выхода
Ещё один момент: убедитесь что в файле /var/lib/locales/supported.d/local есть локаль en_US ISO-8859-1
Если нет, то добавьте и выполните команду:
sudo dpkg-reconfigure locales