]> git.stg.codes - stg.git/commitdiff
Help updated
authorMaxim Mamontov <faust.madf@gmail.com>
Sat, 24 Dec 2011 14:09:33 +0000 (16:09 +0200)
committerMaxim Mamontov <faust.madf@gmail.com>
Sat, 24 Dec 2011 14:09:33 +0000 (16:09 +0200)
doc/help.odt
doc/help/ch1.xml
doc/help/ch2.xml
doc/help/ch3.xml
doc/help/ch4.xml

index b1373c8240cbb154c1f642cc484d6032957fb4a0..cc9e93731d957657d3d4c78a82da3028009c1621 100644 (file)
Binary files a/doc/help.odt and b/doc/help.odt differ
index 94305d76371da7cd15ffe09b572041eda27a1a41..870c249fb748573486956775e92b6e0e0c7d1272 100644 (file)
@@ -1,20 +1,20 @@
-<chapter xml:id="ch1">
-    <title>Назначение и возможности системы</title>
-    <para>Система Stargazer (далее просто «система») предназначена для авторизации и учета трафика в локальных сетях. При написании данной системы была поставлена задача создать продукт, который отвечал бы требованиям большинства локальных сетей для учета в них трафика и средств клиентов, а также безопасной авторизации клиентов.</para>
-    <para>Система построена по клиент-серверной технологии, что обеспечивает необходимую гибкость и быстродействие. В качестве сервера выступает машина с ОС Linux или FreeBSD и архитектурой x86/x86_64/SPARC. В качестве клиентов могут выступать машины как семейства Windows, так и клиенты с ОС GNU/Linux или FreeBSD. Так же клиентом может выступать любая ОС, в которой есть поддержка сетевых протоколов TCP-IP и WEB-броузер.</para>
-    <para>Система имеет модульную структуру, что позволяет гибко изменять ее конфигурацию и функциональность.</para>
-    <para>Основные возможности системы:</para>
-    <itemizedlist mark="opencircle">
-        <listitem><para>контроль над клиентами сети, их добавление, удаление, текущие корректировки;</para></listitem>
-        <listitem><para>авторизация клиента, с последующим разрешением или запретом доступа в Internet;</para></listitem>
-        <listitem><para>подсчет трафика по предварительно заданным направлениям и правилам;</para></listitem>
-        <listitem><para>подсчет израсходованных клиентом средств и автоматическое отключение в случае их полного расходования;</para></listitem>
-        <listitem><para>хранение дополнительной информации о клиенте, такой как домашний адрес, телефон и т.д.;</para></listitem>
-        <listitem><para>автоматический пинг всех клиентов сети и вывод результатов на экран;</para></listitem>
-        <listitem><para>ведение истории для всех клиентов;</para></listitem>
-        <listitem><para>журналирование действий администраторов системы;</para></listitem>
-        <listitem><para>оперативное предоставление клиенту информации о его трафике и наличии средств;</para></listitem>
-        <listitem><para>формирование подробных отчетов о состоянии клиентов;</para></listitem>
-        <listitem><para>подключаемые модули.</para></listitem>
-    </itemizedlist>
-</chapter>
+<chapter xml:id="ch1"> 
+       <title>Назначение и возможности системы.</title>
+       <para>Система Stargazer (далее просто «система») предназначена для авторизации и учета трафика в локальных сетях. При написании данной системы была поставлена задача создать продукт, который отвечал бы требованиям большинства локальных сетей для учета в них трафика и средств клиентов, а также безопасной авторизации клиентов.</para>
+       <para>Система построена по клиент-серверной технологии, что обеспечивает необходимую гибкость и быстродействие. В качестве сервера выступает машина с ОС Linux или FreeBSD и архитектурой x86/x86_64/SPARC. В качестве клиентов могут выступать машины как семейства Windows, так и клиенты с ОС Linux или FreeBSD. Так же клиентом может выступать любая ОС, в которой есть поддержка сетевых протоколов TCP-IP и WEB-броузер.</para>
+       <para>Система имеет модульную структуру, что позволяет гибко изменять ее конфигурацию и функциональность.</para>
+       <para>Основные возможности системы:</para>
+       <itemizedlist mark="opencircle">
+               <listitem><para>контроль над клиентами сети, их добавление, удаление, текущие корректировки;</para></listitem>
+  <listitem><para>авторизация клиента, с последующим разрешением или запретом доступа в Internet;</para></listitem>
+  <listitem><para>подсчет трафика по предварительно заданным направлениям и правилам;</para></listitem>
+  <listitem><para>подсчет израсходованных клиентом средств и автоматическое отключение в случае их полного расходования;</para></listitem>
+  <listitem><para>хранение дополнительной информации о клиенте, такой как домашний адрес, телефон и т.д.;</para></listitem>
+  <listitem><para>автоматический пинг всех клиентов сети и вывод результатов на экран;</para></listitem>
+  <listitem><para>ведение истории для всех клиентов;</para></listitem>
+  <listitem><para>журналирование действий администраторов системы;</para></listitem>
+  <listitem><para>оперативное предоставление клиенту информации о его трафике и наличии средств;</para></listitem>
+  <listitem><para>формирование подробных отчетов о состоянии клиентов;</para></listitem>
+  <listitem><para>подключаемые модули;</para></listitem>
+ </itemizedlist>
+ </chapter>
\ No newline at end of file
index 0657cb68a86145454bc5682a46a4f20a2bdd1667..5235b097554a7fdf5297091c56b3147f7ceb9124 100644 (file)
@@ -1,12 +1,12 @@
 <chapter xml:id="ch2">
 <chapter xml:id="ch2">
-    <title>Описание компонентов системы</title>
+    <title>Описание компонентов системы.</title>
     <para>Составными компонентами системы являются:</para>
     <orderedlist numeration="arabic">
     <para>Составными компонентами системы являются:</para>
     <orderedlist numeration="arabic">
-        <listitem><para>сервер;</para></listitem>
-        <listitem><para>конфигуратор;</para></listitem>
-        <listitem><para>авторизатор.</para></listitem>
+        <listitem><para>Сервер;</para></listitem>
+        <listitem><para>Ð\9aонфигуратор;</para></listitem>
+        <listitem><para>Ð\90вторизатор.</para></listitem>
     </orderedlist>
     <para>Сервер – служит для авторизации клиентов, манипуляции правилами сетевого фильтра (firewall), подсчета трафика, выполнения финансовых операций, хранения информации о статистике и выдаче её клиентам и администраторам.</para>
     <para>Конфигуратор – используют администраторы сети. Служит для просмотра и редактирования свойств клиентов. Конфигуратор является основным инструментарием для администрирования системы. Доступ к различным функциям разграничен для различных категорий администраторов. С помощью конфигуратора выполняются все финансовые операции с клиентскими счетами, так же просматривается подробная статистика клиентов. Конфигуратором настраиваются некоторые параметры сервера, например тарифные планы и администраторы.</para>
     <para>Авторизатор – используется на клиентских машинах. С его помощью происходит авторизация клиента на сервере, получение права на доступ в Интернет или к другим ресурсам, которые разрешены администратором. Так же авторизатор позволяет клиенту просмотреть свою статистику и состояние денежных средств на счету.</para>
     </orderedlist>
     <para>Сервер – служит для авторизации клиентов, манипуляции правилами сетевого фильтра (firewall), подсчета трафика, выполнения финансовых операций, хранения информации о статистике и выдаче её клиентам и администраторам.</para>
     <para>Конфигуратор – используют администраторы сети. Служит для просмотра и редактирования свойств клиентов. Конфигуратор является основным инструментарием для администрирования системы. Доступ к различным функциям разграничен для различных категорий администраторов. С помощью конфигуратора выполняются все финансовые операции с клиентскими счетами, так же просматривается подробная статистика клиентов. Конфигуратором настраиваются некоторые параметры сервера, например тарифные планы и администраторы.</para>
     <para>Авторизатор – используется на клиентских машинах. С его помощью происходит авторизация клиента на сервере, получение права на доступ в Интернет или к другим ресурсам, которые разрешены администратором. Так же авторизатор позволяет клиенту просмотреть свою статистику и состояние денежных средств на счету.</para>
-</chapter>
+</chapter>
\ No newline at end of file
index 034a05f252471286a87a516f5b547f52e1776e40..28aa749fd965b6aa91df8ce860c4b40aaf47cec7 100644 (file)
@@ -1,86 +1,89 @@
 <chapter xml:id="ch3">
 <chapter xml:id="ch3">
-    <title>Установка системы</title>
-    <para>Система обычно поставляется в виде 3 файлов: исходных кодов сервера, бинарной сборки конфигуратора и авторизатора.</para>
+       <title>Установка системы.</title>
+       <para>Система обычно поставляется в виде 3 файлов: исходных кодов сервера, бинарной сборки конфигуратора и авторизатора.</para>
     <para>Стабильная версия сервера маркируется так: stg-A.B.src.tgz. A и B – старшая и младшая версия сервера. Промежуточные версии сервера имеют маркировку: stg-A.B-YYYY.MM.DD-HH.MM.SS.tgz. A и B – старшая и младшая версия сервера. YYYY.MM.DD-HH.MM.SS – дата и время сборки.</para>
     <para>Установочный файл конфигуратора имеет маркировку: sgconfig-A.B.C.win.exe. A.B – старшая и младшая версия конфигуратора. C – версия протокола конфигуратора. Исходные коды конфигуратора имеют маркировку: sgconfig-A.B.C.src.rar.</para>
     <para>Установочный файл авторизатора имеет маркировку: inetaccess-A.B.C.win.exe. A.B – старшая и младшая версия авторизатора. C – версия протокола авторизатора.</para>
     <simplesect>
         <title>Установка сервера</title>
     <para>Стабильная версия сервера маркируется так: stg-A.B.src.tgz. A и B – старшая и младшая версия сервера. Промежуточные версии сервера имеют маркировку: stg-A.B-YYYY.MM.DD-HH.MM.SS.tgz. A и B – старшая и младшая версия сервера. YYYY.MM.DD-HH.MM.SS – дата и время сборки.</para>
     <para>Установочный файл конфигуратора имеет маркировку: sgconfig-A.B.C.win.exe. A.B – старшая и младшая версия конфигуратора. C – версия протокола конфигуратора. Исходные коды конфигуратора имеют маркировку: sgconfig-A.B.C.src.rar.</para>
     <para>Установочный файл авторизатора имеет маркировку: inetaccess-A.B.C.win.exe. A.B – старшая и младшая версия авторизатора. C – версия протокола авторизатора.</para>
     <simplesect>
         <title>Установка сервера</title>
-        <programlisting linenumbering="numbered">
-        tar -zxvf stg-A.B.src.tgz
-        cd stg-A.B.src/projects/stargazer
-        ./build
-        make install
-        </programlisting>
+<programlisting linenumbering="unnumbered">
+tar -zxvf stg-A.B.src.tgz
+cd stg-A.B.src/projects/stargazer
+./build
+make install
+</programlisting>
         <para>Заголовок скрипта build содержит набор параметров сборки и установки:</para>
         <para>Заголовок скрипта build содержит набор параметров сборки и установки:</para>
-        <itemizedlist>
+        <itemizedlist mark="opencircle">
             <listitem><para>LDFLAGS – дополнительные ключи компоновщика (ключи, предназначенные непосредственно ld указывать в виде -Wl,&lt;ключ&gt;);</para></listitem>
             <listitem><para>LDFLAGS – дополнительные ключи компоновщика (ключи, предназначенные непосредственно ld указывать в виде -Wl,&lt;ключ&gt;);</para></listitem>
-            <listitem><para>CXXFLAGS – дополнительные ключи компилятора;</para></listitem>
+            <listitem><para>CFLAGS, CXXFLAGS – дополнительные ключи компилятора;</para></listitem>
             <listitem><para>PREFIX – префикс путей установки;</para></listitem>
             <listitem><para>BIN_MODE – права доступа к бинарным файлам системы (0755 по умолчанию);</para></listitem>
             <listitem><para>DATA_MODE – права доступа к файлам данных системы (0644 по умолчанию);</para></listitem>
             <listitem><para>DIR_MODE — права доступа к каталогам системы (0755 по умолчанию);</para></listitem>
             <listitem><para>OWNER – владелец файлов системы (root по умолчанию);</para></listitem>
             <listitem><para>PREFIX – префикс путей установки;</para></listitem>
             <listitem><para>BIN_MODE – права доступа к бинарным файлам системы (0755 по умолчанию);</para></listitem>
             <listitem><para>DATA_MODE – права доступа к файлам данных системы (0644 по умолчанию);</para></listitem>
             <listitem><para>DIR_MODE — права доступа к каталогам системы (0755 по умолчанию);</para></listitem>
             <listitem><para>OWNER – владелец файлов системы (root по умолчанию);</para></listitem>
-            <listitem><para>FIREBIRD_GROUP – группа сервера СУБД Firebird (по умолчанию firebird);</para></listitem>
-            <listitem><para>DB_ADDRESS – адрес БД (Firebird) системы ( по умолчанию "localhost:/var/stargazer/stargazer.fdb");</para></listitem>
-            <listitem><para>DB_USER – пользователь БД (Firebird) системы (по умолчанию "stg");</para></listitem>
-            <listitem><para>DB_PASSWORD – пароль пользователя БД (Firebird) системы (по умолчанию "123456");</para></listitem>
-            <listitem><para>FIREBIRD_ISQL – путь к командному интерпретатору SQL СУБД Firebird (по умолчанию "/opt/firebird/bin/isql", пользователи Debian и, возможно, некоторых других дистрибутивов должны указать путь к утилите isql-fb);</para></listitem>
         </itemizedlist>
         </itemizedlist>
-        <para>Параметры указываются в формате &lt;ИМЯ_ПАРАМЕТРА&gt; = &lt;ЗНАЧЕНИЕ_ПАРАМЕТРА&gt;</para>
-        <para>В случае успешной сборки бинарных файлов сервера и их инсталляции в каталогах /etc и /var появится каталог stargazer с набором конфигурационных файлов. Бинарный файл установиться в каталог /usr/sbin с именем stargazer, библиотеки и модули установятся в каталог /usr/lib/stg/ а заголовочные файлы в каталог /usr/include/stg.</para>
-        <para>Если сборка прошла без ошибок и необходимые файлы находятся в соответствующих каталогах, то установка считается успешно завершенной.</para>
-        <para>Для удобства разработчиков и для создания багрепортов возможна сборка в отладочном режиме. Для этого скрипт ./build запускается с параметром debug. В этом режиме сборка не производится, а выполняется только конфигурирование. Для сборки отладочной версии необходимо выполнить команду make (gmake для BSD-систем). Также возможна раздельная установка бинарных файлов и файлов данных. Для этого в Makefile предусмотренны цели install-bin и install-data. make install-bin устанавливает только бинарные файлы (сервер, модули и библиотеки) и заголовочные файлы. make install-data устанавливает конфигурационные файлы и БД. По аналогии с целью install работает и цель uninstall. make uninstall удаляет сервер из системы. uninstall-bin и uninstall-data удаляют бинарные файлы и файлы данных соответственно.</para>
-        <formalpara>
-            <title>Внимание!</title>
-            <para>Для успешной сборки сервера необходима правильно установленная библиотека LibExpat. (Поиск производится в /usr/lib и /usr/local/lib, но при желании с помощью переменных окружения CXXFLAGS и LDFLAGS можно указать и иное месторасположение библиотеки).</para>
-        </formalpara>
-        <para>Если в процессе сборки будет обнаружена правильно установленная библиотека fbclient (входит в стандартную поставку СУБД Firebird) в сборку будет включен модуль для работы с СУБД Firebird. Модуль поддерживает работу с СУБД Firebird версии 1.5 и выше.</para>
-        <para>Если в процессе сборки будет обнаружена правильно установленная библиотека mysqlclient (входит в стандартную поставку СУБД MySQL) в сборку будет включен модуль для работы с СУБД MySQL. Модуль поддерживает работу с СУБД MySQL версии 4.0 и выше.</para>
-        <para>Если в процессе сборки будет обнаружена библиотека pq в сборку будет включен модуль для работы с СУБД PostgreSQL. Модуль поддерживает работу с СУБД PostgreSQL версии 8.0 и выше.</para>
-        <formalpara>
-            <title>Примечание</title>
-            <para>Если сборка завершилась неудачей, то необходимо проверить доступность библиотеки LibExpat. Пользователи ОС Linux могут выполнить команду ldconfig -p | grep libexpat.so. Если она выведет нечто похожее на
-            <programlisting linenumbering="unnumbered">
-        # ldconfig -p | grep libexpat.so
-            libexpat.so.1 (libc6) => /usr/lib/libexpat.so.1
-            libexpat.so (libc6) => /usr/lib/libexpat.so
-            </programlisting>
-            значит библиотека доступна. Если вывод будет пустой – библиотека в системе не найдена. Для пользователей ОС FreeBSD можно выполнить команду ls /usr/lib | grep libexpat.so. Если она выведет нечто похожее на
-            <programlisting linenumbering="unnumbered">
-        # ls /usr/lib | grep libexpat.so
-            libexpat.so
-            libexpat.so.4
-            </programlisting>
-            значит библиотека доступна. Если вывод пустой – скорее всего библиотеки в системе нет или она установлена неправильно. Возможно, библиотека установлена в другое место. Если это так – достаточно при выполнении скрипта build в CXXFLAGS с помощью ключа -I указать путь к заголовочным файлам библиотеки, а в LDLFAGS с помощью ключа -L указать путь к самой библиотеке. Для поиска библиотеки можно использовать команды locate, slocate, whereis или find. Если библиотека в системе отсутствует – установите ее используя Ваш пакетный менеджер (apt (Debian, Ubuntu), rpm (RPM-based дистрибутивы), emerge (Gentoo) или др.). Так же библиотеку можно установить из исходных кодов, доступных на странице http://sourceforge.net/projects/expat/.</para>
-        </formalpara>
-        <para>Для использования СУБД Firebird в качестве хранилища необходимо наличие библиотеки fbclient. Проверка может быть выполнена аналогично библиотеке LibExpat: ldconfig -p | grep libfbclient.so для ОС Linux и ls /usr/lib | grep libfbclient.so для ОС FreeBSD. Некоторые дистрибутивы позволяют установить ее отдельно от СУБД (например, в Ubuntu соответствующий пакет называется libfbclient1), некоторые – только в составе сервера (например, Gentoo). Исходные коды СУБД Firebird доступны для скачивания со страницы http://www.firebirdsql.org/index.php?op=files. Необходимо заметить, что сами разработчики СУБД Firebird не разделяют свой продукт на клиентскую и серверную части. По этому архивы исходных кодов содержат и сервер СУБД, и консольный клиент (командный интерпретатор SQL) и клиентскую библиотеку.</para>
-        <para>Для использования СУБД MySQL в качестве хранилища необходимо наличие библиотеки mysqlclient. Проверка выполняется аналогично первым двум: ldconfig -p | grep libmysqlclient_r.so для ОС Linux и ls /usr/lib | grep libmysqlclient_r.so для ОС FreeBSD. Так же проверку можно выполнить с помощью утилиты mysql_config. Ее вызов с ключем --libs_r должен выдать что-то похожее на
-            <programlisting linenumbering="unnumbered">
-        $ mysql_config --libs
-            -Wl,-O1 -rdynamic -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib -lssl -lcrypto
-            </programlisting>
-            Необходима именно реентерабельная версия библиотеки, т.к. Сам плагин не имеет блокировок. Некоторые дистрибутивы позволяют установить ее отдельно от СУБД (например, в Ubuntu соответствующие пакеты называются libmysqlclient15-dev и libmysqlclient15off), некоторые – только в составе сервера (например, Gentoo). Исходные коды открытой/свободной версии СУБД MySQL доступны для скачивания со страницы http://dev.mysql.com/downloads/mysql/5.0.html. Необходимо заметить, что сами разработчики СУБД MySQL не разделяют свой продукт на клиентскую и серверную части. По этому архивы исходных кодов содержат и сервер СУБД MySQL, и консольный клиент (командный интерпретатор SQL) и клиентскую библиотеку.</para>
-        <para>Для использования СУБД PostgreSQL необходимо наличие библиотеки pq. Проверка выполняется аналогично предыдущим: ldconfig -p | grep libpq.so для ОС Linux и ls /usr/lib | grep libpq.so для ОС FreeBSD. Так-же проверку можно выполнить с использованием утилиты pg_config или pkg_config. Ее вызов с ключем --libdir выдать что-то похожее на
-            <programlisting numbered="unnumbered">
-        $ pg_config --libdir
-            /usr/lib
-            </programlisting>
-            Обычно библиотека устанавливается отдельно от самой СУБД. Например, в Debian соответствующий пакет называется libpq5 и libpq-dev. Исходные коды библиотеки можно загрузить со страницы http://www.postgresql.org/ftp/source/. Необходимо заметить, что сами разработчики СУБД PostgreSQL не разделяют свой продукт на клиентскую и серверную части. По этому архивы исходных кодов содержат и сервер СУБД PostgreSQL, и консольный клиент (командный интерпретатор SQL) и клиентскую библиотеку.</para>
-    </simplesect>
-    <simplesect>
-        <title>Установка авторизатора и конфигуратора</title>
-        <para>Для установки конфигуратора необходимо запустить установочный файл и следовать вопросам мастера установки.</para>
-        <para>Для установки авторизатора необходимо запустить установочный файл и следовать вопросам мастера установки.</para>
-    </simplesect>
-    <simplesect>
+        <para>Параметры указываются в формате &lt;ИМЯ_ПАРАМЕТРА&gt; = &lt;НАЧЕНИЕ_ПАРАМЕТРА&gt;. CFLAGS, CXXFLAGS и LDFLAGS можно передавать в скрипт build из окружения. Например так:</para>
+<programlisting linenumbering="unnumbered">
+CFLAGS=-O2 CXXFLAGS=-O2 LDFLAGS=-Wl,--as-needed ./build
+</programlisting>
+               <para>Следует учитывать тот факт что исходный код сервера содержит в себе модули написанные как на C++ так и на C, по этому необходимо передавать флаги компилятора через обе переменные: CFLAGS и CXXFLAGS. При сборке сервера для использования на «боевом» сервере (или для включения в дистрибутив) настоятельно рекомендуется использовать оптимизацию (флаг компилятора -O). Обычно достаточно указать -O2. При отладочной сборке, в общем случае, оптимизацию лучше не включать.</para>
+               <para>В случае успешной сборки бинарных файлов сервера и их инсталляции в каталогах /etc и /var появится каталог stargazer с набором конфигурационных файлов. Бинарный файл установиться в каталог /usr/sbin с именем stargazer, библиотеки и модули установятся в каталог /usr/lib/stg/ а заголовочные файлы в каталог /usr/include/stg.</para>
+               <para>Если сборка прошла без ошибок и необходимые файлы находятся в соответствующих каталогах, то установка считается успешно завершенной.</para>
+               <para>Для удобства разработчиков и для создания багрепортов возможна сборка в отладочном режиме. Для этого скрипт ./build запускается с параметром debug. В этом режиме сборка не производится, а выполняется только конфигурирование. Для сборки отладочной версии необходимо выполнить команду make (gmake для BSD-систем). Также возможна раздельная установка бинарных файлов и файлов данных. Для этого в Makefile предусмотрены цели install-bin и install-data. make install-bin устанавливает только бинарные файлы (сервер, модули и библиотеки) и заголовочные файлы. make install-data устанавливает конфигурационные файлы и файловую БД. По аналогии с целью install работает и цель uninstall. make uninstall удаляет сервер из системы. uninstall-bin и uninstall-data удаляют бинарные файлы и файлы данных соответственно.</para>
+               <para>При обновлении системы настоятельно рекомендуется использовать команду make install-bin.</para>
+               <formalpara>
+                       <title>Внимание!</title>
+                       <para>Для успешной сборки сервера необходима правильно установленная библиотека LibExpat. (Поиск производится в /usr/lib и /usr/local/lib, но при желании с помощью переменных окружения CFLAGS/CXXFLAGS и LDFLAGS можно указать и иное месторасположение библиотеки).</para>
+               </formalpara>
+               <para>Если в процессе сборки будет обнаружена правильно установленная библиотека fbclient (входит в стандартную поставку СУБД Firebird) в сборку будет включен модуль для работы с СУБД Firebird. Модуль поддерживает работу с СУБД Firebird версии 1.5 и выше.</para>
+               <para>Если в процессе сборки будет обнаружена правильно установленная библиотека mysqlclient (входит в стандартную поставку СУБД MySQL) в сборку будет включен модуль для работы с СУБД MySQL. Модуль поддерживает работу с СУБД MySQL версии 4.0 и выше.</para>
+               <para>Если в процессе сборки будет обнаружена библиотека pq в сборку будет включен модуль для работы с СУБД PostgreSQL. Модуль поддерживает работу с СУБД PostgreSQL версии 8.0 и выше.</para>
+               <formalpara>
+                       <title>Примечание:</title>
+                       <para>Если сборка завершилась неудачей, то необходимо проверить доступность библиотеки LibExpat. Пользователи ОС Linux могут выполнить команду ldconfig -p | grep libexpat.so. Если она выведет нечто похожее на
+<programlisting linenumbering="unnumbered">
+# ldconfig -p | grep libexpat.so
+libexpat.so.1 (libc6) => /usr/lib/libexpat.so.1
+libexpat.so (libc6) => /usr/lib/libexpat.so
+</programlisting>
+                       значит библиотека доступна. Если вывод будет пустой – библиотека в системе не найдена. Для пользователей ОС FreeBSD можно выполнить команду ls /usr/lib | grep libexpat.so. Если она выведет нечто похожее на
+<programlisting linenumbering="unnumbered">
+$ ls /usr/lib | grep libexpat.so
+libexpat.so
+libexpat.so.4
+</programlisting>
+                       значит библиотека доступна. Если вывод пустой – скорее всего библиотеки в системе нет или она установлена неправильно.</para>
+               </formalpara>
+               <para>Возможно, библиотека установлена в другое место. Если это так – достаточно при выполнении скрипта build в CFLAGS/CXXFLAGS с помощью ключа -I указать путь к заголовочным файлам библиотеки, а в LDLFAGS с помощью ключа -L указать путь к самой библиотеке. Для поиска библиотеки можно использовать команды locate, slocate, whereis или find. Если библиотека в системе отсутствует – установите ее используя Ваш пакетный менеджер (apt (Debian, Ubuntu), rpm (RPM-based дистрибутивы), emerge (Gentoo) или др.). Так же библиотеку можно установить из исходных кодов, доступных на странице http://sourceforge.net/projects/expat/.</para>
+               <para>Для использования СУБД Firebird в качестве хранилища необходимо наличие библиотеки fbclient. Проверка может быть выполнена аналогично библиотеке LibExpat: ldconfig -p | grep libfbclient.so для ОС Linux и ls /usr/lib | grep libfbclient.so для ОС FreeBSD. Некоторые дистрибутивы позволяют установить ее отдельно от СУБД (например, в Ubuntu соответствующий пакет называется libfbclient1), некоторые – только в составе сервера (например, Gentoo). Исходные коды СУБД Firebird доступны для скачивания со страницы http://www.firebirdsql.org/index.php?op=files. Необходимо заметить, что сами разработчики СУБД Firebird не разделяют свой продукт на клиентскую и серверную части. По этому архивы исходных кодов содержат и сервер СУБД, и консольный клиент (командный интерпретатор SQL) и клиентскую библиотеку.</para>
+               <para>Для использования СУБД MySQL в качестве хранилища необходимо наличие библиотеки mysqlclient. Проверка выполняется аналогично первым двум: ldconfig -p | grep libmysqlclient_r.so для ОС Linux и ls /usr/lib | grep libmysqlclient_r.so для ОС FreeBSD. Так же проверку можно выполнить с помощью утилиты mysql_config. Ее вызов с ключем --libs_r должен выдать что-то похожее на
+<programlisting linenumbering="unnumbered">
+$ mysql_config --libs
+-Wl,-O1 -rdynamic -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib -lssl -lcrypto       
+</programlisting>
+               Необходима именно реентерабельная версия библиотеки, т.к. Сам плагин не имеет блокировок. Некоторые дистрибутивы позволяют установить ее отдельно от СУБД (например, в Ubuntu соответствующие пакеты называются libmysqlclient15-dev и libmysqlclient15off), некоторые – только в составе сервера (например, Gentoo). Исходные коды открытой/свободной версии СУБД MySQL доступны для скачивания со страницы http://dev.mysql.com/downloads/mysql/5.0.html. Необходимо заметить, что сами разработчики СУБД MySQL не разделяют свой продукт на клиентскую и серверную части. По этому архивы исходных кодов содержат и сервер СУБД MySQL, и консольный клиент (командный интерпретатор SQL) и клиентскую библиотеку.</para>        
+               <para>Для использования СУБД PostgreSQL необходимо наличие библиотеки pq. Проверка выполняется аналогично предыдущим: ldconfig -p | grep libpq.so для ОС Linux и ls /usr/lib | grep libpq.so для ОС FreeBSD. Так-же проверку можно выполнить с использованием утилиты pg_config или pkg_config. Ее вызов с ключем --libdir выдать что-то похожее на
+<programlisting numbered="unnumbered">
+$ pg_config --libdir
+/usr/lib
+</programlisting>
+               Обычно библиотека устанавливается отдельно от самой СУБД. Например, в Debian соответствующий пакет называется libpq5 и libpq-dev. Исходные коды библиотеки можно загрузить со страницы http://www.postgresql.org/ftp/source/. Необходимо заметить, что сами разработчики СУБД PostgreSQL не разделяют свой продукт на клиентскую и серверную части. По этому архивы исходных кодов содержат и сервер СУБД PostgreSQL, и консольный клиент (командный интерпретатор SQL) и клиентскую библиотеку.</para>      
+       </simplesect>
+       <simplesect>
+               <title>Установка авторизатора и конфигуратора</title>
+               <para>Для установки конфигуратора необходимо запустить установочный файл и следовать вопросам мастера установки.</para>   
+               <para>Для установки авторизатора необходимо запустить установочный файл и следовать вопросам мастера установки.</para>
+       </simplesect>
+       <simplesect>
         <title>Запуск сервера</title>
         <title>Запуск сервера</title>
-        <para>При запуске в качестве первого параметра можно указать путь к директории, где расположен файл stargazer.conf. По умолчанию при запуске без параметров система ищет файл в каталоге /etc/stargazer. Например если файл stargazer.conf находится в каталоге /etc/stargazer2, то для запуска системы с чтением настройки из этого каталога следует запустить сервер таким образом: ./stargazer /etc/stargazer2. Для просмотра, работает ли сервер, необходимо выполнить команду: ps –x | grep stargazer. В случае если сервер успешно был запущен и работает то результат команды должен быть примерно таким:</para>
-        <programlisting linenumbering="unnumbered">
-    4818 ?    S&lt;   0:32 ./stargazer /etc/stargazer
-    4819 ?    S    0:00 stg-exec    /etc/stargazer
-        </programlisting>
-        <para>Следует отметить что в выводе предыдущей команды должно присутствовать не менее двух строк. То есть, первая строка в данном примере – это процесс сервера, вторая – процесс исполнителя скриптов. Если присутствует только строка с именем stg-exec или не имеется строк вовсе, то сервер не запущен или имеются проблемы в его работе. Для диагностики ошибок при запуске сервера необходимо просмотреть содержимое журнала сервера биллинга (/var/log/stargazer.log) или же системный журнал (обычно /var/log/messages).</para>
-        <para>Сервер ведет журнал своих действий, куда заносятся все сообщения системы. По умолчанию лог файл находится в каталоге /var/log и имеет название stargazer.log. Если при запуске сервера возникла какая-то ошибка, то необходимо просмотреть файл журнала и исправить ошибку. В случае если серверу не удается записать сообщения в указанный файл, он пытается писать сообщения в syslog, обычно записи syslog находяться в /var/log/messages.</para>
-    </simplesect>
-</chapter>
+               <para>При запуске в качестве первого параметра можно указать путь к директории, где расположен файл stargazer.conf. По умолчанию при запуске без параметров система ищет файл в каталоге /etc/stargazer. Например если файл stargazer.conf находится в каталоге /etc/stargazer2, то для запуска системы с чтением настройки из этого каталога следует запустить сервер таким образом: /usr/sbin/stargazer /etc/stargazer2.</para>
+               <para>При использовании на “боевом” сервере настоятельно рекомендуется использовать init.d-скрипты для запуска, останова, перезапуска и реконфигурирования сервера. Заготовки скриптов для дистрибутивов Ubuntu, Suse и Gentoo входят в стандартную поставку и расположены в каталоге projects/stargazer/inst/linux/etc/init.d. Уважайте себя и других людей, которые, возможно, завтра будут администрировать этот сервер.</para>
+               <para>Для просмотра, работает ли сервер, необходимо выполнить команду: ps –x | grep stargazer | grep -v grep. В случае если сервер успешно был запущен и работает то результат команды должен быть примерно таким:</para>
+<programlisting linenumbering="unnumbered">
+4818 ?    S&lt;   0:32 ./stargazer /etc/stargazer
+4819 ?    S    0:00 stg-exec    /etc/stargazer
+</programlisting>              
+               <para>Следует отметить что в выводе указанной выше команды должно присутствовать не менее двух строк. То есть, первая строка в данном примере – это процесс сервера, вторая – процесс исполнителя скриптов. Если присутствует только строка с именем stg-exec или не имеется строк вовсе, то сервер не запущен или имеются проблемы в его работе. Для диагностики ошибок при запуске сервера необходимо просмотреть содержимое журнала сервера биллинга (/var/log/stargazer.log) или же системный журнал (обычно /var/log/messages).</para>
+               <para>Сервер ведет журнал своих действий, куда заносятся все сообщения системы. По умолчанию лог файл находится в каталоге /var/log и имеет название stargazer.log. Если при запуске сервера возникла какая-то ошибка, то необходимо просмотреть файл журнала и исправить ошибку. В случае если серверу не удается записать сообщения в указанный файл, он пытается писать сообщения в syslog, обычно записи syslog находятся в /var/log/messages.</para>
+       </simplesect>
+</chapter>
\ No newline at end of file
index d3bb71f0fe160846d1b0b044104e73ebaf21bc92..68c5ebc61eb9758140faaeb10f8cf472137d2cb0 100644 (file)
 <chapter xml:id="ch4">
 <chapter xml:id="ch4">
-    <title>Настройка системы</title>
-    <para>После инсталляции система должна быть подвергнута процедуре настройки. Обычно следует начинать с настройки сервера.</para>
-    <para>Основные конфигурационные  файлы  сервера по умолчанию находятся в каталоге /etc/stargazer. Они включают в себя: основной конфигурационный файл stargazer.conf, файл описания направлений тарификации rules, набор скриптов On* и два каталога — conf-available.d и conf-enabled.d, содержащих конфигурационные файлы отдельных модулей. Для включения какого-либо модуля нужно сделать символическую ссылку на его конфигурационный файл в каталоге conf-enabled.d или прописать его конфигурационную секцию в разделе &lt;Modules&gt; файла stargazer.conf.</para>
-    <simplesect>
-        <title>Настройка конфигурационного файла /etc/stargazer/stargazer.conf</title>
-        <para>Файл имеет текстовый формат, содержащий пары ПАРАМЕТР = ЗНАЧЕНИЕ и секции &lt;ИМЯ_СЕКЦИИ ПАРАМЕТРЫ_СЕКЦИИ&gt;. Комментарии в файле начинаются с символа #. В файле описываются общие параметры, которые являются глобальными значениями для всего сервера биллинга, а также параметры соответствующих модулей. Параметры модулей должны быть заключены в секции:</para>
-        <programlisting linenumbering="unnumbered">
-        &lt;Module [имя модуля(имя файла модуля без mod_ и без .so)]&gt;
+       <title>Настройка системы</title>
+       <para>После инсталляции система должна быть подвергнута процедуре настройки. Обычно следует начинать с настройки сервера.</para>
+       <para>Основные конфигурационные  файлы  сервера по умолчанию находятся в каталоге /etc/stargazer. Они включают в себя: основной конфигурационный файл stargazer.conf, файл описания направлений тарификации rules, набор скриптов On* и два каталога — conf-available.d и conf-enabled.d, содержащих конфигурационные файлы отдельных модулей. Для включения какого-либо модуля нужно сделать символическую ссылку на его конфигурационный файл в каталоге conf-enabled.d или прописать его конфигурационную секцию в разделе &lt;Modules&gt; файла stargazer.conf.</para>
+       <simplesect>
+               <title>Настройка конфигурационного файла /etc/stargazer/stargazer.conf </title>
+               <para>Файл имеет текстовый формат, содержащий пары ПАРАМЕТР = ЗНАЧЕНИЕ и секции &lt;ИМЯ_СЕКЦИИ ПАРАМЕТРЫ_СЕКЦИИ&gt;. Комментарии в файле начинаются с символа #. В файле описываются общие параметры, которые являются глобальными значениями для всего сервера биллинга, а также параметры соответствующих модулей. Параметры модулей должны быть заключены в секции:</para>
+<programlisting linenumbering="unnumbered">
+&lt;Module имя_модуля&gt;
+список параметров модуля
+&lt;/Module&gt;
+</programlisting>
+               <para>Имя модуля представляет собой имя файла этого модуля без префикса mod_ и суффикса .so. Например, секция конфигурации модуля remote_script (имя файла: mod_remote_script.so) может выглядеть так:</para>
+<programlisting linenumbering="unnumbered">
+&lt;Module remote_script&gt;                                                          
+SendPeriod = 15                                                             
+SubnetFile = subnets                                                        
+Password = 123456                                                           
+UserParams = Cash Tariff EnabledDirs                                        
+Port = 9999                                                                 
+&lt;/Module&gt;
+</programlisting>
+               <para>Описание глобальных параметров параметров:</para>
+               <itemizedlist mark="opencircle">
+                       <listitem><para>Rules – обязательный параметр, указывающий серверу, где находится файл с правилами для подсчета трафика клиентов. Стандартное значение: /etc/stargazer/rules.</para></listitem>
+                       <listitem><para>LogFile – обязательный параметр, указывающий серверу расположение файла, в который будут заноситься все сообщения системы. Стандартное значение: /var/log/stargazer.log.</para></listitem>
+                       <listitem><para>PidFile — не обязательный параметр, указывающий серверу где находится файл хранящий PID (идентификатор процесса) дэмона. По умолчанию это /var/run/stargazer.pid. Используется скриптами запуска/останова.</para></listitem>
+                       <listitem><para>ModulesPath – обязательный параметр, указывающий серверу путь, где находятся подключаемые модули (плагины). Стандартное значение: /usr/lib/stg.</para></listitem>
+                       <listitem><para>DetailStatWritePeriod – обязательный параметр, указывающий серверу через какое время должна записываться детальная статистика клиента. Стандартное значение: 1/6. Данный параметр может принимать следующие значения: 3 - раз в три часа, 2 - раз в два часа, 1 - раз в чаc, 1/2 - раз в пол часа, 1/4 - раз в 15 минут, 1/6 - раз в 10 минут.</para></listitem>
+                       <listitem><para>StatWritePeriod – не обязательный параметр, указывающий серверу периодичность записи в БД информации о статистике пользователя в минутах. При большом количестве пользователей эту величину стоит увеличить, так как запись в БД может занимать длительное время. По умолчанию имеет значение 10.</para></listitem>
+                       <listitem><para>DayFee – обязательный параметр, указывающий серверу, в какой день месяца снимать с клиентских счетов сумму абонплаты, в соответствии с тарифными планами клиентов. Может принимать значения от 0 до 31, стандартное значение: 1. Следует помнить, что в некоторых месяцах не более 28 дней. Значение 0 соответствует последнему дню месяца по календарю.</para></listitem>
+                       <listitem><para>DayResetTraff – обязательный параметр, указывающий серверу в какой день месяца сбрасывать помесячную статистику клиентов и осуществлять переход на новый тариф, если он был изменен у клиента. Может принимать значения от 0 до 31, стандартное значение: 1. Следует помнить, что в некоторых месяцах не более 28 дней. Значение 0 соответствует последнему дню месяца по календарю.</para></listitem>
+                       <listitem><para>SpreadFee – обязательный параметр, указывающий серверу производить ли «размазанное» снятие абонплаты. Может принимать значения yes и no. При указании значения yes сумма абонплаты указанная в тарифе пользователя будет сниматься не раз в месяц, а каждый день равными долями. Стандартное значение: no.</para></listitem>
+                       <listitem><para>FreeMbAllowInet – обязательный параметр, указывающий серверу выполнять ли для пользователя скрипт OnConnect, если у него на балансе отсутствуют средства, но остался предоплаченный трафик. Может принимать значения yes и no. Стандартное значение: no.</para></listitem>
+                       <listitem><para>WriteFreeMbTraffCost – обязательный параметр, определяющий как  будет писаться стоимость трафика в детальной статистике. Может принимать значения yes и no, стандартное значение: no. При указании значения yes в детальной статистике пользователя стоимость трафика будет писаться в любом случае, даже если он попадает в FreeMb. При указании значения no доя исчерпания FreeMb в детальной статистике будет указана нулевая стоимость трафика.</para></listitem>
+                       <listitem><para>DayFeeIsLastDay – обязательный параметр, указывающий серверу когда снимать абонплату. Может принимать значения yes и no, стандартное значение: yes. Это влияет на то, как будет снята абонплата (АП) при переходе на новый тариф. Если у пользователя был тариф A с АП=100 и он хочет перейти на тариф B с АП=200, то при переходе на новый тариф со счета пользователя снимется 100, если указано значение yes (абонплата снята до смены тарифа), и 200, если указано значение no (абонплата снята перед сменой тарифа).</para></listitem>
+                       <listitem><para>ExecutersNum – не обязательный параметр который определяющий сколько скриптом может выполняться одновременно (регулирует количество процессов stg-exec). По умолчанию имеет значение 1. Если выполнение ваших скриптов занимает много времени имеет смысл увеличить это значение. Каждый исполнитель скриптов блокируется на время, пока отработает скрипт. Если исполнителей несколько — они принимают скрипты на выполнение по принципу «кто успел».</para></listitem>
+                       <listitem><para>StgMsgKey – не обязательный параметр отвечающий за идентификатор очереди сообщений для исполнителя скриптов. По умолчанию данный параметр имеет значение 5555. Рекомендуется не изменять значение параметра без нужды. Его изменение целесообразно лишь в том случае, если в системе требуется запустить более одной копии сервера биллинга.</para></listitem>
+                       <listitem><para>ShowFeeInCash – не обязательный параметр, определяющий как будет показано состояние счета абонента в авторизаторе и сколько денег ему будет разрешено использовать в текущем месяце. Может принимать значения yes и no, по умолчанию имеет значение yes. При указании no в авторизаторе будет показано состояние счета  без учета следующего снятия абонплаты. Так же эти деньги нельзя будет использовать для оплаты трафика в текущем месяце. Пример: у абонента на счету 200 денег при абонплате в 50 денег — в этом случае ему будет показано 150 денег в авторизаторе и он сможет в текущем месяце израсходовать только 150 денег, но снятие абонплаты не уведет его в «минус».</para></listitem>
+                       <listitem><para>FullFee – не обязательный параметр, указывающий серверу снимать полную абонплату, даже если учетная запись абонента была заморожена (или не существовала) часть учетного периода. Принимает значения yes и no, по умолчанию установлен в no.</para></listitem>
+                       <listitem><para>MessagesTimeout — не обязательный параметр, устанавливающий время жизни не отправленных сообщений абонентам. Время указывается в сутках. При превышении этого времени сообщение будет удалено, в т. ч. из БД. Если указано значение 0 то не отправленные сообщения никогда не будут удаляться из базы (в частности, это приведет к постепенному росту размера базы, увеличению нагрузки на сервер при авторизации абонентов и к тому что долго отсутствовавший абонент при авторизации получит все пропущенные сообщения). По умолчанию имеет значение 0.</para></listitem>
+                       <listitem><para>FeeChargeType — не обязательный параметр, регулирующий процесс снятия абонплаты. Может принимать значения 0, 1 и 2, по умолчанию имеет значение 0. При значении 0 абонплата снимается как обычно, при значении 1 абонплата снимается только если баланс пользователя положительный или равен нулю, при значении 2 абонплата снимается только если баланс пользователя больше или равен абонплате. Значение 2 следует использовать с осторожностью, т. к. при этом на безлимитных тарифах абоненты получат услугу бесплатно.</para></listitem>
+                       <listitem><para>ReconnectOnTariffChange — не обязательный параметр, указывающий серверу выполнить переподключение пользователя при смене тарифа. Может принимать значения yes и no, по умолчанию имеет значение no. При указании значения yes подключенные пользователи будут отключены непосредственно перед сменой тарифа и подключены сразу после нее. Может быть полезно для управления шейпером.</para></listitem>
+                       <listitem><para>Для именования направлений учета трафика в конфигурационном файле используется секция DirNames:</para></listitem>
+<programlisting linenumbering="unnumbered">
+&lt;DirNames&gt;
+DirName0 = «ИМЯ НАПРАВЛЕНИЯ»
+...
+DirName9 = ПОСЛЕДНЕЕ_НАПРАВЛЕНИЕ
+&lt;/DirNames&gt;                      
+</programlisting>                      
+               <para>Всего предусмотрено 10 направлений с нумерацией от 0 до 9. Направления, наименование которых состоит из нескольких слов, должны быть заключены в кавычки. Если наименование направления не указано, то система считает что данное направление не используется и не будет производить по нему никаких действий. Пример: DirName0 = Мир, DirName5 = "Локальные игры". Необходимо заметить, что текущая версия системы требует, чтобы имена направлений были указаны в кодировке KOI8-R. В противном случае абоненты не смогут их прочитать в статистике авторизатора, а администраторы — в конфигураторе.</para> 
+               <para>Настройки всех модули (кроме store module), которые необходимо подключить к серверу в момент старта должны быть указанны внутри секции Modules:</para>
+<programlisting linenumbering="unnumbered">
+&lt;Modules&gt;
+&lt;Module имя_модуля&gt;
+список параметров модуля
+&lt;/Modules&gt;
 
 
-        &lt;/Module&gt;
-        </programlisting>
-        <para>Описание глобальных параметров параметров:</para>
-        <itemizedlist mark="opencircle">
-            <listitem><para>Rules – параметр, указывающий серверу, где находится файл с правилами для подсчета трафика клиентов, по умолчанию Rules=/etc/stargazer/rules</para></listitem>
-            <listitem><para>LogFile – параметр, указывающий серверу расположение файла, в который будут заноситься все сообщения системы, по умолчанию LogFile=/var/log/stargazer.log</para></listitem>
-            <listitem><para>PidFile — параметр, указывающий серверу где находится файл хранящий PID (идентификатор процесса) дэмона, по умолчанию это /var/run/stargazer.pid. Используется скриптами запуска/останова.</para></listitem>
-            <listitem><para>ModulesPath – параметр, указывающий серверу путь, где находятся подключаемые модули (плагины). По умолчанию ModulesPath = /usr/lib/stg.</para></listitem>
-            <listitem><para>DetailStatWritePeriod – параметр, указывающий серверу через какое время должна записываться детальная статистика клиента, по умолчанию StatTime=1/6. Данный параметр может принимать следующие значения: 3 - раз в три часа, 2 - раз в два часа, 1 - раз в чаc, 1/2 - раз в пол часа, 1/4 - раз в 15 минут, 1/6 - раз в 10 минут.</para></listitem>
-            <listitem><para>StatWritePeriod – параметр, указывающий серверу периодичность записи в БД информации о статистике пользователя (в минутах). При большом количестве пользователей эту величину стоит увеличить, так как запись в БД может занимать длительное время. По умолчанию StatWritePeriod = 10.</para></listitem>
-            <listitem><para>DayFee – параметр, показывающий серверу, в какой день месяца снимать с клиентских счетов сумму абонплаты, в соответствии с тарифными планами клиентов. По умолчанию DayFee=21. Следует помнить, что в некоторых месяцах не более 28 дней. Данный параметр также может принять значение 0; если параметр равен 0, тогда система выполнит действия в последний день текущего месяца; определение последнего дня месяца проводится автоматически.</para></listitem>
-            <listitem><para>DayResetTraff – параметр указывает серверу в какой день месяца очищать статистику клиентов; так же в этот день сервер осуществляет переход на новый тариф, если он был изменен у клиента. По умолчанию DayResetTraff = 28. Следует помнить, что в некоторых месяцах не более 28 дней. Данный параметр также может принять значение 0; если параметр равен 0, тогда система выполнит действия в последний день текущего месяца; определение последнего дня месяца проводится автоматически.</para></listitem>
-            <listitem><para>SpreadFee – параметр, указывающий серверу, производить ли «размазанное» снятие абонплаты. Т. е. сумма абонплаты указанная в тарифе пользователя будет сниматься не раз в месяц, а каждый день ровными долями. По умолчанию SpreadFee = no.</para></listitem>
-            <listitem><para>FreeMbAllowInet – параметр, указывающий серверу выполнять ли для пользователя скрипт OnConnect, если у него на балансе отсутствуют средства, но остался предоплаченный трафик. По умолчанию FreeMbAllowInet = no.</para></listitem>
-            <listitem><para>WriteFreeMbTraffCost – параметр, определяющий, что будет писаться в стоимость трафика в детальной статистике. Если у клиента еще есть предоплаченный трафик и WriteFreeMbTraffCost = no, то в детальную статистику будет записываться стоимость со значением = 0. Если у пользователя уже нет предоплаченного трафика и WriteFreeMbTraffCost = no, то в детальную статистику будет записана стоимость трафика. При WriteFreeMbTraffCost = yes стоимость трафика будет записана в любом случае. По умолчанию WriteFreeMbTraffCost = no.</para></listitem>
-            <listitem><para>DayFeeIsLastDay – параметр, указывающий серверу, когда абонплата снимается в последний (yes) или первый (no) день учетного периода. Это влияет на то, как будет снята абонплата (АП) при переходе на новый тариф. Если у пользователя был тариф A с АП=100 и он хочет перейти на тариф B с АП=200, то при переходе на новый тариф со счета пользователя снимется 100, если DayFeeIsLastDay = yes, и 200, если DayFeeIsLastDay = no. По умолчанию DayFeeIsLastDay = yes.</para></listitem>
-            <listitem><para>ExecutersNum – параметр который показывает, сколько процессов исполнителя скриптов может быть запущено одновременно. Количество процессов означает сколько скриптов могут выполнятся одновременно. По умолчанию ExecutersNum = 1. Если выполнение ваших скриптов занимает много времени следует увеличить это значение. Каждый исполнитель скриптов блокируется на время, пока отработает скрипт. Если исполнителей несколько — они принимают скрипты на выполнение по принципу «кто успел».</para></listitem>
-            <listitem><para>StgMsgKey – параметр отвечающий за идентификатор очереди сообщений для исполнителя скриптов. По умолчанию данный параметр закомментирован и равен 5555. Рекомендуется не изменять значение параметра без нужды. Его изменение целесообразно лишь в том случае, если в системе требуется запустить более одной копии сервера биллинга.</para></listitem>
-            <listitem><para>ShowFeeInCash – показывать на счету и позволять использовать абонплату пользователю. Принимает значения yes и no. Параметр не является обязательным, по умолчанию установлен в yes.</para></listitem>
-            <listitem><para>FullFee – снимать полную абонплату, даже если пользователь был заморожен часть учетного периода. Принимает значения yes и no. Параметр не является обязательным, по умолчанию установлен в no.</para></listitem>
-            <listitem><para>MessagesTimeout — устанавливает время жизни не отправленных сообщений пользователям. Время указывается в сутках. При превышении этого времени сообщение будет удалено, в т.ч. из БД. Если указан 0 то значения не будут удаляться из базы. По умолчанию 0.</para></listitem>
-            <listitem><para>FeeChargeType — регулирует процесс снятия абонплаты. Может принимать значения 0, 1 и 2. При значении 0 абонплата снимается как обычно. При значении 1 абонплата снимается только если баланс пользователя положительный. При значении 2 абонплата снимается только если баланс пользователя больше абонплаты.</para></listitem>
-            <listitem><para>ReconnectOnTariffChange — позволяет выполнить переподключение пользователя при смене тарифа. Может принимать значения yes и no. При указании ReconnectOnTariffChange = yes при смене тарифа пользователя если он был подключен произойдет его отключение и подключение заново. Может быть полезно для управления шейпером.</para></listitem>
-            <listitem><para>Именования направлений в конфигурационном файле должны быть заключены в теги:
-                <programlisting linenumbering="unnumbered">
-                &lt;DirNames&gt;
-                    DirName0 = "ИМЯ НАПРАВЛЕНИЯ"
-                    ...
-                    DirName9 = ПОСЛЕДНЕЕ_НАПРАВЛЕНИЕ
-                &lt;/DirNames&gt;
-                </programlisting>
-                Всего предусмотрено 10 направлений с нумерацией от 0 до 9. Внутри данных тегов указывается названия направлений. Направления, наименование которых состоит из нескольких слов, должны быть заключены в кавычки. Если наименование направления не указано, то система считает что данное направление не используется и не будет производить по нему никаких действий. Пример: DirName0 = Локаль, DirName5 = "Локальные игры". Необходимо заметить, что текущая версия системы требует, чтобы имена направлений были указаны в кодировке KOI8-R. В противном случае пользователи не смогут их прочитать в статистике авторизатора, а администраторы — в конфигураторе.</para></listitem>
-        </itemizedlist>
-        <para>Все модули (кроме Store module), которые необходимо подключить к серверу в момент старта должны идти внутри секции:</para>
-        <programlisting linenumbering="unnumbered">
-        &lt;Modules&gt;
-            &lt;Module [имя модуля]&gt;
-                ПАРАМЕТРЫ_МОДУЛЯ
-            &lt;/Module&gt;
-        &lt;/Modules&gt;
-        </programlisting>
-        <para>Если модуль не имеет настраиваемых параметров, то он все равно должен задаваться в тегах Module … /Module чтобы быть успешно загруженным. Некоторые модули, такие как store module обязательно требуются при старте и без их подключения система не может быть запущена. По умолчанию для указания конфигурации модулей используются отдельные файлы из каталога conf-enabled.d. Для этого используется директива &lt;IncludeFile ПУТЬ_К_ФАЙЛУ&gt;&lt;/IncludeFile&gt;. Одна директива указана в секции &lt;Modules&gt;, а вторая в корне файла конфигурации (для store module).</para>
-        <formalpara>
-            <title>Описание параметров модуля InetAccess (auth_ia) для работы с клиентскими авторизаторами:</title>
-            <itemizedlist mark="opencircle">
-                <listitem><para>Port – параметр, определяющий на каком порту сервер будет принимать обращения авторизаторов клиентов, по умолчанию UserPort=5555.</para></listitem>
-                <listitem><para>UserTimeout – параметр, показывающий серверу, через какое время в секундах клиент будет отключен, если авторизатор не отвечает серверу на запросы. По умолчанию UserTimeout=60. Значение данного параметра должно лежать в диапазоне от 15 до 1200.</para></listitem>
-                <listitem><para>UserDelay – время в секундах, через которое сервер опрашивает клиента. Сервер шлет клиенту запрос подтверждения работы авторизатора, а клиент должен прислать ответ что авторизатор находится в рабочем состоянии. Так же это время, через которое у клиента обновляется статистика, по умолчанию UserDelay=5. Следует заметить что значение UserDelay должно быть в 3…10 раз меньше чем значение UserTimeout и данные значения не могут содержать одинаковые таймауты. Значение данного параметра должно лежать в диапазоне от 5 до 600.</para></listitem>
-                <listitem>
-                    <para>FreeMb – параметр, указывающий серверу что будет передаваться авторизатору клиента от сервера. Данный параметр может принимать следующие значения:</para>
-                    <itemizedlist mark="none">
-                        <listitem><para>0 - количество бесплатных мегабайт в пересчете на цену нулевого направления;</para></listitem>
-                        <listitem><para>1 - количество бесплатных мегабайт в пересчете на цену первого направления;</para></listitem>
-                        <listitem><para>2 - количество бесплатных мегабайт в пересчете на цену второго направления;</para></listitem>
-                        <listitem><para>...</para></listitem>
-                        <listitem><para>9 - количество бесплатных мегабайт в пересчете на цену девятого направления;</para></listitem>
-                        <listitem><para>cash - количество денег на которые клиент может бесплатно работать;</para></listitem>
-                        <listitem><para>none - ничего не передавать.</para></listitem>
-                    </itemizedlist>
-                </listitem>
-                <listitem><para></para></listitem>
-                <listitem><para></para></listitem>
-                <listitem><para></para></listitem>
-                <listitem><para></para></listitem>
-                <listitem><para></para></listitem>
-                <listitem><para></para></listitem>
-                <listitem><para></para></listitem>
-            </itemizedlist>
-        </formalpara>
-    </simplesect>
-</chapter>
+&lt;Module имя_модуля&gt;
+список параметров модуля
+&lt;/Module&gt;
+&lt;/Modules&gt;               
+</programlisting>      
+               <para>Если модуль не имеет настраиваемых параметров, то он все равно должен быть указан. Некоторые модули, такие как store module, обязательно требуются при старте и без их подключения система не может быть запущена. По умолчанию для указания конфигурации модулей используются отдельные файлы из каталога conf-enabled.d. Для этого используется директива &lt;IncludeFile ПУТЬ_К_ФАЙЛУ&gt;&lt;/IncludeFile&gt;. Одна директива указана в секции Modules, а вторая в корне файла конфигурации (для store module).</para>
+               <sect2>
+               <title>Описание параметров модуля InetAccess (auth_ia) для работы с авторизаторами абонентов:</title>
+               <itemizedlist mark="opencircle">
+                       <listitem><para>Port – обязательный параметр, определяющий на каком порту сервер будет принимать обращения авторизаторов абонентов. Стандартное значение: 5555.</para></listitem>
+                       <listitem><para>UserTimeout – обязательный параметр, указывающий серверу, через какое время в секундах абонент будет отключен если авторизатор не отвечает серверу на запросы. Может принимать значения от 15 до 1200, стандартное значение: 65.</para></listitem>
+                       <listitem><para>UserDelay – обязательный параметр, указывающий серверу время в секундах, через которое происходит опрос авторизатора абонента. Сервер шлет абоненту запрос подтверждения работы авторизатора, а авторизатор абонента должен прислать ответ что он находится в рабочем состоянии. Так же это время, через которое в авторизаторе обновляется статистика. Может принимать значения от 5 до 600, стандартное значение: 60. Следует заметить что значение UserDelay должно быть меньше чем значение UserTimeout.</para></listitem>
+                       <listitem>
+                               <para>FreeMb – обязательный параметр, определяющий в каком виде абоненту будет показано значение FreeMb. Данный параметр может принимать следующие значения:</para>
+                               <itemizedlist mark="none">
+                                       <listitem><para>0 - количество бесплатных мегабайт в пересчете на цену нулевого направления;</para></listitem>
+                                       <listitem><para>1 - количество бесплатных мегабайт в пересчете на цену первого направления;</para></listitem>
+                                       <listitem><para>2 - количество бесплатных мегабайт в пересчете на цену второго направления;</para></listitem>
+                                       <listitem><para>...</para></listitem>
+                                       <listitem><para>9 - количество бесплатных мегабайт в пересчете на цену девятого направления;</para></listitem>
+                                       <listitem><para>cash - количество денег на которые клиент может бесплатно работать;</para></listitem>
+                                       <listitem><para>none - ничего не передавать.</para></listitem>
+                               </itemizedlist>
+                       </listitem>
+               </itemizedlist>
+               <para>Обмен данными авторизатора с сервером осуществляется по протоколу UDP. Можно указать несколько модулей авторизатора auth_ia для авторизации с разных портов.</para>
+               </sect2>
+               <sect2>
+               <title>Модуль авторизации auth_ao.</title>
+               <para>Модуль параметров не имеет. Используется для поддержки режима Always Online у абонентов. Без включения этого модуля установка параметра alwaysOnline для абонента эффекта иметь не будет. В режиме Always Online абонент находится в авторизованном состоянии все время, независимо от использования авторизатора. Тем не менее он может быть отключен по причине отсутствия средств на счету, заблокирован администратором или «заморожен». В этом режиме так же возможно использование авторизатора за одним исключением — абонент не может сам вызвать «отключение».</para>
+               </sect2>
+               <sect2>
+               <title>Описание параметров модуля SGConfig (conf_sg) для работы с конфигуратором:</title>
+               <itemizedlist mark="opencircle">
+                       <listitem><para>Port – обязательный параметр, определяющий, на каком порту сервер будет принимать обращения конфигураторов. Стандартное значение: 5555.</para></listitem>
+               </itemizedlist>
+               <para>Обмен конфигуратора с сервером осуществляется по протоколу TCP. Можно указать несколько модулей конфигуратора с указанием разных портов.</para>
+               </sect2>
+               <sect2>
+               <title>Описание параметров модуля файловой БД:</title>
+               <itemizedlist mark="opencircle">
+                       <listitem><para>WorkDir – обязательный параметр, указывающий серверу где находится рабочая директория с файлами БД. Стандартное значение: /var/stargazer.</para></listitem>
+                       <listitem><para>ConfOwner, ConfGroup, ConfMode – обязательные параметры, описывающие владельца, группу и права доступа на файлы конфигурации (conf) абонента соответственно. ConfOwner должен содержать корректное имя пользователя системы (см. файл /etc/passwd), стандартное значение: root. ConfGroup должен содержать корректное название группы в системе (см. файл /etc/group), стандарное значение: root. ConfMode должен содержать корректные права на файл (только ugo-биты), стандартное значение: 640.</para></listitem>
+                       <listitem><para>StatOwner, StatGroup, StatMode – обязательные параметры, описывающие владельца, группу и права доступа на файлы статистики (stat) абонента соответственно. StatOwner должен содержать корректное имя пользователя системы (см. файл /etc/passwd), стандартное значение: root. StatGroup должен содержать корректное название группы в системе (см. файл /etc/group), стандарное значение: root. StatMode должен содержать корректные права на файл (только ugo-биты), стандартное значение: 640.</para></listitem>
+                       <listitem><para>UserLogOwner, UserLogGroup, UserLogMode – обязательные параметры, описывающие владельца, группу и права доступа на файлы журналов (log) абонента соответственно. UserLogOwner должен содержать корректное имя пользователя системы (см. файл /etc/passwd), стандартное значение: root. UserLogGroup должен содержать корректное название группы в системе (см. файл /etc/group), стандарное значение: root. UserLogMode должен содержать корректные права на файл (только ugo-биты), стандартное значение: 640.</para></listitem>
+               </itemizedlist>
+                       <para>При создании каталогов (например для записи детальной статистики) используются те-же права, но с добавлением x-бита для всех ненулевых полей. Например: для 640 будут права 750, а для 644 будут 755. Для записи детальной статистики используются параметры StatOwner, StatGroup и StatMode. Для записи сообщений используются параметры ConfOwner, ConfGroup и ConfMode.</para>
+               </sect2>
+       </chapter>
+       <para></para>
\ No newline at end of file