Установка GameAP

Материал из HLDM Wiki
Версия от 10:37, 19 июня 2014; Nikita (обсуждение | вклад) (Необходимые модули PHP)
Перейти к навигации Перейти к поиску


Требования

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 (для работы с локальным сервером не требуется)

Установка GD (Debian):

sudo apt-get install php5-gd

Установка GD (CentOS): yum install php-gd

Установка модуля SSH2 (Debian):

sudo apt-get install libssh2-php


Установка модуля SSH2 (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 на сервер.
  • Настройте параметры базы данных в файле application/config/database_tmp.php и сохраните файл под именем database.php
  • Запустите мастер установки, перейдя по адресу 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

Ручная установка

Внимание! Ручная установка больше не актуальна, рекомендуем пользоваться автоматической!

  • Распакуйте содержимое архива в нужную директорию.
  • Откройте файл applications/config/database.php и настройте параметры базы данных:
$db['default']['hostname'] = 'localhost';     // Хост базы данных
$db['default']['username'] = 'username';      // Имя пользователя
$db['default']['password'] = 'password';      // Пароль
$db['default']['database'] = 'db';            // Имя базы данных
$db['default']['dbdriver'] = 'mysql';         // Тип базы данных (mysql, postgre, obdc и др.). Указывается в нижнем регистре
$db['default']['dbprefix'] = '';              // Префикс базы данных

Если файл отсутствует, то найдите в дистрибутиве install/database_install.tmp, скопируйте его в applications/config/ и переименуйте в database.php

  • Импортируйте SQL файл в базу данных.
  • Откройте файл applications/config/config.php и настройте параметры:
$config['base_url'] = 'http://www.gameap.ru/'; // URL сайта с http:// и слешем в конце
$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; // Регистрация пользователей

Если файл отсутствует, то найдите в дистрибутиве install/config_install.tmp, скопируйте его в applications/config/ и переименуйте в config.php

Неуказанные параметры редактировать не рекомендуется.

Настройка 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 есть свое средство для запуска программ и скриптов по расписанию. Инструмент "Назначенные задания" поможет вам настроить автоматическое выполнение скрипта.

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

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

Пример:

C:\data\xampp\php\php.exe -f "C:\data\www\start-in-game.ru\admin_panel_servers\index.php" cron
  • Перейдите во вкладку Расписание и поставьте время начало выполнения в 0:00; нажмите на кнопку Дополнительно.
  • Поставьте галочку напротив Повторять задание и задайте период запуска скрипта.
  • Настройте выполнение скрипта в течении 23 часов и 50 минут. Это даст нам возможность повторять это задание каждые n минут в течении дня.
  • После чего нажмите "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

Windows

Удаленное управление серверами под управлением ОС Windows происходит по протоколу Telnet.

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

  • Зайдите в меню "Пуск" -> "Администрирование" -> "Управление службами", либо нажмите комбинацию клавиш "<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. Подобный вид управления игровыми серверами не желателен.