Целью этой работы является обобщение методов установки и настройки 32- и 64-битного 1С Сервера 8.3.7, а также сервера базы данных PostgreSQL 9.4.x, на 64-битный Ubuntu Server 14.04.
Установка 32-битного 1С Сервера на 64-битный Ubuntu 14.04 — задача далеко не тривиальная из-за различия в архитектурах пакетов и требует для своего решения нестандартных подходов. Кроме этого, затронута тема установки Apache 2.2 на Ubuntu Server 14.04 вместо Apache 2.4, что также является непростой задачей. Необходимость наличия Apache 2.2 связана с тем, что версии платформы 1С 8.3.7 в режиме веб-клиента работают только с версией Apache 2.2, но не 2.4, входящей в стандартную конфигурацию Ubuntu 14.04.
Таким образом, приведенная статья должна позволить использовать на Ubuntu Server 14.04 x64 32- и 64-битный 1С Сервер 8.3.7 с веб-клиентом.
В статье использованы материалы статей об установке 1С Сервера и PostgreSQL.
Итак, начнем.
Установите Ubuntu Server 14.04 x64 с поддержкой OpenSSH и все дальнейшие действия будем производить через SSH-консоль.
1. Установка PostgreSQL 9.4.x.
Устанавливаем необходимые локали и определяем локаль по-умолчанию (она должна совпадать с языком базы данных, которая будет создаваться при создании информационной базы на 1С Сервере. При не совпадении языков в процессе создания информационной базы будет выдаваться ошибка):
sudo locale-gen en_US
(создаем локаль английского языка)
sudo locale-gen ru_RU
(создаем локаль русского языка)
sudo update-locale LANG=ru_RU.UTF8
(по-умолчанию устанавливаем локаль русского языка)
sudo dpkg-reconfigure locales
(переконфигурируем локали)
Устанавливаем необходимые пакеты:
sudo apt-get install libxslt1.1 ssl-cert
Установка PostgreSQL 9.4.2-1.1C:
Скачиваем необходимую версию библиотеки libicu (например, в каталог /tmp) и устанавливаем ее:
cd /tmp
wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu48_4.8.1.1-3ubuntu0.6_amd64.deb
sudo dpkg -i libicu48_4.8.1.1-3ubuntu0.6_amd64.deb
Скачиваем с сайта 1С все необходимые deb-файлы в каталог /tmp и устанавливаем их именно в такой последовательности:
cd /tmp
sudo dpkg -i libpq5_9.4.2-1.1C_amd64.deb
sudo dpkg -i postgresql-client-common_154.1.1C_all.deb
sudo dpkg -i postgresql-common_154.1.1C_all.deb
sudo dpkg -i postgresql-client-9.4_9.4.2-1.1C_amd64.deb
sudo dpkg -i postgresql-9.4_9.4.2-1.1C_amd64.deb
sudo dpkg -i postgresql-contrib-9.4_9.4.2-1.1C_amd64.deb
Установка PostgreSQL 9.4.x (на момент написания статьи 9.4.6) с сайта авторов сборки PostgreSQL для 1С (большое спасибо audion за ссылку):
Добавляем репозиторий 1c.postgrespro.ru:
sudo sh -c ‘echo «deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main» > /etc/apt/sources.list.d/postgrespro-1c.list’
Импортируем ключ репозитория и обновляем список пакетов:
cd /tmp
wget —quiet -O — http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C-92 | sudo apt-key add — && sudo apt-get update
Устанавливаем PostgreSQL:
sudo apt-get install postgresql-pro-1c-9.4
После установки любым из двух вариантов от имени суперпользователя в файле /etc/postgresql/9.4/main/pg_hba.conf строку для соединения через Unix-сокет
local all postgres peer
для пользователя postgres приводим к виду:
local all postgres trust
Для бОльшей безопасности от имени суперпользователя в файле /etc/postgresql/9.4/main/postgresql.conf строку
listen_addresses = ‘*’
приводим к виду:
listen_addresses = ‘localhost’
Это ограничит доступ к серверу базы данных PostgreSQL только внутри машины, на которой он установлен. Данное ограничение можно реальзовать только в случае, когда 1С Сервер и PostgreSQL установлены на одной машине. Если указанные сервера расположены на разных машинах, то необходимо оставить опцию listen_addresses = ‘*’ или вместо ‘*’ указать IP-адрес машины, на которой установлен 1С Сервер.
Перезапускаем сервис PostgreSQL:
sudo service postgresql restart
Изменяем пароль суперпользователя postgres:
psql -U postgres -d template1 -c «ALTER USER postgres PASSWORD ‘password'»
От имени суперпользователя в файле /etc/postgresql/9.4/main/pg_hba.conf все методы аутентификации устанавливаем в значение md5, например:
local all postgres md5
Перезапускаем сервис PostgreSQL:
sudo service postgresql restart
ДОПОЛНЕНИЕ:
*Если забыли или не правильно установили локаль по-умолчанию перед установкой PostgreSQL или хотите изменить каталог размещения кластера базы данных:
После установки PostgreSQL кластер базы данных размещается в каталоге, который можно найти в файле /etc/postgresql/9.4/main/postgresql.conf в строке data_directory (обычно это /var/lib/postgresql/9.4/main). Если необходимо кластер базы данных разместить в другом каталоге, например в /var/lib/pgsql, то можно сделать следующее:
— создать дампы всех необходимых баз данных
— остановить сервис PostgreSQL:
sudo service postgresql stop
— удалить текущий каталог кластера базы данных:
sudo rm -rf /var/lib/postgresql
— установить пароль для UNIX-пользователя postgres:
sudo passwd postgres
— создать новый каталог кластера базы данных:
sudo mkdir /var/lib/pgsql
— установить UNIX-пользователя postgres владельцем каталога /var/lib/pgsql:
sudo chown -R postgres:postgres /var/lib/pgsql
— от имени UNIX-пользователя postgres инициализировать кластер базы данных с новым каталогом и новой локалью:
su postgres -c ‘/usr/lib/postgresql/9.4/bin/initdb -D /var/lib/pgsql —locale=ru_RU.UTF-8’
— от имени суперпользователя в файле /etc/postgresql/9.4/main/postgresql.conf изменить значение каталога кластера базы данных на новое размещение, т.е. в приведенном примере строку
data_directory = ‘/var/lib/postgresql/9.4/main’
нужно привести к виду
data_directory = ‘/var/lib/pgsql’
и сохранить файл
— запустить сервис PostgreSQL:
sudo service postgresql start
— восстановить необходимые базы данных из дампов
*Если PostgreSQL переустанавливался после того, как был установлен 1С Сервер, и невозможно подключить клиент к инфобазе:
— перезапустите сервис PostgreSQL:
sudo service postgresql restart
— перезапустите сервис 1С Сервера:
sudo service srv1cv83 restart
или
— перезагрузите весь сервер с Ubuntu:
sudo reboot
2. Установка Timezone и синхронизация времени (опционально).
При необходимости установить Timezone и синхронизировать время операционной системы, необходимо выполнить следующие действия:
— сконфигурировать часовой пояс:
sudo dpkg-reconfigure tzdata
и выбрать необходимый часовой пояс
— установить ntp-протокол и произвести синхронизацию времени:
sudo apt-get install ntp
sudo service ntp stop
sudo ntpdate -s time.nist.gov
sudo service ntp start
3. Установка 64-битного 1С Сервера 8.3.7.
Устанавливаем необходимые зависимости:
sudo apt-get install imagemagick
sudo apt-get install unixodbc
sudo apt-get install ttf-mscorefonts-installer
(в процессе установки необходимо принять условия лицензионного соглашения)
sudo apt-get install libgsf-1-114
Скачиваем с сайта 1С все необходимые deb-файлы в каталог /tmp и устанавливаем их (логичной выглядит следующая последовательность установки):
cd /tmp
sudo dpkg -i 1c-enterprise83-common_8.3.7-1970_amd64.deb
(обязательно)
sudo dpkg -i 1c-enterprise83-common-nls_8.3.7-1970_amd64.deb
(опционально для поддержки дополнительных языков)
sudo dpkg -i 1c-enterprise83-server_8.3.7-1970_amd64.deb
(обязательно)
sudo dpkg -i 1c-enterprise83-server-nls_8.3.7-1970_amd64.deb
(опционально для поддержки дополнительных языков)
sudo dpkg -i 1c-enterprise83-ws_8.3.7-1970_amd64.deb
(опционально для работы веб-клиента)
sudo dpkg -i 1c-enterprise83-ws-nls_8.3.7-1970_amd64.deb
(опционально для поддержки дополнительных языков)
Изменяем владельца каталога /opt/1C:
sudo chown -R usr1cv8:grp1cv8 /opt/1C
Запускаем 1С Сервер:
sudo service srv1cv83 start
4. Установка 32-битного 1С Сервера 8.3.7.
Включаем поддержку архитектуры i386 и обновляем список пакетов:
sudo dpkg —add-architecture i386
sudo apt-get update
Устанавливаем необходимые зависимости в архитектуре i386:
sudo apt-get install imagemagick:i386
sudo apt-get install unixodbc:i386
sudo apt-get install ttf-mscorefonts-installer
(в процессе установки необходимо принять условия лицензионного соглашения)
Версия i386 библиотеки libgsf-1-114 отсутствует в репозитории Ubuntu, однако имеется в репозитории Debian. Поэтому нам придется скачать эту библиотеку из репозитория Debian. Скачиваем версию i386 библиотеки libgsf-1-114 (например, в каталог /tmp) и устанавливаем ее именно в такой последовательности:
cd /tmp
wget http://ftp.us.debian.org/debian/pool/main/libg/libgsf/libgsf-1-common_1.14.36-1_all.deb
wget http://ftp.us.debian.org/debian/pool/main/libg/libgsf/libgsf-1-114_1.14.36-1_i386.deb
sudo dpkg -i libgsf-1-common_1.14.36-1_all.deb
sudo dpkg -i libgsf-1-114_1.14.36-1_i386.deb
Скачиваем с сайта 1С все необходимые deb-файлы в каталог /tmp и устанавливаем их (логичной выглядит следующая последовательность установки):
cd /tmp
sudo dpkg -i 1c-enterprise83-common_8.3.7-1970_i386.deb
(обязательно)
sudo dpkg -i 1c-enterprise83-common-nls_8.3.7-1970_i386.deb
(опционально для поддержки дополнительных языков)
sudo dpkg -i 1c-enterprise83-server_8.3.7-1970_i386.deb
(обязательно)
sudo dpkg -i 1c-enterprise83-server-nls_8.3.7-1970_i386.deb
(опционально для поддержки дополнительных языков)
sudo dpkg -i 1c-enterprise83-ws_8.3.7-1970_i386.deb
(опционально для работы веб-клиента)
sudo dpkg -i 1c-enterprise83-ws-nls_8.3.7-1970_i386.deb
(опционально для поддержки дополнительных языков)
sudo dpkg -i 1c-enterprise83-crs_8.3.7-1970_i386.deb
(опционально для функционирования хранилища конфигураций)
Изменяем владельца каталога /opt/1C:
sudo chown -R usr1cv8:grp1cv8 /opt/1C
Запускаем 1С Сервер:
sudo service srv1cv83 start
5. Установка Apache 2.2 (опционально, большое спасибо oldcopy за рекомендацию).
От имени суперпользователя добавим в список следующие репозитории:
— переключаемся в консоль суперпользователя:
sudo -i
— добавляем репозитории:
cat <<EOF >> /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu precise main restricted universe
deb http://archive.ubuntu.com/ubuntu precise-updates main restricted universe
deb http://security.ubuntu.com/ubuntu precise-security main restricted universe multiverse
EOF
— редактируем или создаем файл /etc/apt/preferences.d/preferences, добавляя в него следующие строки:
Package: apache2*
Pin: release n=precise
Pin-Priority: 900
— выходим из консоли суперпользователя:
exit
— обновляем список пакетов:
sudo apt-get update
— устанавливаем Apache 2.2:
sudo apt-get install apache2
— проверяем версию установленного Apache:
apache2 -v
6. Настройка файрвола UFW (опционально).
Для обеспеспечения бОльшей безопасности желательно настроить и включить файрвол UFW. Для этого необходимо выполнить следующие дествия:
sudo ufw allow ssh
или
sudo ufw allow 22
(если для протокола SSH используется порт 22)
sudo ufw allow 80
(для доступа по HTTP-протоколу)
sudo ufw allow 443
(для доступа по HTTPS-протоколу)
sudo ufw allow 1540
sudo ufw allow 1541
sudo ufw allow 1560:1591/tcp
(для работы 1С Сервера, если кластер серверов установлен со стандартными значениями портов)
sudo ufw enable
(включаем файрвол)
7. Установка OpenJDK 1.8 (опционально).
При необходимости запуска java-приложений (в том числе из 1С), можно установить OpenJDK 1.8 следующим образом:
— добавляем ppa-репозиторий и обновляем список пакетов:
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
— устанавливаем OpenJDK:
sudo apt-get install openjdk-8-jdk
(для установки JDK)
или
sudo apt-get install openjdk-8-jre
(для установки только JRE)
— актуализируем Java-машину (если ранее уже была установлена младшая версия Java):
sudo update-alternatives —config java
— актуализируем Java-компилятор (если ранее уже была установлена младшая версия Java):
sudo update-alternatives —config javac
— проверяем установленную версию Java:
java -version
8. Включение режима отладки 1С Сервера (опционально).
Останавливаем сервис 1С Сервера:
sudo service srv1cv83 stop
От имени суперпользователя редактируем файл /etc/init.d/srv1cv83, а именно — находим следующую строку:
#SRV1CV8_DEBUG=
раскомментируем ее и присвоим значение 1 так, чтобы получилась следующая строка:
SRV1CV8_DEBUG=1
сохраняем файл /etc/init.d/srv1cv83 и запускаем сервис 1С Сервера:
sudo service srv1cv83 start
На клиентской машине в меню конфигурации «Параметры» -> «Запуск 1С:Предприятия» -> «Дополнительные» включаем следующие пункуты:
«Устанавливать режим разрешения отладки»
«Начинать отладку при запуске»
9. Параметры для создания информационной базы на сервере и подключения к ней.
От имени суперпользователя необходимо отредактировать файл /etc/hosts таким образом, чтобы в нем была строка:
IP адрес машины, на которой установлен 1С Сервер hostname -f hostname, например:
192.168.0.111 test.example.com test
(промежутки должны быть пробелами, а не табами)
На клиентской WINDOWS-машине от имени администратора в файл C:WindowsSystem32driversetchosts необходимо добавить строку, указанную выше, например:
192.168.0.111 test.example.com test
При создании информационной базы в консоли Администрирования 1С Серверов в качестве сервера базы данных желательно указывать localhost (допустимо указывать hostname машины, на которой запущен PostgreSQL и 1С Сервер, и который прописан в файле C:WindowsSystem32driversetchosts). Данная рекомендация действительна только для случая, когда 1С Сервер и PostgreSQL находятся на одной машине. В противном случае вместо localhost необходимо указывать hostname машины, на которой установлен PostgreSQL.
При подключении к созданной информационной базе в качестве кластера серверов желательно указывать hostname машины, на которой запущен 1С Сервер и который прописан в файле C:WindowsSystem32driversetchosts (для Windows-клиентской машины), а в качестве информационной базы в кластере — имя информационной базы, указанное при ее создании. Если кластер серверов запущен на не стандартных портах, то в качестве кластера серверов указать hostname:port, например srv1c:1741.
Проверяем состояние сервисов на Ubuntu-сервере:
service postgresql status
Если все ОК, то статус должен быть «online».
service srv1cv83 status
Если все ОК, то должны быть следующие статусы:
— Init script: STARTED
— Ragent RUNNING
При необходимости проверяем статус файрвола:
service ufw status
Если файрфол запущен, то статус должен быть «start/running».
На этом установку и настройку 1С Сервера + PostgreSQL + Ubuntu 14.04 завершаем.
за труды
Все пакеты последние, а значит актуальные на текущий момент. Лайк.
Для нормального использования Linux надо все операции по установке автоматизировать, написав командный файл.
Установка сервера 1с должна проходить так:
1. Предварительно копируем все дистрибутивы и командный файл в определенную папку.
2. Запускаем командный файл.
3. Отвечаем на пару-тройку вопросов батника.
4. Все, сервер поднят и настроен.
Также нужно настроить оптимально PostgreSQL, так как с дефолтными настройками работает очень медленно.
И никаких технических проблем для специалиста Линукс написать нужный скрипт нет.
Сделайте полезное дело.
(3) zabaluev, спасибо за рекомендацию по поводу установки скриптом — попробую оформить в виде скрипта.
Что касается оптимизации PostgreSQL — это очень обширная тема, выходящая далеко за рамки преложенной статьи. В общем случае такая оптимизация зависит от аппаратного обеспечения (например, от объема RAM, SSD или HDD, на одной машине с 1С Сервером или на разных и т.д.), результатов анализа планов выполнения запросов, использования режима управляемых блокировок в коде 1С-приложения, и т.п. Таким образом, автоматизировать оптимизацию PostgreSQL, на мой взгляд, не представляется возможным.
Благодарю за отладку на сервере. Про оптимизацию постгре уже много копий поломано, однозначного рецепта нет: параметры зависят от железа, содержимого баз и требований пользователей. Дополнил бы описанием параметра data_directory разве что.
(5) shard, в п.1 сделал ДОПОЛНЕНИЕ об изменении data_directory и локали
(4) тутПростой тестовый сервер 1С 8.3 на Debian за 30 минут (Автоматическая установка на Debian x64 сервера PostgreSQL.1C + 1С + Apache и публикация тестовой БД ) я публиковал скрипт автоматической установки, вдруг что пригодится, когда свой будешь делать.
Спасибо за статью.
Во многих источника рекомендуют пересобирать Postgres из-за библиотеки libicu52.
Сам же прибегаю к тому же методу, что и в статье, что лучше установить libicu48, и не порится.
Опыт показывает, что PostgreSQL практически всегда лучше собирать из исходников. Вот тут камрад starik-2005 все грамотно и подробно показалhttp://infostart.ru/public/460864/ . Если нет желания морочить голову, можно поставить PostgreSQL Professional, подключив репозитории https://www.postgrespro.ru/products/1c_build (сборка от самих создателей патчей О. Бартунова и Ф. Сигаева).
Что же касается оптимизации PostgreSQL, это «отдельная большая тема», есть калькуляторы для первичной настройки и куча информации для тонкой.
Автору статьи: полезный материал, однозначно интересно и актуально. Было бы неплохо дополнить рекомендациями по разбивке дискового пространства, в т.ч. по разнесению каталогов БД и pg_xlog на разные физические массивы, что дает существенный прирост производительности по IO. Но, впрочем, если все это на RAID1 или 10 из серверных SSD, то, наверное, ничего разбивать и не потребуется. В любом случае плюс, большое спасибо!
(9) audion, огромное спасибо за ссылку на сайт авторов сборки PostgreSQL для 1С — уже добавил этот способ установки в статью. По поводу разбивки диска — я использую только SSD, поэтому такой необходимости не возникало (в серверах сейчас уже ставят SSD по 1,6 ТБ)
Может сделают виртуальную машину с установленным всем, где надо будет айпишник только указать.
Спасибо! Очень дельная статья.
Правда, очень не хватает раздела про установку драйверов ключа защиты.
(12) neoxil, раздел про ключ защиты добавлять не планируется, т.к. мы используем только программные лицензии и не имеем опыта с USB-ключами. Кроме этого, если сервер, на который устанавливается 1С Сервер — это VPS или арендованный Dedicated server, то, как-правило, у Вас не будет физического доступа к нему и Вы не сможете вставить USB-ключ, т.е. будете использовать программные лицензии.
(11) marat10, спасибо — хорошая мысль. Постараюсь подготовить VM и куда-то выложить.
(3) zabaluev,
Скрипт:
1. кладём всё указанное в статье в те же каталоги что и автор
2. создаём файл 1с.sh
3. в файл 1c.sh первой строчкой пишим: #!/bin/bash
4. все остальные строчки пишем так же как они указанны в статье с новой строки
5. запускаем скрипт из под рута
В общем случае оптимальная настройка PostgreSQL идёт из коробки.
http://pgtune.leopard.in.ua/
http://postgresql.leopard.in.ua/
Настройка PostgreSQL под свои задачи не разбираясь что, где и как:
Настройка PostgreSQL под свои задачи разбираясь что, где и как:
Как автор статей на которые ссылались и из которых взята определенная часть материала внесу свои замечания.
1. Установка Apache таким образом — это прибивание гвоздями нужной версии. В то время как есть штатный инструмент apt pinning. После того как мы добавили репозитории от precise в /etc/apt/preferences.d/preferences пишем:
Package:apache2*
Pin: release n=precise
Pin-Priority: 900
После чего обязательно apt-get update
и apt-get install apache2
При этом вы не прибиты к конкретной версии, а можете спокойно обновляться в рамках поддержки 12.04 (LTS).
2. По поводу скрипта. Во первых это не разу ни Linux-way, где админ полностью управляет своей системой и знает что делает у него вот этот файл или вон та настройка. Во вторых запускать чужие скрипты очень и очень небезопасно, одно дело случайный косяк, а совсем другое, если какой нибудь шутник запихнет в cron на первое января что нибудь типа rm -rf /*
3. По поводу оптимизации и тонкой настройки Postgres. На небольших внедрениях, когда используется типовая база которой просто стало мало файлового режима, настройки из коробки достаточно оптимальны, во всяком случае существенной выгоды от оптимизаций вы не получите. Выгоды на копейку, напортачить можно на рубль. На больших базах требуется индивидуальный подход и минимальные познания в PGSQL. На мой взгляд лучше никак не трогать Postgres, чем делать непонятно что, непонятно для чего и непонятно зачем, что будет с 90% читателей. Которые будут крутить настройки не понимая их значения только потому что в мануале так написано.
4, Зачем UFW, если есть iptables? И что, вы собираетесь этот сервер выставлять напрямую наружу без промежуточного файрвола? И по большому счету файрвол там не нужен, как таковой, все равно практически все, кроме порта PGSQL вам надо держать открытым наружу, а больше там ничего и нет. Любой сканер это покажет. Т.е. вы открыли то, что уже открыто и не закрыли ничего, что не нужно.
Как обновлять Postgres и сервер 1С?
(17) tr10d, Запускаете те-же пакеты (в той-же последовательности) обновленной версии- все замениться
Вот не пойму принципиальность порядка установки пакетов сервера 1С (x64) я вот ставлю в такой последовательности:
dpkg -i 1c-enterprise83-common_8.3.8-1479_amd64.deb
dpkg -i 1c-enterprise83-ws_8.3.8-1479_amd64.deb
dpkg -i 1c-enterprise83-ws-nls_8.3.8-1479_amd64.deb
dpkg -i 1c-enterprise83-common-nls_8.3.8-1479_amd64.deb
dpkg -i 1c-enterprise83-server_8.3.8-1479_amd64.deb
dpkg -i 1c-enterprise83-server-nls_8.3.8-1479_amd64.deb
Все запускается и работает!
(19) Последовательность не имеет значения, их можно вообще ставить кучей: dpkg -i *.deb, пакетный менеджер разберется сам.
С postgres такой фокус не проходит, так как он подтянет нужные зависимости из реп и вы получите сборную солянку: тут пакет из 1С, тут штатный. Самое интересное, что все это работает, но только не с 1С.
(16) oldcopy, большое спасибо за совет по установке Apache 2.2 — в статье уже поменял на этот вариант. По пп. 2 и3 — полностью поддерживаю. Что касается UFW — рекомендации по нему в статье являются опциональными (например, если по каким-либо причинам были закрыты используемые порты), сам по себе UFW — это только конфигурационная утилита файрвола и никаким образом не отменяет функционирования iptables.
(21) Здесь добавьте пробел (после двоеточия):
Package: apache2*
А то кто нибудь прямо так скопипастит.
По поводу UFW — я не против, но как-то больше привык к iptables, там хоть синтаксис сложнее, зато с первого взгляда все понятно.
(22) oldcopy, подправил код, спасибо.
Надо взять на заметку, на всякий пожарный….
Провел неделю в попытке установить 32 битный сервер 1С на Ubuntu server 14.04 64 бит.
Делаю все по данному мануалу, но веб-клиент не работает.
Судя по вопросам в интернете, такая схема не живет, т.к. веб-клиенту 1С сервер 32 бит, требуется Апач 2.2 и той же разрядности.
В противном случае апач не поднимет клиента, а мы получим ошибку wsap22.so: wrong ELF class: ELFCLASS32
Как решить такое остается проблемой.
а почему на сайте нет пакета для другой архитектуры? i386???? ((( (https://releases.1c.ru)
)
Поставил платформу 8.3.8 на Ubuntu Server 14.04. Выскакивает ошибка:
Платформа: 1С:Предприятие 8.3 (8.3.8.1652)
Ошибки:
———————————————————————————
20.05.2016 0:01:46
Ошибка загрузки библиотеки libfontconfig.so по причине:Библиотека не обнаружена.
Часть функций будет недоступна.
Обратитесь к разделу справочной системы «1С:Предприятие — Работа пользователя –
Особенности работы в Linux – Внешние библиотеки»
При этом конфигуратор запускается, база разворачивается. Но при попытке запуска в режиме управляемого приложения выскакивает ошибка. В режиме запуска обычного приложения все ОК.
dpkg -s libfontconfig1
Показывает следующее:
Package: libfontconfig1
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 512
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: same
Source: fontconfig
Version: 2.11.94-0ubuntu1
Provides: libfontconfig
Depends: fontconfig-config (= 2.11.94-0ubuntu1), libc6 (>= 2.14), libexpat1 (>= 2.0.1), libfreetype6 (>= 2.2.1)
Description: generic font configuration library — runtime
Fontconfig is a font configuration and customization library, which
does not depend on the X Window System. It is designed to locate
fonts within the system and select them according to requirements
specified by applications.
.
This package contains the runtime library needed to launch applications
using fontconfig.
Original-Maintainer: Keith Packard <keithp@debian.org>
Подскажите, в чем проблема?
(27) Irwin, Добрый день! Подскажите пожалуйста, вы решили данную проблему? Я к сожалению натолкнулась на такую же.
(28) alena-curkova, Была подобная проблема на Ubuntu 16.04, но у меня просто библиотеки libfontconfig.so и libWand.so по каким то причинам не установились (не было видно в ldconfig -p).
Помогло
sudo apt-get install libfontconfig1
и общий
apt-get install imagemagick
Приветствую, спасибо за развернутую статью. Разрешите уточнить один момент.
Установил Ubuntu 14.04, сделал все по статье с обновлениями и локалью. Далее устанавливал PostgreSQL двумя способами, описанными в данном мануале (Ubuntu переставлял каждый раз для того). И вот после того, как выставляю метод авторизации «trust», меняю пароль, выставляю md5 и даю команду «sudo service postgresql restart» выдает ошибки, что пользователь postgres не прошел проверку по паролю. Несколько сообщений такого рода выскакивает: postgres@postgres не прошел проверку по паролю, метод входа соответствует строке 85 — local all postgres md5. При этом сам сервис все таки стартует, т.к. удается поставить pgadmin как на эту, так и на удаленную машину и подключиться к серверу, поставить сервер 1С и развернуть тестовую базу. Стоит обращать внимания на данные сообщения? Каждый раз при рестарте сервера их порядка 6-8 штук.
Приветствую!
Все отлично написано, все взлетело (со второго раза) )))
Есть одно НО…
В статье упомянут веб-сервер, но ничего дельного не сказано про его установку и настройку. Уже 3 дня бьюсь с апачем, не хочет стартовать после публикации базы, ругается нанеправильный параметр «order» и не могу понять то не так.
Вроде нашел похожую статью забугорную, где говорилось что что-то неправильное в путях, но не разобрался .
Было бы хорошо, если бы была расписано как подружить апач или нгинкс с 1с-кой.
Спасибо.
Вопрос отпал сам собой…
В инструкциях указан неправильный конфиг апача, указал правильный и все завелось!
Ура!!!
Спасибо. Отличная работа. Первый раз установил ubuntu и по статье по порядку поставил postgresql и сервер 1С х64. К сожалению ничего почти не понял, что делал, но все заработало с первого раза.
Текущая версия 1С уже работает с апачи 2.4. Дополните пож-та статью какие действия надо проделать для установки этой версии, я так понимаю должно быть еще проще.
Просто apt-get install apache2, без всех подготовительных процедур.
Спасибо, разобрался, поднял уже веб сервер и опубликовал базу. Еще подскажите пож-та, как настроить автозапуск postrgresql. При запуске или рестарте сервера служба не запускается, вручную запускается без проблем.
И еще интересно было бы узнать, как возможно загрузить базу из dt непосредственно на сервере. Сейчас у меня виртуальная машина с ubuntu в локальной сети с моей Windows машиной. Я создал базу через консоль администрирования серверов с windows машины, потом открыл ее конфигуратором и загрузил базу. Но как загрузить базу на сервер находящийся в облаке, с открытым только 443 портом для доступа через Web. Планирую на амазоне AWS EC2 поднять сервер 1С, передать на него через WinSCP дтшник, а что дальше делать, слабо представляю себе.
(35) Хм, вообще то Postgres должен сам взлетать, но попробуйте:
update-rc.d postgresql defaults
По поводу сервера. На сервере базу из DT загрузить нельзя, это можно сделать только из клиентского приложения. Т.е. на сервер нужно будет установить GUI, клиент 1С и т.д. и т.п.
Но есть способ проще. Если у вас есть виртуалка на Ubuntu, то просто выгрузите базу Postgres в дамп, а на сервере загрузите ее. Подробнее можно прочитать в нашей статье:https://interface31.ru/tech_it/2013/07/rezervnoe-kopirovanie-bez-dannyh-postgresql.html
попробовал update-rc.d postgresql defaults, не помогло
Переустановил ubuntu и сделал снова все по порядку пока без сервера 1С и остальных пунктов. Postgresql все равное не стартует автоматом. Куда копать? Отличие у меня только в том что у меня Ubuntu Server 16.04.2 LTS
Принципиальной разницы быть не должно. Тогда давайте разбираться, что вы сделали не так.
Проверьте /etc/postgresql/9.4/main/start.conf там должна быть выставлена опция auto.
Потом проверьте каталоги rcN.d, там должны быть скрипты запуска для postgres.
Сделайте cat /var/log/syslog | grep postgres — получите выжимку из лога относящуюся к postgres, а там уже надо смотреть и думать.
(37)
Попробуйте sudo update-rc.d postgresql defaults
Пропишем наш сервер в автозагрузку. Для этого нужно:
Скоприовать файлик из каталога сборки «contrib/start-scripts/linux» в каталог «/etc/init.d/». Выполним «sudo cp ./contrib/start-scripts/linux /etc/init.d/postgres».
Сделать файл исполняемым «sudo chmod +x /etc/init.d/postgres»
Выполнить «sudo update-rc.d postgres defaults» для обновления информации об автозагрузке.
Ну и финальное «sudo service postgres start»
Источник:http://infostart.ru/public/460864/
В /etc/postgresql/9.4/main/start.conf есть только одна строка auto
в каталогах rcN.d с 1 по 6 есть файл скриптов
Лог выдал следующее:
Feb 26 21:27:36 ubuntu postgresql[3659]: * Stopping PostgreSQL 9.4 database server
Feb 26 21:27:36 ubuntu postgresql[3659]: …done.
Feb 26 21:27:36 ubuntu postgresql[3672]: * Starting PostgreSQL 9.4 database server
Feb 26 21:27:39 ubuntu postgresql[3672]: …done.
Feb 26 21:28:37 ubuntu postgresql[1250]: * Starting PostgreSQL 9.4 database server
Feb 26 21:28:39 ubuntu postgresql[1250]: …done.
Feb 26 21:28:59 ubuntu systemd[1]: Created slice User Slice of postgres.
Feb 26 21:28:59 ubuntu systemd[1]: Started Session c1 of user postgres.
Feb 26 21:28:59 ubuntu systemd[1]: Removed slice User Slice of postgres.
Feb 26 21:29:00 ubuntu systemd[1]: Created slice system-postgresql.slice.
Feb 26 21:29:00 ubuntu postgresql@9.4-main[3290]: Cluster is already running.
Feb 26 21:29:00 ubuntu systemd[1]: postgresql@9.4-main.service: Control process exited, code=exited status=2
Feb 26 21:29:00 ubuntu systemd[1]: postgresql@9.4-main.service: Unit entered failed state.
Feb 26 21:29:00 ubuntu systemd[1]: postgresql@9.4-main.service: Failed with result ‘exit-code’.
Feb 26 21:34:07 ubuntu systemd[1]: Removed slice system-postgresql.slice.
Сейчас попробую воспроизвести ситуацию на тестовом стенде. Вы версию Postgres от 1С ставили или PostgresPro?
Пробовал и от 1С и от PostgresPro. И то и то на чистый снимок VM с обновлениями и локалью ставил. В обоих вариантах служба при загрузке системы не стартует
В общем удалось воспроизвести ситуацию на сборке PostgresPro, сборка от 1С заработала нормально. Косяк связан с systemd, которая заменила старую систему автозагрузки. Видимо в 16.04 что-то недокрутили в плане совместимости, так как в Debian 8 (в котором тоже systemd) все работает нормально. Лечится тоже просто:
systemctl enable postgresql
(42) а как Вы ставили PostgresPRO? Добавили репу, апдейтнули и накатили или качали что-то ручками?
Строго по официальной инструкции: добавил репозиторий, поставил ключ, обновил список пакетов, поставил пакет. Все зависимости он тянет автоматом. Главное чтобы локаль системы стояла ru_RU.UTF8.
Проблема там (в 16.04) исключительно в systemd, точнее в параметрах совместимости, хотя с учетом того, что Ubuntu шла «своим путем», через upstart, то все может быть. Собственно из-за этих чудес мы уже давно перешли на Debian на рабочих серверах.
(45) просто у меня на виртуалке не было проблем со стартом постгреса. Возможно из-за того, что я устанавливал версию 9.5.1 — она, на мой взгляд, производительнее.
Я ставил 9.4 сугубо для «чистоты эксперимента», 9.5 вполне уже может учитывать все тонкости systemd в Ubuntu и проблем с ней быть не должно. Также показателен один момент, при установке на 16.04 версия 9.4 выкидывает предупреждение: «неизвестная версия 16.04», возможно поэтому что-то куда-то не дописывается и возникает нестыковка.
Спасибо ребята, помогли. Я то же обращал внимание что при установке postgresql выдавал сообщение о неизвестной ему версии 16.04, надо было сразу вам об
этом написать.
Сейчас на работе, виртуалки моей рядом нет что бы проверить. Я так понял лечится проблема вводом команды в консоле systemctl enable postgresql? Или это надо в каком-то файле systemmd такую строку прописать? Прошу простить за такие вопросы, я с линуксом только начал свое знакомство.
Вводом в консоли от имени суперпользователя или через sudo.
Отличная статья
Но не очень понял про apache.
Связка ведь не будет работать с wsap22.so если поставили 1С 32 bit
(50) Не будет, нужен и apache 32-бит.
Команда systemctl enable postgresql помогла.
Кстати попробовал поставить версию postgresql 9.5, она тоже не заводится при загрузке.
Так же вылечилось вводом systemctl enable postgresql.
Кстати вместо танцев с бубном вокруг libgsf-1-114, достаточно просто ввести
он там в библиотеке есть и установится сразу из Убунты
Доброе время суток. Подскажите как одновременно поставить 32x и 64x сервер одновременно и именно одно и того же релиза. ос Ubuntu server 16.04.2 x64 1с 8.3.9
Отличная статья, собрал связку Ubuntu16.04.2 + PostgreSQL 9.6.3. + 1C Сервер, пол года работает как часы.
Тоже вопрос остался если ставим сервер 1С 32 битный на 64 Ubuntu, то какой и как надо ставить Apache (32 или 64) , что опубликовать базу 1С
(56)Без разницы, это независящие друг от друга экосистемы. У меня обслуживается серв на центосе, там 64-битные сервер предприятия и апач, а другой серв — на винде, там 64-битный сервер предприятия и 32-битный апач.
(57) Да нет, разница есть. Разрядность Апача и библиотеки wsap22 (wsap24) должны совпадать. На винде такие фокусы реализуются проще, в Линуксе надо смотреть, что там по зависимостям требуется.
В общем посмотрел. Если в Windows wsap2x.dll входит в состав клиентской платформы, т.е. при условии того, что стоит сервер 64-бита и платформа 32-бита связка Сервер 64 + Апач 32 будет нормально работать.
В Linux пакет 1c-enterprise83-ws требует 1c-enterprise83-common, его же требует и сервер. Т.е. для связки Сервер 32 и Апач 64 (иные варианты для Linux не имеют смысла) нужно установить две версии 1c-enterprise83-common — i386 и amd64, в теории должно работать. Но могут быть и фокусы, в зависимости от того, насколько корректно 1С будет работать с такой конфигурацией. В общем надо пробовать.
(58)Да, по библиотекам момент упустил.
(59), ну как, пробовали?
День добрый, подскажите чайнику, пытаюсь скачать 1С командой wgethttps://releases.1c.ru/version_file?nick=Platform83&ver=8.3.10.2639&path=Platform8_3_10_2639server.deb32.tar.gz скачивается «version_file?nick=Platform83&ver=8.3.10.2639&path=Platform8_3_10_2639server.deb32.tar.gz», что не так?
(62) Вообще-то живая ссылка там совсем другая:
где id — длинный такой цифробуквенный «хвост».
(63) Большое спасибо, а как узнать id?
(65) А потом кто-то сделает:
и будет очень весело…
Если уж советуете подключить репозиторий от другого выпуска, то советуйте грамотно, например, черезapt-pinning .
Кроме того, Postgres от 1C требует именно определенную версию пакета и с libicu55 нормально работать не будет. Поэтому проще взять пакет из репозитория, скажем отсюда:http://archive.ubuntu.com/ubuntu/pool/main/i/icu/
(66) Вы правы.
Я уже сам сделал
Хотя сломалось у меня другое, а именно postgresql 10.
После этого я использовал совет отсюда:https://1c-programmer-blog.ru/platforma/ustanovka-servera-1s-i-postgresql-na-ubuntu-server.html
Вот он:
Раньше пакет «postgresql-common» входил в состав дистрибутива который размещался на сайте «1С», теперь же (начиная с PostgreSQL 9.6.3-1.1C) этот пакет нужно устанавливать из стандартных репозиториев.
Тут возникает небольшое затруднение, связанное с тем, что мы устанавливаем PostgreSQL 10: на данный момент стандартный репозиторий содержит неподходящую для PostgreSQL 10 версию пакета «postgresql-common».
Чтобы исправить это нужно создать файл /etc/apt/sources.list.d/pgdg.list и записать в него строку, для Ubuntu 16.04:
debhttp://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main
для Ubuntu 18.04:
debhttp://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
Затем нужно выполнить следующие команды:
wget —quiet -O —https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add —
sudo apt-get update
После этого можно установить нужную нам версию пакета «postgresql-common»:
sudo apt-get install postgresql-common