З часів моєї останньої статті по установці 1с пройшло вже більше року, і за минулий час багато що змінилося. Пам'ятається установка забирала чимало зусиль, спочатку збірка PostgreSQL з установкою 1с-івських патчів, потім дрібні заморочки з запуском сервера 1с підприємства. Я навіть зробив свій репозиторій із зібраним PostgreSQL, який працює донині, але 1с потроху пішла людям на зустріч: спочатку з'явився непогано зібраний src.rpm для RedHat / CentOS, а зараз на сайті 1с лежать вже готові збірки як для CentOS / Redhat, так і для Debian / Ubuntu. Подивимося що у них вийшло.
Завдання просте - потрібно поставити зв'язку 1с нормативних актів і PostgreSQL на Ubuntu Server 12.04 x64. Скільки пам'ятаю, якщо порівняти Ubuntu Server і Debian, Ubuntu Server через більш свіжих версій пакетів був завжди більш примхливий по дрібницях.
1. Ставимо PostgreSQL
Перш ніж почати установку, нам знадобиться провести ряд підготовчих процедур. PostgreSQL може встановитися і без цього, але простіше буде якщо відразу під час установки він створить правильні конфіги і ініціалізує базу даних із належним кодуванням.
Збільшуємо максимальний розмір сегмента пам'яті до 64Мб.
Генеруємо російську локаль і задаємо змінну середовища LANG, саме з нею буде працювати скрипт ініціалізації бази даних.
Встановлюємо необхідні завісімісті.
Після установки потрібно ще трохи підправити конфігураційний файл, що не дивно будучи поставленим у пакеті 1с він містить неправильні настройки для обробки екранують символів, і при створенні бази 1с видає помилки "syntax error at or near" SECOND "at character 127" або "syntax error at or near "SECOND" at character 227 ". Виправляємо в файлі /etc/postgresql/9.1/main/postgresql.conf наступні параметри.
Міняємо пароль для користувача postgres - це той пароль який ми будемо задавати при створенні бази даних.
Відключаємо оновлення для пакетів 1с-івського PostgreSQL.
2. Установка сервера 1с Підприємства
Даємо права для користувача і групи 1с Підприємства на каталог установки.
Додаємо в автозавантаження і запусків сервіс.
На цьому первісна настройка сервер 1с Підприємства 8.2 закінчена.
3. Налаштування config_server
Для правильної роботи тонкого клієнта і режиму керованого застосування, потрібно зробити додаткові налаштування використовуваних шрифтів, встановити і задати шлях за допомогою утиліти config_server.
Робимо символічне посилання на libc:
Встановлюємо необхідні пакети:
Завантажуємо конвертер для шрифтів і встановлюємо його:
Переходимо в каталог /opt/1C/v8.2/x86_64/utils/ і запускаємо config_server
Тепер сервер повністю налаштований і готовий до вживання.
4. Висновок
Здавалося б якщо відмовитися від складання Posgresql установка стане набагато простіше, але в підсумку за обсягом роботи виходить теж на теж, багато недоліків і ми знову повертаємося до того що новачки просто не впораються з такою установкою. Якщо наприклад взяти архів з postgresql і встановити всі пакети стандартної debian-івської послідовністю команд deb -iR * і apt-get install -f, то postgresql просто не встане і частина 1с-івських компонентів перезапишеться стандартними зі сховищ. Далі рихтування конфіга, установка локалей, установка прав доступу на каталог 1с - все це створює додаткові труднощі. І як мені здається, якщо зараз закинути роботу з 1с, і повернутися до неї року отак через два-три, то все залишиться на своїх місцях, буде все таже завсідника купа примочок і фенечек
Маю Ubuntu Server x64 12.05 LTS. У мене інша проблема: Через пару днів роботи postgresql, встановлений з бінарників 1С, звалився з помилкою:
The database cluster was initialized with HAVE_INT64_TIMESTAMP but the server was compiled without HAVE_INT64_TIMESTAMP.
It looks like you need to recompile or initdb.
і більше не запускався. З початкових кодів (що б зібрати з потрібним ключиком), що надаються 1С, він тупо не збирається, навіть з правкою файлів і установкою потрібних йому версій бібліотек. Як звідти рятувати робочі бази в такій ситуації я не знаю ..
Чисто теоретично, якщо зробити йому initdb на самому початку, такої помилки не виникне.
Інший, такий же сервер, працює нормально. Але при його інсталяції я цю процедуру проводив кілька разів, коли розбирався з локаллю.
сама процедура така:
що б кожен раз не sudoіть:
sudo -i
потрібен порожній каталог /var/lib/postgresql/9.1/main
зберігаємо старий:
mv /var/lib/postgresql/9.1/main /var/lib/postgresql/9.1/main.b
mkdir /var/lib/postgresql/9.1/main
chown postgres: postgres /var/lib/postgresql/9.1/main
chmod 700 /var/lib/postgresql/9.1/main
sudo -u postgres /usr/lib/postgresql/9.1/bin/initdb -D /var/lib/postgresql/9.1/main
Якщо в конфіги postgres встановлено використання ssl (за замовчуванням це так):
cd /var/lib/postgresql/9.1/main
ln -s /etc/ssl/certs/ssl-cert-snakeoil.pem server.crt
ln -s /etc/ssl/private/ssl-cert-snakeoil.key server.key
Зараз хочу спробувати пробувати ставити stable версію сервера від ethersoft. Але він 9.0