Установка GameAP: различия между версиями

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
м
 
(не показано 29 промежуточных версий 3 участников)
Строка 1: Строка 1:
[[Категория:АдминПанель|Установка]]
+
{{Старая_документация_GameAP}}
 +
 
 
== Требования ==
 
== Требования ==
  
 
=== Web-сервер ===
 
=== Web-сервер ===
 
* База данных (MySQL, PostgreSQL, MSSQL, SQLite или Oracle)
 
* База данных (MySQL, PostgreSQL, MSSQL, SQLite или Oracle)
* Apache 2 с модулем mod_rewrite
 
 
* PHP 5.1+
 
* PHP 5.1+
  
Строка 24: Строка 24:
 
* SSH2 (для работы с локальным сервером не требуется)
 
* SSH2 (для работы с локальным сервером не требуется)
  
'''Установка GD на Linux:'''
+
==== Установка PHP GD ====
 +
Debian/Ubuntu:
 
  sudo apt-get install php5-gd
 
  sudo apt-get install php5-gd
  
'''Установка модуля SSH2:'''
+
CentOS:
  pecl install -f ssh2
+
yum install php-gd
 +
 
 +
==== Установка PHP SSH2 ====
 +
Debian/Ubuntu:
 +
  sudo apt-get install libssh2-php
 +
 
 +
CentOS:
 +
<pre>
 +
yum install -y php-devel libssh2-devel php-pear
 +
pecl install -f ssh2
 +
echo "extension=ssh2.so" > /etc/php.d/ssh2.ini
 +
</pre>
  
 
== Установка Web-части АдминПанели ==
 
== Установка Web-части АдминПанели ==
Строка 34: Строка 46:
 
===  Автоматическая установка ===
 
===  Автоматическая установка ===
 
* Скопируйте содержимое директории upload на сервер.
 
* Скопируйте содержимое директории upload на сервер.
* Запустите мастер установки, перейдя по адресу http://<ваш_сайт>/install, например http://www.gameap.ru/install
+
* Запустите мастер установки, перейдя по адресу  
 +
<pre>http://<ваш_сайт>/install</pre>
 +
например  
 +
http://www.gameap.ru/install  
 
* Выполните все действия мастера установки.
 
* Выполните все действия мастера установки.
 
* Удалите каталог install с сервера.
 
* Удалите каталог install с сервера.
  
Для повторной установки удалите файлы config.php и database.php в директории application/config
+
==== Если отсутствует mod_rewrite ====
 +
Установка, при отсутствии mod_rewrite и .htaccess аналогична, за исключением некоторых деталей.
 +
 
 +
Откройте файл '''application/config/config.php''' и измените следующие значения переменных
 +
<pre>
 +
$config['index_page'] = 'index.php';
 +
$config['uri_protocol'] = 'QUERY_STRING';
 +
$config['enable_query_strings'] = TRUE;
 +
</pre>
 +
 
 +
Перейдите по адресу http://<ваш_сайт>/index.php?install, например http://www.gameap.ru/index.php?install
 +
 
 +
После установки панели не забудьте настроить выполнение cron заданий.
 +
Для повторной установки панели удалите файл gameap_config.php и database.php из директории application/config
 +
 
 +
=== Настройка cron ===
 +
Настройте автоматическое выполнение задач. Добавив выполняться задания CRON каждые 5-10 минут:
 +
*/5 * * * * php -f /path/to/adminpanel/index.php cron
  
=== Ручная установка ===
+
==== Настройка автоматического выполнения задач Linux ====
* Распакуйте содержимое архива в нужную директорию.
+
Выполняем команду
* Откройте файл '''applications/config/database.php''' и настройте параметры базы данных:
+
crontab -e
<syntaxhighlight lang="php">
+
Добавляем в конец
$db['default']['hostname'] = 'localhost';    // Хост базы данных
+
*/5 * * * * php -f /path/to/adminpanel/index.php cron
$db['default']['username'] = 'username';      // Имя пользователя
+
Где '''/path/to/adminpanel/''' - путь до web-части АдминПанели, например '''/home/www-data/gameap.ru/www/'''
$db['default']['password'] = 'password';      // Пароль
 
$db['default']['database'] = 'db';            // Имя базы данных
 
$db['default']['dbdriver'] = 'mysql';        // Тип базы данных (mysql, postgre, obdc и др.). Указывается в нижнем регистре
 
$db['default']['dbprefix'] = '';              // Префикс базы данных
 
</syntaxhighlight>
 
  
Если файл отсутствует, то найдите в дистрибутиве '''install/database_install.tmp''', скопируйте его в '''applications/config/''' и переименуйте в '''database.php'''
+
'''Примечание!''' Указывайте абсолютный серверный путь, а не путь к сайту. "php -f http://www.gameap.ru/cron" - неправильно
  
* Откройте файл '''applications/config/config.php''' и настройте параметры:
+
==== Настройка автоматического выполнения задач Windows ====
<syntaxhighlight lang="php">
+
[[Файл:Gameap cronset windows51.png|thumb|Настройка выполнения задач в Windows XP]]
$config['base_url'] = 'http://www.gameap.ru/'; // URL сайта с http:// и слешем в конце
+
В Windows есть свое средство для запуска программ и скриптов по расписанию. Инструмент "Назначенные задания" поможет вам настроить автоматическое выполнение скрипта.
$config['language'] = 'english'; // Язык
 
$config['local_os'] = 'Linux'; // Локальная ос (на которой установлена панель)
 
$config['local_script_path'] = '/home/servers'; // Путь к игровым сервером на локальном сервере
 
$config['system_email'] = 'no-reply@hldm.org'; // Email, используемый для отправки информационных сообщений другим пользователям
 
$config['register_users'] = FALSE; // Регистрация пользователей
 
</syntaxhighlight>
 
  
Если файл отсутствует, то найдите в дистрибутиве '''install/config_install.tmp''', скопируйте его в '''applications/config/''' и переименуйте в '''config.php'''
+
Порядок выполнения:
 +
* Откройте инструмент "'''Назначенные задания'''", '''ПУСК''' -> '''Все программы''' -> '''Стандартные''' -> '''Служебные''' -> '''Назначенные задания'''.
 +
* Кликните по "'''Добавить задание'''".
 +
* У вас откроется окно мастера. Кликните далее и выберите файл '''php.exe''' вашего вебсервера.
 +
* В следующем окне укажите имя этому заданию и выберите "'''ежедневно'''" в качестве периода выполнения задания.
 +
* Следующий диалог можете оставить как есть. В этом диалоге вы можете задать время начала выполнения задания.
 +
* Далее введите данные для входа в систему, данные пользователя, от которого будет запускаться задание.
 +
* Поставьте флажок напротив: "'''Установить дополнительные параметры после нажатия кнопки Готово.'''" и нажмите Готово.
 +
* Появится окно свойств этого задания. В поле ''выполнить'' будет команда запуска скрипта. На Windows она выглядит так:
 +
C:\path\to\php\php.exe -f "C:\path\to\adminpanel\index.php" cron
 +
* Перейдите во вкладку '''Расписание''' и поставьте время начала выполнения в '''0:00'''; нажмите на кнопку '''Дополнительно'''.
 +
* Поставьте галочку напротив '''Повторять задание''' и задайте период запуска скрипта.
 +
* Настройте выполнение скрипта в течении '''24 часов'''.
 +
* После чего нажмите "OK" и проверьте выполнение скрипта.
  
Неуказанные параметры редактировать не рекомендуется.
+
 
 +
'''Примечание!''' Указывайте абсолютный серверный путь, а не путь к сайту. "php -f http://www.gameap.ru/cron" - неправильно
  
 
== Установка серверной части АдминПанели ==
 
== Установка серверной части АдминПанели ==
Строка 72: Строка 107:
 
=== Linux ===
 
=== Linux ===
 
Удаленное управление серверами под управлением ОС Linux происходит по протоколу SSH, однако возможно использовать Telnet. Также понадобится утилита Screen.
 
Удаленное управление серверами под управлением ОС Linux происходит по протоколу SSH, однако возможно использовать Telnet. Также понадобится утилита Screen.
 +
 +
* Скопируйте файл '''bin/Linux/server.sh''' из дистрибутива с панелью в каталог на сервере (каталог не должен быть общедоступным)
 +
* Для автоматической установки серверов необходимо наличие утилиты [[SteamCMD]] в директории с исполняемыми файлами АдминПанели (server.sh)
 +
http://media.steampowered.com/client/steamcmd_linux.tar.gz
 +
* Если у Вас локальный сервер, то для управления игровыми серверами необходимо сделать следующее:
 +
sudo nano /etc/sudoers
 +
Добавить в конец:
 +
www-data ALL = NOPASSWD: /путь/к/server.sh
 +
Где www-data - пользователь, от которого запущен Apache и выполняются php скрипты.
 +
  
 
==== Загрузка необходимых программ ====
 
==== Загрузка необходимых программ ====
Строка 80: Строка 125:
 
* Для установки Screen выполните команду:
 
* Для установки Screen выполните команду:
 
  sudo apt-get install screen
 
  sudo apt-get install screen
 +
 +
* Для стабильной работы игровых серверов на 64-битных системах рекомендуется установить 32-битные библиотеки
 +
apt-get install ia32-libs
 +
 +
* Для автоматической установки серверов необходимо наличие утилиты [[SteamCMD]] в директории с исполняемыми файлами АдминПанели (server.sh)
 +
wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
 +
tar xvfz steamcmd_linux.tar.gz
 +
 +
* Для работы ограничений требуются пакеты cpulimit, tricle и ulimit. Установка для Debian/Ubuntu:
 +
apt-get install cpulimit tricle
  
 
=== Windows ===
 
=== Windows ===
Удаленное управление серверами под управлением ОС Windows происходит по протоколу Telnet.  
+
Для удаленного управления машинами под ОС Windows рекомендуется использовать [[GDaemon]]. Также можно использовать Telnet или SSH.
 +
==== Запуск сервера GDaemon ====
 +
 
 +
* Скачайте файлы daemon.exe и daemon.cfg с GitHub - https://github.com/GameAP/GameAP_Daemon/tree/master/compiled/Windows
 +
* Скопируйте эти файлы в директорию, где будут игровые серверы, например C:\servers\
 +
* Откройте командную строку Windows - cmd.exe
 +
* Отправьте команду:
 +
sc create "GameAP Daemon" start= auto binpath= C:\servers\daemon.exe
 +
sc failure "GameAP Daemon" reset= 600 actions= run/5000/reboot/800
 +
Где C:\servers\daemon.exe - путь к исполняемому файлу daemon.exe
 +
 
 +
* Настройте GDaemon, откройте файл daemon.cfg в блокноте и измените параметры на свои.
 +
 
 +
* Откройте порт на файрволе, в стандартном брандмауэре Windows это делается отправкой команды в cmd:
 +
netsh advfirewall firewall add rule name=GDaemon dir=in action=allow protocol=TCP localport=31707
 +
Где 31707 - это порт, который слушает [[GDaemon]].
 +
 
 +
* Запустите службу GameAP Daemon.
 +
 
 +
После этого можете переходить к настройке выделенного сервера в самой панели управления.
 +
 
 
==== Запуск сервера Telnet ====
 
==== Запуск сервера Telnet ====
 +
 +
Примечание! Для управления выделенными серверами из панели рекомендуется использовать протокол GDaemon. О его настройке [[Установка_GameAP#.D0.97.D0.B0.D0.BF.D1.83.D1.81.D0.BA_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.B0_GDaemon|читайте здесь]].
 +
 
* Зайдите в меню '''"Пуск"''' -> '''"Администрирование"''' -> '''"Управление службами"''', либо нажмите комбинацию клавиш '''"<Win> + R"''' и в появившемся окошке введите '''"services.msc"'''.
 
* Зайдите в меню '''"Пуск"''' -> '''"Администрирование"''' -> '''"Управление службами"''', либо нажмите комбинацию клавиш '''"<Win> + R"''' и в появившемся окошке введите '''"services.msc"'''.
 
* В списке служб найдите Telnet и включите эту службу.
 
* В списке служб найдите Telnet и включите эту службу.
Строка 89: Строка 167:
 
==== Загрузка необходимых программ ====
 
==== Загрузка необходимых программ ====
 
* Для запуска сервера понадобится утилита PsExec, [http://technet.microsoft.com/en-us/sysinternals/bb897553 скачать], она необходима чтобы игровой сервер оставался онлайн при выходе из Telnet.
 
* Для запуска сервера понадобится утилита PsExec, [http://technet.microsoft.com/en-us/sysinternals/bb897553 скачать], она необходима чтобы игровой сервер оставался онлайн при выходе из Telnet.
 +
* Для автоматической установки серверов необходимо наличие утилиты [[SteamCMD]] в директории с исполняемыми файлами АдминПанели (server.exe, psexec.exe)
 +
http://media.steampowered.com/client/steamcmd_win32.zip
  
 
Управление игровым сервером под управлением ОС Windows возможно по протоколу SSH, в этом случае понадобится любой сервер SSH для Windows, например FreeSSHd. Подобный вид управления игровыми серверами не желателен.
 
Управление игровым сервером под управлением ОС Windows возможно по протоколу SSH, в этом случае понадобится любой сервер SSH для Windows, например FreeSSHd. Подобный вид управления игровыми серверами не желателен.
 +
 +
{{Категория:Документация_GameAP}}
 +
 +
[[Категория:АдминПанель]]
 +
[[Категория:Документация_GameAP]]

Текущая версия на 12:00, 19 июня 2019

Это документация к устаревшей версии GameAP. Документация для последней версии расположена здесь: https://docs.gameap.ru/ru

Требования

Web-сервер

  • База данных (MySQL, PostgreSQL, MSSQL, SQLite или Oracle)
  • PHP 5.1+

Linux

  • SSH сервер (для локального сервера не требуется)
  • Screen

Для стабильной работы игровых серверов на 64-битных системах рекомендуется установить 32-битные библиотеки Для установки:

apt-get install ia32-libs

Windows

  • Настроенный Telnet сервер (для локального сервера не требуется)
  • Psexec или Paexec для Windows сервера (входит в дистрибутив с панелью)

Необходимые модули PHP

  • GD
  • FTP
  • SSH2 (для работы с локальным сервером не требуется)

Установка PHP GD

Debian/Ubuntu:

sudo apt-get install php5-gd

CentOS:

yum install php-gd

Установка PHP SSH2

Debian/Ubuntu:

sudo apt-get install libssh2-php

CentOS:

yum install -y php-devel libssh2-devel php-pear
pecl install -f ssh2
echo "extension=ssh2.so" > /etc/php.d/ssh2.ini

Установка Web-части АдминПанели

Автоматическая установка

  • Скопируйте содержимое директории upload на сервер.
  • Запустите мастер установки, перейдя по адресу
http://<ваш_сайт>/install

например

http://www.gameap.ru/install 
  • Выполните все действия мастера установки.
  • Удалите каталог install с сервера.

Если отсутствует mod_rewrite

Установка, при отсутствии mod_rewrite и .htaccess аналогична, за исключением некоторых деталей.

Откройте файл application/config/config.php и измените следующие значения переменных

$config['index_page'] = 'index.php';
$config['uri_protocol'] = 'QUERY_STRING';
$config['enable_query_strings'] = TRUE;

Перейдите по адресу http://<ваш_сайт>/index.php?install, например http://www.gameap.ru/index.php?install

После установки панели не забудьте настроить выполнение cron заданий. Для повторной установки панели удалите файл gameap_config.php и database.php из директории application/config

Настройка cron

Настройте автоматическое выполнение задач. Добавив выполняться задания CRON каждые 5-10 минут:

*/5 * * * * php -f /path/to/adminpanel/index.php cron

Настройка автоматического выполнения задач Linux

Выполняем команду

crontab -e

Добавляем в конец

*/5 * * * * php -f /path/to/adminpanel/index.php cron

Где /path/to/adminpanel/ - путь до web-части АдминПанели, например /home/www-data/gameap.ru/www/

Примечание! Указывайте абсолютный серверный путь, а не путь к сайту. "php -f http://www.gameap.ru/cron" - неправильно

Настройка автоматического выполнения задач Windows

Настройка выполнения задач в Windows XP

В Windows есть свое средство для запуска программ и скриптов по расписанию. Инструмент "Назначенные задания" поможет вам настроить автоматическое выполнение скрипта.

Порядок выполнения:

  • Откройте инструмент "Назначенные задания", ПУСК -> Все программы -> Стандартные -> Служебные -> Назначенные задания.
  • Кликните по "Добавить задание".
  • У вас откроется окно мастера. Кликните далее и выберите файл php.exe вашего вебсервера.
  • В следующем окне укажите имя этому заданию и выберите "ежедневно" в качестве периода выполнения задания.
  • Следующий диалог можете оставить как есть. В этом диалоге вы можете задать время начала выполнения задания.
  • Далее введите данные для входа в систему, данные пользователя, от которого будет запускаться задание.
  • Поставьте флажок напротив: "Установить дополнительные параметры после нажатия кнопки Готово." и нажмите Готово.
  • Появится окно свойств этого задания. В поле выполнить будет команда запуска скрипта. На Windows она выглядит так:
C:\path\to\php\php.exe -f "C:\path\to\adminpanel\index.php" cron
  • Перейдите во вкладку Расписание и поставьте время начала выполнения в 0:00; нажмите на кнопку Дополнительно.
  • Поставьте галочку напротив Повторять задание и задайте период запуска скрипта.
  • Настройте выполнение скрипта в течении 24 часов.
  • После чего нажмите "OK" и проверьте выполнение скрипта.


Примечание! Указывайте абсолютный серверный путь, а не путь к сайту. "php -f http://www.gameap.ru/cron" - неправильно

Установка серверной части АдминПанели

Linux

Удаленное управление серверами под управлением ОС Linux происходит по протоколу SSH, однако возможно использовать Telnet. Также понадобится утилита Screen.

  • Скопируйте файл bin/Linux/server.sh из дистрибутива с панелью в каталог на сервере (каталог не должен быть общедоступным)
  • Для автоматической установки серверов необходимо наличие утилиты SteamCMD в директории с исполняемыми файлами АдминПанели (server.sh)
http://media.steampowered.com/client/steamcmd_linux.tar.gz
  • Если у Вас локальный сервер, то для управления игровыми серверами необходимо сделать следующее:

sudo nano /etc/sudoers Добавить в конец: www-data ALL = NOPASSWD: /путь/к/server.sh Где www-data - пользователь, от которого запущен Apache и выполняются php скрипты.


Загрузка необходимых программ

  • Для установки SSH сервера выполните команду:
sudo apt-get install ssh
  • Для установки Screen выполните команду:
sudo apt-get install screen
  • Для стабильной работы игровых серверов на 64-битных системах рекомендуется установить 32-битные библиотеки
apt-get install ia32-libs
  • Для автоматической установки серверов необходимо наличие утилиты SteamCMD в директории с исполняемыми файлами АдминПанели (server.sh)
wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
tar xvfz steamcmd_linux.tar.gz
  • Для работы ограничений требуются пакеты cpulimit, tricle и ulimit. Установка для Debian/Ubuntu:
apt-get install cpulimit tricle

Windows

Для удаленного управления машинами под ОС Windows рекомендуется использовать GDaemon. Также можно использовать Telnet или SSH.

Запуск сервера GDaemon

  • Скачайте файлы daemon.exe и daemon.cfg с GitHub - https://github.com/GameAP/GameAP_Daemon/tree/master/compiled/Windows
  • Скопируйте эти файлы в директорию, где будут игровые серверы, например C:\servers\
  • Откройте командную строку Windows - cmd.exe
  • Отправьте команду:
sc create "GameAP Daemon" start= auto binpath= C:\servers\daemon.exe
sc failure "GameAP Daemon" reset= 600 actions= run/5000/reboot/800

Где C:\servers\daemon.exe - путь к исполняемому файлу daemon.exe

  • Настройте GDaemon, откройте файл daemon.cfg в блокноте и измените параметры на свои.
  • Откройте порт на файрволе, в стандартном брандмауэре Windows это делается отправкой команды в cmd:
netsh advfirewall firewall add rule name=GDaemon dir=in action=allow protocol=TCP localport=31707

Где 31707 - это порт, который слушает GDaemon.

  • Запустите службу GameAP Daemon.

После этого можете переходить к настройке выделенного сервера в самой панели управления.

Запуск сервера Telnet

Примечание! Для управления выделенными серверами из панели рекомендуется использовать протокол GDaemon. О его настройке читайте здесь.

  • Зайдите в меню "Пуск" -> "Администрирование" -> "Управление службами", либо нажмите комбинацию клавиш "<Win> + R" и в появившемся окошке введите "services.msc".
  • В списке служб найдите Telnet и включите эту службу.

Загрузка необходимых программ

  • Для запуска сервера понадобится утилита PsExec, скачать, она необходима чтобы игровой сервер оставался онлайн при выходе из Telnet.
  • Для автоматической установки серверов необходимо наличие утилиты SteamCMD в директории с исполняемыми файлами АдминПанели (server.exe, psexec.exe)
http://media.steampowered.com/client/steamcmd_win32.zip

Управление игровым сервером под управлением ОС Windows возможно по протоколу SSH, в этом случае понадобится любой сервер SSH для Windows, например FreeSSHd. Подобный вид управления игровыми серверами не желателен.