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

Полностью автоматическая установка. Нужно запустить скрипт, он автоматически установит необходимые пакеты и панель. В процессе установки нужно будет ввести и выбрать некоторые параметры:

  • Путь установки
  • Хост панели. Доменное имя или IP по которому будет доступна панель
  • Выбрать базу данных: MySQL, PostgreSQL, SQLite
  • Выбрать веб сервер: Nginx, Apache

Установка необходимых пакетов

Для запуска скрипта понадобится CURL.

Debian/Ubuntu

sudo apt-get update
sudo apt-get install curl

Centos

sudo yum update
sudo yum install curl

Запуск скрипта

Скачайте скрипт и установите права на выполнение:

curl -sLO http://packages.gameap.ru/installer.sh
chmod +x ./installer.sh

Запустите скрипт:

./installer.sh

Запуск с параметрами

Чтобы скрипт у вас ничего не спрашивал и полностью выполнил установку без лишних вопросов, укажите ему следующие параметры:

  • --path Путь установки файлов панели.
  • --host Хост по которому будет доступна панель.
  • --web-server Веб сервер. Возможные значения: nginx, apache, none
  • --database База данных. Возможные значения: mysql, pgsql, sqlite, none
  • --github Панель будет установлена с GitHub’а.
  • --upgrade Параметр используется для обновления панели.

Примеры

Установка панели

Следующий пример автоматически установит панель в каталог /var/www/gameap, установит и настроит веб-сервер, базу данных. Панель должна стать доступна по указанному в --host адресу http://your-gameap.ru:

./installer.sh \
    --path=/var/www/gameap \
    --host=your-gameap.ru \
    --web-server=nginx \
    --database=mysql \
    --github

Следующий пример автоматически установит панель в каталог /var/www/gameap. Установка веб-сервера не будет произведена. Будет установлен пакет php-sqlite для работы с базой SQLite.

./installer.sh \
    --path=/var/www/gameap \
    --host=localhost \
    --web-server=none \
    --database=sqlite

Обновление панели

Следующий пример обновит панель:

./installer.sh --upgrade

Обновление панели используя GitHub:

./installer.sh --upgrade --github

Что ещё устанавливает скрипт

Помимо самой панели, скрипт устанавливает необходимые пакеты и их зависимости. Скорее всего, все или большинство из них уже будет установлено на вашей системе.

Пакеты

Скрипт автоматически устанавливает следующие пакеты:

  • software-properties-common Управление репозиториями APT.
  • apt-transport-https Поддержка https для APT
  • gnupg Пакет для работы с цифровыми подписями и ключами. Необходим для проверки подлинности пакетов и добавления ключей репозиториев.

Если выбрана опция установки панели с GitHub, то скрипт ещё установит следующие пакеты:

  • git Для загрузки панели с GitHub
  • composer Менеджер пакетов PHP. Для установки необходимых зависимостей панели.
  • npm NodeJS менеджер пакетов. Для сборки стилей GameAP.

PHP расширения: php-cli, php-fpm, php-pdo, php-mysql, php-redis, php-curl php-bz2, php-zip, php-xml, php-mbstring, php-bcmath

Репозитории

Скрипт может добавить несколько репозиториев в APT. Например, в Debian Stretch по умолчанию стоит PHP 7.0, а минимальная версия PHP для панели 7.1. В этом случае, скрипт проверит возможность установки нужной версии PHP, если её не будет, то добавит необходимые репозитории.

  • http://packages.gameap.ru/ Репозиторий GameAP. Для удаления репозитория нужно удалить файл /etc/apt/sources.list.d/gameap.list

  • https://packages.sury.org/php/ Этот репозиторий будет добавлен на Debian Stretch и Jessie, если возможность установки PHP >= 7.1 невозможна. Для удаления этого репозитория нужно удалить файл /etc/apt/sources.list.d/php.list

  • ppa:ondrej/php Репозиторий с последними версиями PHP для Ubuntu. Будет добавлен на Ubuntu Trusty и ниже. Для удаления выполните команду: sudo ppa-purge ppa:ondrej/php

  • http://nginx.org/packages/ Официальный репозиторий Nginx. Будет добавлен если в качестве веб сервера был выбран Nginx. Для удаления репозитория нужно удалить файл /etc/apt/sources.list.d/nginx.list

  • ppa:chris-lea/node.js Репозиторий для установки NodeJS менеджера пакетов (NPM). Он будет добавлен только при установке панели из GitHub. Для удаления выполните команду: sudo ppa-purge ppa:chris-lea/node.js