1C: различия между версиями
Vovan (обсуждение | вклад) (→Залить дампы обратно) |
Vovan (обсуждение | вклад) (→Залить дампы обратно) |
||
Строка 111: | Строка 111: | ||
cd | cd | ||
− | psql -U postgres -c "CREATE DATABASE cp; | + | psql -U postgres -c "CREATE DATABASE cp;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= | =Установка продуктов 1C на Ubuntu14.04= |
Версия 12:16, 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
/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;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