1C: различия между версиями
Vovan (обсуждение | вклад) (→Поставить и настроить актуальную для p10 версию postgres с модификациями для 1С) |
Vovan (обсуждение | вклад) (→Поставить и настроить актуальную для p10 версию postgres с модификациями для 1С) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 59: | Строка 59: | ||
cat << 'EOF' > /var/lib/pgsql/data/pg_hba.conf | cat << 'EOF' > /var/lib/pgsql/data/pg_hba.conf | ||
# TYPE DATABASE USER ADDRESS METHOD | # TYPE DATABASE USER ADDRESS METHOD | ||
− | |||
# "local" is for Unix domain socket connections only | # "local" is for Unix domain socket connections only | ||
− | local all all | + | local all all trust |
# IPv4 local connections: | # IPv4 local connections: | ||
− | host all all 127.0.0.1/32 | + | host all all 127.0.0.1/32 trust |
host all all 0.0.0.0/0 md5 | host all all 0.0.0.0/0 md5 | ||
− | local replication all | + | |
− | host replication all 127.0.0.1/32 | + | # 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 | EOF | ||
</pre> | </pre> | ||
Строка 76: | Строка 77: | ||
cat << 'EOF' > /var/lib/pgsql/data/postgresql.conf | cat << 'EOF' > /var/lib/pgsql/data/postgresql.conf | ||
listen_addresses = '*' | listen_addresses = '*' | ||
− | max_connections = | + | max_connections = 100 # (change requires restart) |
− | shared_buffers = 4GB | + | shared_buffers = 4GB # min 128kB |
− | + | dynamic_shared_memory_type = posix # the default is usually the first option | |
− | + | max_wal_size = 2GB | |
− | |||
− | |||
− | dynamic_shared_memory_type = posix | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | max_wal_size = | ||
min_wal_size = 1GB | 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_destination = 'stderr' | + | log_rotation_size = 10MB # Automatic rotation of logfiles will |
− | logging_collector = on | + | log_min_messages = warning # values in order of decreasing detail: |
− | log_directory = 'log' | ||
− | log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' | ||
− | log_file_mode = 0600 | ||
− | log_rotation_size = 10MB | ||
− | log_min_messages = warning | ||
log_checkpoints = off | log_checkpoints = off | ||
log_timezone = 'Europe/Moscow' | log_timezone = 'Europe/Moscow' | ||
datestyle = 'iso, dmy' | datestyle = 'iso, dmy' | ||
− | timezone = ' | + | timezone = 'Europe/Moscow' |
− | lc_messages = 'ru_RU.UTF-8' | + | lc_messages = 'ru_RU.UTF-8' # locale for system error message |
− | lc_monetary = 'ru_RU.UTF-8' | + | lc_monetary = 'ru_RU.UTF-8' # locale for monetary formatting |
− | lc_numeric = 'ru_RU.UTF-8' | + | lc_numeric = 'ru_RU.UTF-8' # locale for number formatting |
− | lc_time = 'ru_RU.UTF-8' | + | lc_time = 'ru_RU.UTF-8' # locale for time formatting |
default_text_search_config = 'pg_catalog.russian' | default_text_search_config = 'pg_catalog.russian' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
EOF | EOF | ||
</pre> | </pre> | ||
Строка 145: | Строка 118: | ||
dbname='cp' | dbname='cp' | ||
psql -U postgres -c "CREATE DATABASE ${dbname};" | psql -U postgres -c "CREATE DATABASE ${dbname};" | ||
− | psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate=' | + | 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' | dbname='dcp' | ||
psql -U postgres -c "CREATE DATABASE ${dbname};" | psql -U postgres -c "CREATE DATABASE ${dbname};" | ||
− | psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate=' | + | 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' | dbname='cp_demo' | ||
psql -U postgres -c "CREATE DATABASE ${dbname};" | psql -U postgres -c "CREATE DATABASE ${dbname};" | ||
− | psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate=' | + | 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' | dbname='libr' | ||
psql -U postgres -c "CREATE DATABASE ${dbname};" | psql -U postgres -c "CREATE DATABASE ${dbname};" | ||
− | psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate=' | + | 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' | dbname='passport' | ||
psql -U postgres -c "CREATE DATABASE ${dbname};" | psql -U postgres -c "CREATE DATABASE ${dbname};" | ||
− | psql -U postgres -c "UPDATE pg_database SET encoding = pg_char_to_encoding('UTF8'), datcollate=' | + | 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;" |
====Залить в них дампы==== | ====Залить в них дампы==== |
Текущая версия на 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