Это старая версия документа.


Автоматизация процесса переформирования и опубликования HTML-публикации на сервере

Вопрос:

У меня настроено формирование HTML-публикации через планировщик.

Как можно автоматически опубликовать для общего доступа сформированную публикацию?

Ответ:

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

Предполагается, что публикация находится в папке C:\Pub сервера.

  1. Однократная настройка:
    1. Внести правки в конфигурационные файлы (ниже указаны параметр и его новое значение):
      • C:\Pub\Apache2.4\conf\httpd.conf
        • ServerRoot "C:/pub/Apache2.4"
        • Listen 80
      • C:\Pub\MySQL Server 5.6\bin\my.ini
        • port=5566
        • basedir="C:/pub/MySQL Server 5.6"
        • datadir="C:/pub/MySQL Server 5.6/dbdata/"
      • C:\Pub\www\bsportal.ini
    2. Создать папку C:\Pub.cfg  и скопировать в нее вышеперечисленные конфигурационные файлы.
    3. Создать службы Pub_Apache и Pub_MySQL и запустить их с помощью команд:
      • "C:\Pub\Apache2.4\bin\httpd.exe" -k install -n Pub_Apache -f "C:\Pub.cfg\httpd.conf"
      • "C:\Pub\MySQL Server 5.6\bin\mysqld.exe" --install Pub_MySQL --defaults-file="C:\Pub.cfg\my.ini"
      • net start Pub_Apache
      • net start Pub_MySQL
  2. Далее можно с заданной периодичностью (например, с помощью bat-файла, запускаемого через планировщик) переформировывать публикацию, останавливая и запуская службы веб-сервера до и после, соответственно, и копируя ранее сохраненный bsportal.ini:
    • net stop Pub_Apache
    • net stop Pub_MySQL
    • "C:\Program Files (x86)\STU-Soft\Business Studio 4.1\Business Studio Enterprise.exe" /server=<ИМЯСЕРВЕРА> /db=<ИМЯБАЗЫДАННЫХ> /runcmd="БизнесМодель.КлиентскиеМетоды.HTMLПубликация C:\Pub,<ИМЯГРУППЫ>" /quit
    • copy /y C:\Pub.cfg\bsportal.ini C:\Pub\www\bsportal.ini
    • net start Pub_MySQL
    • net start Pub_Apache

 

Примечания:

  1. Для редактирования файлов конфигурации нужно использовать редактор NotePad++ или другой редактор, корректно работающим с кодировками.
    Стандартный Notepad из ОС Windows для этих целей не подойдёт.
  2. Убедитесь, что указанные порты не заняты в системе.
  3. Убедитесь, что брандмауэр разрешает соединения с портом службы Pub_Apache.
  4. Имя сервера (SERVERNAME) можно указывать также в виде FQDN, если сеть это позволяет.
  5. В планировщике убедитесь, что задача выполняется с наивысшими правами (Рис. 1).
Рисунок 1. Окно планировщика заданий
Driven by DokuWiki