1C

Материал из wiki.nntc.nnov.ru
Версия от 12:17, 8 июня 2024; Vovan (обсуждение | вклад) (Залить дампы обратно)
Перейти к навигации Перейти к поиску

На ОС Альт платформы p9 и p10

Обновление ос с платформы p9 на p10

Снять дампы баз данных из postgres

su - root
pg_dump -U postgres cp > dump_cp.sql
pg_dump -U postgres cp_demo > dump_cp_demo.sql
pg_dump -U postgres dcp > dump_dcp.sql
pg_dump -U postgres libr > dump_libr.sql
pg_dump -U postgres postgres > dump_passport.sql

Обновить дистрибутив до самого свежего p9

apt-get update
apt-get dist-upgrade

Изменить источники для обновления

apt-get install apt-repo
apt-repo set p10

Обновиться до p10

apt-get update
apt-get clean
apt-get dist-upgrade -d

Первая команда удалит из кэша apt все старые пакеты, вторая скачает (но не установит) все нужные пакеты. Полученное содержимое /var/cache/apt может быть использовано для последующей массовой установки пакетов посредством rpm.

apt-get dist-upgrade
update-kernel -t std-def
reboot

Удалить старую версию postgres с модификациями для 1С

apt-get remove --purge postgresql12-1C postgresql12-1C-server
mv /var/lib/pgsql/data /var/lib/pgsql/data_old

Поставить и настроить актуальную для p10 версию postgres с модификациями для 1С

apt-get install postgresql15-1C postgresql15-1C-server
/etc/init.d/postgresql initdb
cp /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf.backup
cp /var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/postgresql.conf.backup
cat << 'EOF' > /var/lib/pgsql/data/pg_hba.conf 
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
host    all             all             0.0.0.0/0            md5

# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            trust
EOF
cat << 'EOF' > /var/lib/pgsql/data/postgresql.conf 
listen_addresses = '*'		# what IP address(es) to listen on;
max_connections = 100			# (change requires restart)
shared_buffers = 128MB			# min 128kB
dynamic_shared_memory_type = posix	# the default is usually the first option
max_wal_size = 1GB
min_wal_size = 80MB
log_destination = 'stderr'		# Valid values are combinations of
logging_collector = on		# Enable capturing of stderr, jsonlog,
log_directory = 'log'			# directory where log files are written,
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'	# log file name pattern,
log_file_mode = 0600			# creation mode for log files,
log_rotation_size = 10MB		# Automatic rotation of logfiles will
log_min_messages = warning		# values in order of decreasing detail:
log_checkpoints = off
log_connections = off
log_disconnections = off
log_timezone = UTC
datestyle = 'iso, mdy'
timezone = UTC
default_text_search_config = 'pg_catalog.english'
EOF
systemctl enable --now postgresql
psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate='en_US.UTF-8', datctype='en_US.UTF-8' WHERE datname='postgres';";
psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate='en_US.UTF-8', datctype='en_US.UTF-8' WHERE datname='template0';";
psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate='en_US.UTF-8', datctype='en_US.UTF-8' WHERE datname='template1';";
NEW_PASS='ваш новый пароль здесь'
psql -U postgres -c "ALTER USER postgres WITH PASSWORD '${NEW_PASS}'";

Залить дампы обратно

cd
psql -U postgres -c "CREATE DATABASE cp;"
psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate='en_US.UTF-8', datctype='en_US.UTF-8' WHERE datname='cp';GRANT ALL ON DATABASE cp TO postgres;ALTER DATABASE cp OWNER TO postgres;"

Установка продуктов 1C на Ubuntu14.04

Установка сервера

Для удобства администрирования был выбран дистрибутив UbuntuMATERemix со старым добрым GNOME-ом версии 2 (ныне существующим под названием MATE)

Установка происходит в обычном режиме. Если нужно, настраивается доступ через NoMachine.

Особенность:

На Ubuntu Server 14.04 из репозитория устанавливается Apache 2.4, с которым не работает 1C при публикации WEB-клиента
Нужно снизить версию Apache до 2.2, чтобы получилось опубликовать веб-клиент по HTTP

Снижение версии Apache до 2.2

Рабочий вариант по снижению версии был найден в этом блоге IT-шника и заключается в следующем:

Открываем файл (его по умолчанию нет):

nano /etc/apt/sources.list.d/ubuntu1204.list

Добавляем туда содержимое:

deb http://ru.archive.ubuntu.com/ubuntu/ precise main

Открываем файл (его по умолчанию тоже нет):

nano /etc/apt/preferences.d/apache22

Добавляем туда содержимое:

Package: apache*
Pin: release a=precise
Pin-Priority: 500

Обновляем список репозиториев

apt-get update

Обновляем систему (если надо)

sudo apt-get dist-upgrade

Устанавливаем apache2

sudo apt-get install apache2

Проверяем версию apache

apache2 -v

Должна быть

2.2

Работало вчера (--Vovan (обсуждение) 06:34, 27 декабря 2014 (UTC))

Установка платформы 1C:Предприятие

Установка

Для установки платформы 1С необходимо

  • Зарегистрироваться на личный кабинет пользователя 1С путем ввода данных регистрационного номера и пин кода с белого конверта, входящего в состав решения, которое приобретено у дилера 1C
  • Найти в личном кабинете дистрибутив в виде deb-пакетов
  • Скачать их, например, в домашнюю директорию пользователя
  • Распаковать, перейти в директорию с пакетами и установить (dpkg -i ./*.deb)

Развёртывание конфигурации

Для развертывания конфигурации нужно

  • запустить 1C:Предприятие и добавить конфигурацию стандартным способом (см. инструкции от 1С)
  • запустить конфигуратор для развернутой конфигурации

После запуска конфигуратора, если запуск производится впервые, система откроет диалог получения программной лицензии. В этом диалоге нужно заполнить форму и выполнить все условия по регистрации программной лицензии.

Теперь самое интересное и В А Ж Н О Е:

Если вы, например, запустили 1С:Предприятие под пользовтаелем administrator и получили программную лицензию,
то в домашней директории пользователя administrator в скрытой директории .1cv8 будет создана директория 1C,
внутри которой будет находиться полученная программная лицензия. С этого момента запуск конфигурации ПРИВЯЗАН к пользовтаелю administrator.
То есть, если Вы вдруг поставили apache2, настроили все как пишут в учебниках и в вебе конфигурация запускается, но просит лицензию, то знайте - 
пока вы не запустите apache2 от пользователя administrator, а не из под www-data (по уполчанию) - лицензия не будет найдена.

Почему?

Видимо, потому, что при запуске веб-клиента, проверяется пользователь, от которого запущен процесс apache2, далее система проверяет наличие
скрытой директории с лицензией в домашней директории пользователя, под которым работает apache2.

Важно:

Даже если Вы захотите переложить директорию с лицензией в домашнюю директорию пользвоателя www-data, ничего не получится, т.к. файл лицензии при её
запросе завязан на имя пользователя, от которого работала платформа в момент получения лицензии (ну и еще на ряд параметров железа, при изменении 
которых лицензия слетает, см. официальные руководства от 1С)

И как же быть? - Заставить apache2 запускаться от пользователя, от которого получали лицензию (в контексте этой статьи - administrator).

Как заставить Apache запускаться от пользователя, под которым была получена программная лицензия?

Открыть файл

nano /etc/apache2/envvars

Заменить строки

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

На

export APACHE_RUN_USER=administrator
export APACHE_RUN_GROUP=administrator

Перезапустить apache2

service apache2 restart