Радиолюбительские САПР

Компьютерные вопросы, использование компьютера радиолюбителями, радиолюбительское ПО и пр.

OrCAD Capture CIS - MySQL - Миграция на удаленный сервер

alex83 » 03 июн 2024, 01:29

Из изложенного выше очевидно, что администрирование базы данных компонентов OrCAD Capture CIS может быть довольно трудным и неудобным делом, как посредством самой CIS, так и СУБД. Для того, чтобы упростить и автоматизировать администрирование и наполнение БД компонентов, а также иметь возможность удаленного доступа к CIS с разных рабочих мест, есть смысл перенести БД на удаленный сервер или выделенный локальный сервер, на котором помимо СУБД будут присутствовать WEB-сервис и скрипты, упрощающие работу по поддержанию БД компонентов в актуальном состоянии.

  1. На удаленном сервере должен быть поднят MySQL-сервер, где аналогичным образом нужно создать БД с именем, например, cis и одноименного пользователя, которому должны быть назначены следующие привилегии уровня базы данных(без глобальных привилегий):

    Код: Выделить всё
    CREATE USER 'cis'@'%' IDENTIFIED BY 'password';
    GRANT SELECT , INSERT ON `cis` . * TO 'cis'@'%';

    Это будет пользователь, через которого Capture CIS будет взаимодействовать с БД. Для него должен быть открыт доступ либо с любого хоста, либо с заданного диапазона хостов организации.
    Кроме него нужно создать ещё одного пользователя с именем, например, cis_admin с полными привилегиями на БД cis(без глобальных привилегий, либо с глобальным SELECT), из-под которого будет осуществляться администрирование базы данных CIS. Доступ для данного пользователя желательно сделать только с localhost, либо с определенных хостов локальной сети.
    Код: Выделить всё
    CREATE USER 'cis_admin'@'%' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON `cis` . * TO 'cis_admin'@'localhost' WITH GRANT OPTION ;

    Делать всё это нужно из-под пользователя root на самом сервере посредством запросов или PMA. Открывать доступ пользователю root откуда либо снаружи не следует.

  2. Далее аналогичным образом создается источник данных с именем, например, CIS_REMOTE и конфигурируется OrCAD Capture CIS для него:

  3. Переключаться между источниками данных CIS можно посредством выбора соответствующего конфигурационного файла.

  4. В MySQL Workbench можно создать новые подключения теперь уже к удаленной БД.
    Если данное приложение при подключении по каким-то причинам не сможет в течение длительного времени получить список таблиц БД, то на сервере нужно выполнить следующую команду и ввести пароль root-пользователя mysql:

    Код: Выделить всё
    mysql_upgrade -p -u root
Аватара пользователя
alex83
Имя: Александр

OrCAD Capture CIS - Перенос библиотек на удаленный сервер

alex83 » 14 июн 2024, 20:36

После того, как БД была перенесена на удаленный сервер, есть смысл подумать и над переносом туда же других ресурсов, библиотек компонентов, посадочных мест, 3D-моделей, а также файла конфигурации CIS.
Однако, нужно учитывать, что абсолютная централизация файловых ресурсов не является оптимальным решением. Во первых, это не безопасно, а во вторых не надежно, поэтому предполагается, что всё это должно находится в закрытой локальной сети, а удаленные ресурсы доступны пользователям только в режиме чтения. Т.е. пользователь может подключится к ресурсам и использовать их как есть, а если его что-то не устраивает(скорость, содержание), то он скачивает ресурс и дальше работает с ним уже у себя. Администрированием удаленных ресурсов должен заниматься некий админ или группа админов(специально обученных чуваков) по запросу снизу.

Примерный сценарий использования может быть следующим:
  • администратор поддерживает и пополняет библиотеки компонентов (в т.ч. по запросу пользователей), принимая заявки, информацию, готовые файлы и т.д.
  • пользователь подключается к удаленному ресурсу для использования как есть, либо скачивает библиотеки себе, либо копирует себе в одноименные библиотеки недостающие новые компоненты
  • при наличии WEB-интерфейса некоторые ресурсы раздаются через него, например, какие-то новые компоненты, по каким-то причинам не включенные в библиотеки или любые другие файлы

В качестве примера рассмотрим перенос файловых ресурсов на удаленный linux-сервер, на котором работает служба smb. Вопросы безопасности и соответствующей конфигурации данной службы подробно рассматривать не будем, т.к. всё это индивидуально.

  1. По аналогии с сервером MySQL на удаленном сервере нужно создать двух пользователей с именами cis и cis_admin с одноименными группами. Через пользователя cis к ресурсам будут получать доступ в режиме чтения пользователи сети, а через cis_admin будет заходить администратор для выполнения своей работы.
    Код: Выделить всё
    useradd cis
    useradd cis_admin

  2. Создаем каталог, где будут хранится файловые ресурсы и назначаем его владельцем пользователя cis_admin. Права доступа на запись задаем для владельца, а для остальных только чтение.
    Код: Выделить всё
    mrdir -p /srv/www/smb/orcad_libs
    chown -R cis_admin:cis_admin /srv/www/smb/orcad_libs
    chmod -R 755 /srv/www/smb/orcad_libs

  3. Задаем для наших пользователей пароли службы smb:
    Код: Выделить всё
    smbpasswd -a cis
    smbpasswd -a cis_admin

  4. Открываем конфигурационный файл samba /etc/samba/smb.conf и делаем в нем необходимые правки в секциях [global] и [samba]. Секции [home] и [printers], если не требуются, лучше полностью закомментировать. Сохраняем файл и перезапускаем службу smb.
    Код: Выделить всё
    [global]
    workgroup = WORKGROUP

    [samba]
    path=/srv/www/smb
    browseable=yes
    writable=yes
    valid users=cis, cis_admin

  5. При необходимости открываем порты службы smb:
    Код: Выделить всё
    iptables -A INPUT -p udp -m udp --dport 137 -j ACCEPT
    iptables -A INPUT -p udp -m udp --dport 138 -j ACCEPT
    iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
    iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
    service iptables restart

На этом простая конфигурация сервера закончена. Переходим на клиентскую машину с Windows и подключаем сетевой диск.


Открываем Capture.ini и прописываем пути к удаленным ресурсам:

В Capture.ini можно задать и пути вида \\192.168.1.2\path\to\folder, тоже будет работать.

И для Allegro PCB Editor:


Задаем централизованный конфигурационный файл CIS:


И пользуемся:



Чтобы перелогинится под другим пользователем, сначала отключаем сетевой диск, а за тем снова подключаем, установив галочку Использовать другие учетные данные:
Аватара пользователя
alex83
Имя: Александр

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1