1C: различия между версиями
Vovan (обсуждение | вклад) (→Обновление ос с платформы p9 на p10) |
Vovan (обсуждение | вклад) (→Поставить и настроить актуальную для p10 версию postgres с модификациями для 1С) |
||
(не показано 29 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
=На ОС Альт платформы p9 и p10= | =На ОС Альт платформы p9 и p10= | ||
==Обновление ос с платформы p9 на p10== | ==Обновление ос с платформы p9 на p10== | ||
+ | |||
+ | ===Снять дампы баз данных из postgres=== | ||
su - root | su - root | ||
Строка 12: | Строка 14: | ||
pg_dump -U postgres libr > dump_libr.sql | pg_dump -U postgres libr > dump_libr.sql | ||
− | pg_dump -U passport libr | + | 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 postgresql15-1C-contrib postgresql15-1C-llvmjit postgresql15-1C-perl postgresql15-1C-python postgresql15-1C-tcl postgresql15-1C-pg_repack postgresql15-1C-docs | ||
+ | |||
+ | |||
+ | /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 | ||
+ | |||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | cat << 'EOF' > /var/lib/pgsql/data/postgresql.conf | ||
+ | listen_addresses = '*' | ||
+ | max_connections = 100 # (change requires restart) | ||
+ | shared_buffers = 4GB # min 128kB | ||
+ | dynamic_shared_memory_type = posix # the default is usually the first option | ||
+ | max_wal_size = 2GB | ||
+ | min_wal_size = 1GB | ||
+ | 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_timezone = 'Europe/Moscow' | ||
+ | datestyle = 'iso, dmy' | ||
+ | timezone = 'Europe/Moscow' | ||
+ | lc_messages = 'ru_RU.UTF-8' # locale for system error message | ||
+ | lc_monetary = 'ru_RU.UTF-8' # locale for monetary formatting | ||
+ | lc_numeric = 'ru_RU.UTF-8' # locale for number formatting | ||
+ | lc_time = 'ru_RU.UTF-8' # locale for time formatting | ||
+ | default_text_search_config = 'pg_catalog.russian' | ||
+ | EOF | ||
+ | </pre> | ||
+ | |||
+ | 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 | ||
+ | |||
+ | ====Создать пустые базы==== | ||
+ | |||
+ | dbname='cp' | ||
+ | psql -U postgres -c "CREATE DATABASE ${dbname};" | ||
+ | psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate='ru_RU.UTF-8', datctype='ru_RU.UTF-8' WHERE datname='${dbname}';GRANT ALL ON DATABASE ${dbname} TO postgres;ALTER DATABASE ${dbname} OWNER TO postgres;" | ||
+ | |||
+ | dbname='dcp' | ||
+ | psql -U postgres -c "CREATE DATABASE ${dbname};" | ||
+ | psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate='ru_RU.UTF-8', datctype='ru_RU.UTF-8' WHERE datname='${dbname}';GRANT ALL ON DATABASE ${dbname} TO postgres;ALTER DATABASE ${dbname} OWNER TO postgres;" | ||
+ | |||
+ | dbname='cp_demo' | ||
+ | psql -U postgres -c "CREATE DATABASE ${dbname};" | ||
+ | psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate='ru_RU.UTF-8', datctype='ru_RU.UTF-8' WHERE datname='${dbname}';GRANT ALL ON DATABASE ${dbname} TO postgres;ALTER DATABASE ${dbname} OWNER TO postgres;" | ||
+ | |||
+ | dbname='libr' | ||
+ | psql -U postgres -c "CREATE DATABASE ${dbname};" | ||
+ | psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate='ru_RU.UTF-8', datctype='ru_RU.UTF-8' WHERE datname='${dbname}';GRANT ALL ON DATABASE ${dbname} TO postgres;ALTER DATABASE ${dbname} OWNER TO postgres;" | ||
+ | |||
+ | dbname='passport' | ||
+ | psql -U postgres -c "CREATE DATABASE ${dbname};" | ||
+ | psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate='ru_RU.UTF-8', datctype='ru_RU.UTF-8' WHERE datname='${dbname}';GRANT ALL ON DATABASE ${dbname} TO postgres;ALTER DATABASE ${dbname} OWNER TO postgres;" | ||
+ | |||
+ | ====Залить в них дампы==== | ||
+ | |||
+ | psql -U postgres cp -f dump_cp.sql | ||
+ | |||
+ | psql -U postgres dcp -f dump_dcp.sql | ||
+ | |||
+ | psql -U postgres cp_demo -f dump_cp_demo.sql | ||
+ | |||
+ | psql -U postgres libr -f dump_libr.sql | ||
+ | |||
+ | psql -U postgres passport -f dump_passport.sql | ||
=Установка продуктов 1C на Ubuntu14.04= | =Установка продуктов 1C на Ubuntu14.04= |
Текущая версия на 14:10, 8 июня 2024
Содержание
- 1 На ОС Альт платформы p9 и p10
- 1.1 Обновление ос с платформы p9 на p10
- 1.1.1 Снять дампы баз данных из postgres
- 1.1.2 Обновить дистрибутив до самого свежего p9
- 1.1.3 Изменить источники для обновления
- 1.1.4 Обновиться до p10
- 1.1.5 Удалить старую версию postgres с модификациями для 1С
- 1.1.6 Поставить и настроить актуальную для p10 версию postgres с модификациями для 1С
- 1.1.7 Залить дампы обратно
- 1.1 Обновление ос с платформы p9 на p10
- 2 Установка продуктов 1C на Ubuntu14.04
- 3 Установка платформы 1C:Предприятие
На ОС Альт платформы 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 postgresql15-1C-contrib postgresql15-1C-llvmjit postgresql15-1C-perl postgresql15-1C-python postgresql15-1C-tcl postgresql15-1C-pg_repack postgresql15-1C-docs
/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 = '*' max_connections = 100 # (change requires restart) shared_buffers = 4GB # min 128kB dynamic_shared_memory_type = posix # the default is usually the first option max_wal_size = 2GB min_wal_size = 1GB 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_timezone = 'Europe/Moscow' datestyle = 'iso, dmy' timezone = 'Europe/Moscow' lc_messages = 'ru_RU.UTF-8' # locale for system error message lc_monetary = 'ru_RU.UTF-8' # locale for monetary formatting lc_numeric = 'ru_RU.UTF-8' # locale for number formatting lc_time = 'ru_RU.UTF-8' # locale for time formatting default_text_search_config = 'pg_catalog.russian' 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
Создать пустые базы
dbname='cp' psql -U postgres -c "CREATE DATABASE ${dbname};" psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate='ru_RU.UTF-8', datctype='ru_RU.UTF-8' WHERE datname='${dbname}';GRANT ALL ON DATABASE ${dbname} TO postgres;ALTER DATABASE ${dbname} OWNER TO postgres;"
dbname='dcp' psql -U postgres -c "CREATE DATABASE ${dbname};" psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate='ru_RU.UTF-8', datctype='ru_RU.UTF-8' WHERE datname='${dbname}';GRANT ALL ON DATABASE ${dbname} TO postgres;ALTER DATABASE ${dbname} OWNER TO postgres;"
dbname='cp_demo' psql -U postgres -c "CREATE DATABASE ${dbname};" psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate='ru_RU.UTF-8', datctype='ru_RU.UTF-8' WHERE datname='${dbname}';GRANT ALL ON DATABASE ${dbname} TO postgres;ALTER DATABASE ${dbname} OWNER TO postgres;"
dbname='libr' psql -U postgres -c "CREATE DATABASE ${dbname};" psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate='ru_RU.UTF-8', datctype='ru_RU.UTF-8' WHERE datname='${dbname}';GRANT ALL ON DATABASE ${dbname} TO postgres;ALTER DATABASE ${dbname} OWNER TO postgres;"
dbname='passport' psql -U postgres -c "CREATE DATABASE ${dbname};" psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate='ru_RU.UTF-8', datctype='ru_RU.UTF-8' WHERE datname='${dbname}';GRANT ALL ON DATABASE ${dbname} TO postgres;ALTER DATABASE ${dbname} OWNER TO postgres;"
Залить в них дампы
psql -U postgres cp -f dump_cp.sql
psql -U postgres dcp -f dump_dcp.sql
psql -U postgres cp_demo -f dump_cp_demo.sql
psql -U postgres libr -f dump_libr.sql
psql -U postgres passport -f dump_passport.sql
Установка продуктов 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