Как установить xenforo на debian 9

Обновлено: 04.07.2024

В этом руководстве показано как установить и настроить инструмент для мониторинга сетевой инфраструктуры Icinga 2 в Debian 9.

Что такое Icinga 2?

Icinga 2 можно настроить для мониторинга состояния внутренних систем, для проверки загрузки, памяти, свободного места на диске или других внутренних параметров хостов. Icinga также можно настроить для отправки уведомлений и оповещений по электронной почте или в SMS- системным администраторам, указанным в контактах.

Первоначальные требования

Многие из команд в этом руководстве требуют привилегий суперпользователя. Если при использовании команды sudo появляется ошибка bash: sudo: command not found, вам необходимо активировать режим суперпользователя, установить команду sudo и добавить своего пользователя в группу sudo:

su -
apt-get install sudo -y
usermod -aG sudo yourusername

На виртуальном сервере должен быть установлен LAMP-стек.
Обновите локальные репозитории и пакеты:

sudo apt-get update && sudo apt-get upgrade

Использование OPCache для увеличения скорости загрузки

Чтобы увеличить скорость загрузки вашего приложения с помощью плагина OPCache, доступного в PHP 7, добавьте следующие параметры OPCache в конец файла конфигурации PHP:

Вставьте следующие строки:

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Перезапустите Apache, чтобы изменения вступили в силу:

systemctl restart apache2

Настройка баз данных

Установите СУБД, необходимую веб-приложению Icinga 2 для мониторинга, и интерфейсу Icinga Web 2 для хранения пользователей, контактов и других собранных данных. Выполните следующую команду, чтобы установить базу данных MariaDB и модуль PHP, необходимые для доступа к базе данных MySQL в Debian 9:

apt install php7.0-mysql mariadb-server mariadb-client

Войдите в консоль MySQL и защитите учетную запись суперпользователя MariaDB:

mysql -h localhost

update user set plugin='' where user='root';

Далее выполните сценарий безопасности MySQL:

Войдите в консоль базы данных и создайте базу данных для Icinga 2:

Создайте пользователя с надежным паролем для управления базой данных приложения Icinga 2, введя команды ниже. В этом примере необходимо заменить icingadb, icinga-user и strongpassword своим собственным именем базы данных и учетными данными:

create database icingadb;
grant all privileges on icingadb.* to 'icinga_user'@'localhost' identified by 'strongpassword';
flush privileges;

Создайте вторую базу данных MySQL, используемую Icinga 2 Web для хранения пользователей и групп. Как и в предыдущем шаге замените имя базы данных и учетные данные. Вы можете использовать одну и ту же учетную запись пользователя MySQL для одновременного управления обеими базами данных (icinga_user'@'localhost):

create database icinga_users;
grant all privileges on icinga_users.* to 'icinga_user'@'localhost' identified by 'strongpassword';
exit

Установка Icinga 2

Установите Icinga 2 и модуль Icinga 2 MySQL для доступа к базе данных MariaDB:

apt install icinga2 icinga2-ido-mysql

Во время установки возникнет вопрос использования модуля MySQL. Выберите Yes в командной строке:


После установки Icinga 2 запустите службу Icinga 2 и проверьте состояние демона:

systemctl start icinga2.service

systemctl status icinga2.service

Установка веб-интерфеqса Icinga 2

Для управления Icinga 2 через веб-интерфейс установите пакеты веб-интерфейса Icinga 2 и интерфейса командной строки (CLI):

apt install icingaweb2 icingacli

Перезапустите демон Icinga 2 и проверьте его статус:

systemctl restart icinga2.service

systemctl status icinga2.service

Для установки схемы MySQL требуется база данных Icinga 2:

mysql -u root icingadb -p < /usr/share/icinga2-ido-mysql/schema/mysql.sql

Откройте файл конфигурации Icinga 2 MySQL IDO:

Добавьте учетные данные базы данных Icinga 2 как показано на примере ниже. Используйте учетные данные первой базы данных, созданной на предыдущем этапе создания базы данных:

library "db_ido_mysql"
object IdoMysqlConnection "ido-mysql" user = "icinga_user",
password = "strongpassword",
host = "localhost",
database = "icingadb"
>

Сохраните файл и перезапустите демон Icinga 2:

systemctl restart icinga2.service

Создайте каталог журналов Icinga Web 2 и добавьте соответствующие разрешения файловой системы, чтобы предоставить разрешения записи групп:

mkdir -p /var/log/icingaweb2/

chgrp -R icingaweb2 /var/log/icingaweb2/

chmod -R 775 /var/log/icingaweb2/

Настройте Icinga 2 через веб-интерфейс

Сгенерируйте токен установки. Сохраните его в легкодоступном месте. Вам нужно будет использовать его для доступа к настройке Icinga 2:

icingacli setup token create

Вывод этой команды должен быть примерно таким:

The newly generated setup token is: c0f22932e763ac41

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

icingacli setup token show

iptables -A INPUT -p tcp --dport 80 -j ACCEPT


На следующем экране отметьте галочкой модули Doc и Monitoring и нажмите Next для продолжения:


Icinga 2 проверит ваши системные требования и модули PHP, чтобы убедиться, что все требования выполнены, прежде чем продолжить процесс установки и настройки. Если не хватает некоторых модулей, то их необходимо доустановить.

Прокрутите вниз до конца страницы и нажмите Далее, чтобы продолжить:


В качестве типа аутентификации выберите Database:


Используйте информацию из второй базы данных, созданной ранее, чтобы добавить учетные данные, необходимые для доступа к базе данных Icinga 2 для хранения пользователей и групп.

В качестве имени для этого ресурса используйте icingaweb_db.


Определите имя для базы данных аутентификации и нажмите Next:


Добавьте имя пользователя с надежным паролем для входа в веб-интерфейс Icinga 2 и нажмите Next:


Далее настройте приложение и выполните настройку регистрации ошибок, используя следующие параметры:

  • Отметьте Show Stacktraces;
  • Storage Type = Database;
  • Logging Type = File;
  • Logging Level = Error;
  • File path = /var/log/icingaweb2/icingaweb2.log.


Просмотрите информационный отчет и, если ошибок нет, нажмите Next для продолжения:


В следующем окне нажмите Next для продолжения:


Добавьте имя для Icinga 2 Backend, выберите IDO в качестве Backend Type и нажмите Next:


Добавьте учетные данные базы данных для настройки среды ресурса IDO. После добавления нажмите кнопку Validate Configuration, чтобы проверить ресурс IDO мониторинга Icinga.


Выполните настройку транспортного модуля, используя следующие параметры:

Transport Name = icinga2
Transport Type = Local Command File
Command File = /var/run/icinga2/cmd/icinga2.cmd


Настройте переменные среды безопасности мониторинга (можно оставить значения по умолчанию):


На следующем экране показан подробный отчет о текущей конфигурации. Проверьте конфигурацию и нажмите Готово, чтобы завершить процесс установки:




Вы будете перенаправлены в панель управления Icinga Web 2, где вы увидите службы и ресурсы виртуального сервера, которые в настоящее время отслеживаются механизмом Icinga 2:


Вы успешно установили, а также настроили приложение мониторинга Icinga 2 и интерфейс Icinga Web 2 в Debian 9.


Площадка для сообщества нашего продукта давно работает на базе форумного движка XenForo. До недавнего времени, форум работал VPS на базе CentOS 6.8 с вендорским Apache 2.2.15, MySQL 5.1 и PHP 5.6.

В связи с приближающимся релизом XenForo 2.0, у которого повышенные требования к компонентам, и общим желанием ускорить работу форума на современной компонентной базе, было принято решение о переезде на VPS с nginx, последней версией PHP и базой данных, работающей на Percona Server 5.7.

Приведенная ниже инструкция не претендует на идеальное решение с идеальной конфигурацией и может рассматриваться как общий план использования XenForo на nginx хостинге. Инструкция в первую очередь предназначена для тех администраторов XenForo, которые не слишком сильны в тонкостях администрирования Linux и хотели бы иметь какую-то общую базовую инструкцию.

Подготовка VPS

В качестве операционной системы была выбрана CentOS 7.3 просто потому, что администратору rpm-based OSes ближе, чем deb-based :)

VPS располагает 25Gb дискового пространства, 4Gb RAM, а команда:


показывает число 8.


Далее нужно подключить все необходимые third-party репозитории и установить нужные нам компоненты. Первым устанавливаем сервер баз данных Percona. Подключаем репозиторий и устанавливаем необходимые пакеты:


Здесь тонкость в том, что во время установки генерируется временный админский пароль, который нужно найти с помощью команды:


Он нам потребуется для дальнейшей security настройки Percona Server командой:


После этого вы получите постоянный пароль для вашего сервера баз данных.

Далее устанавливаем репозиторий nginx и сам пакет nginx:


После этого устанавливаем свежайшую версию PHP со всеми необходимыми компонентами:


Включаем все нужные сервисы с помощью


чтобы после перезагрузки сервера, все они запускались автоматически. На этом подготовку заканчиваем и приступаем к самому сложному — настройке всего этого хозяйства для оптимальной работы нашего XenForo форума.

Настройка сервисов

В этом разделе не следует принимать все, как истину в последней инстанции. Опытные администраторы могут указать гораздо более лучшие тонкие настройки. Неопытным предлагаются некие общие рекомендации, которые они могут использовать один в один, как реально работающую конфигурацию, либо использовать их, как шаблон для собственной индивидуальной конфигурации.


В файле /etc/nginx/conf.d/php-fpm.conf тоже включаем работу через сокет:


Сервис memcached по соображениям безопасности привязываем только к адресу 127.0.0.1:


Запускаем его с помощью:


убеждаемся, что порт 11211 открылся для соединений и настраиваем в конфиге XenForo его использование для кэширования backend-а в соответствии с официальной документацией XenForo. Но тут есть тонкость, вместо строчки:


у меня заработала строчка:


Percona Server можно попробовать оптимизировать с помощью их визарда, либо известным скриптом mysqltuner.pl Все на ваше усмотрение и в соответствии с ресурсами вашего железа.

Имейте только в виду, что конфигурационный файл находится в /etc/percona-server.conf.d/mysqld.cnf

Самая сложная часть в этой истории — конфигурация nginx. В основных настройках ничего особенного. Только правильно выставите значения worker_processes (количество процессоров определяется командой cat /proc/cpuinfo | grep processor | wc -l) и worker_connections (worker_processes * 1024):


Дальше мы еще вернемся к особенностям включения FastCGI кэширования в другом блоке, а пока посмотрим на следующий блок, server:


Здесь важно конфигурирование SSL сертификата. В нашем случае используется сертификат от Comodo. Инструкцию по его подключению можно найти на их сайте, а для генерации /etc/ssl/certs/dhparam.pem используем команду:


Последующую проверку правильности настройки SSL сертификата можно сделать тут.

И, наконец, последние важные блоки конфига nginx:


Здесь очень важны параметры location для корректной работы ссылок ЧПУ, скриптов PHP и закрытия доступа к важным внутренним директориям internal_data и library. Кроме того, здесь включается gzip компрессия и кэширование статический медиа файлов. Ну и вторая часть настройки FastCGI кэширования.

Собственно сам переезд контента форума состоял в переносе дампа базы данных и tar.gz архива содержимого форумного root directory и разворачивании их на новом сервере.

Дополнительная информация о кэшировании в nginx

В начале, я попытался использовать nginx microcaching. Для начала создал директорию для хранения кэша:


Создал файл /etc/nginx/conf.d/microcache.conf с содержимым:


и в конфиге nginx для php location сделал так:

Оказалось, что проблема лежит в глубинах движка XenForo и решается установкой плагина Logged In Cookie и правкой темплейтов XenForo helper_login_form и login_bar_form заменой строки:


Но все это я узнал позже, когда настроил описанное выше FastCGI кэширование, с которым теперь все работает отлично. Поэтому, я думаю, проблема с сессиями решилась бы и для nginx microcaching, но я не проверял. Вы можете попробовать этот вариант кэширования.

Вывод

После тестирования форума на Google Pagespeed и соответствующей дополнительной оптимизации, существенное ускорение работы форума было нельзя не заметить. Сейчас форум набирает 86 баллов из 100. Раньше, на Apache было 78 баллов. Есть еще над чем работать в плане оптимизации кода, в особенности для мобильной версии.

Кроме того, провел сравнение старого форума на Apache и нового на nginx нагрузочным тестированием на php скрипт общим количеством запросов 1000 и с числом одновременных соединений 300. Результаты налицо, как говорится:

Apache:

Document Path: /admin.php
Document Length: 3438 bytes

Connection Times (ms)
min mean[±sd] median max
Connect: 0 1987 1940.1 1223 8748
Processing: 59 257 800.3 76 4254
Waiting: 0 79 31.4 72 211
Total: 234 2244 1926.3 1472 8811

Percentage of the requests served within a certain time (ms)
50% 1472
66% 2019
75% 2683
80% 3068
90% 4278
95% 8313
98% 8625
99% 8787
100% 8811 (longest request)

nginx:

Document Path: /admin.php
Document Length: 3437 bytes

Connection Times (ms)
min mean[±sd] median max
Connect: 182 1089 298.9 1185 1450
Processing: 55 261 279.5 159 1092
Waiting: 55 243 267.6 139 943
Total: 253 1350 81.5 1323 1510

Percentage of the requests served within a certain time (ms)
50% 1323
66% 1347
75% 1422
80% 1451
90% 1467
95% 1477
98% 1486
99% 1498
100% 1510 (longest request)

Мониторинг потребляемых ресурсов VPS при самой высокой нагрузке форума тоже позволяет судить об очень небольшом их потреблении. Интерфейс форума был недавно полностью переработан в соответствии с новым корпоративным стандартом, и в сочетании с реактивной отзывчивостью стал дополнительным плюсом для привлечения новых членов нашего сообщества.

A: Цена составляет $140 за одну лицензию. Лицензия пожизненная, плюс год можно качать бесплатно обновления. Продление возможности скачивать и дальше обновления будет стоить $40. В общем, все примерно как в старые добрые времена у vBulletin 3.

Q: Как насчет скидок?

A: В первый день продажи лицензия стоила всего лишь $100. Новых акций со скидками пока не планируется.

Q: Есть ли оптовые скидки при покупке больше одной лицензии?

A: Да. С 15.03.2011 доступны следующие скидки:

- 1-2 лицензии: $140 за лицензию;
- 3-5 лицензий: $130 за лицензию;
- 6-10 лицензий: $120 за лицензию;
- больше 11 лицензий: $110 за лицензию.

Количество лицензий учитывается путем сложения покупаемых и тех, что уже есть (при этом имеющиеся лицензии должны быть активны).

Q: Какие методы оплаты доступны?

A: Купить можно через PayPal. Вероятно не исключены и другие методы оплаты, но для этого лучше связаться с разработчиками напрямую. (Русскоязычные пользователи, готовые приобрести лицензию за WebMoney, могут пройти в эту тему.)

Установка

Q: Каковы минимальные системные требования для XenForo?

A: Требования следующие:

- PHP 5.2.11+
- MySQL 5.0+
- PHP расширения: MySQLi, GD (с поддержкой JPEG), PCRE, SPL, SimpleXML, DOM, JSON, iconv, ctype
- PHP safe_mode off

Настоятельно рекомендуется использовать PHP optcode хеш, например, APC или Zend Optimiser. XenForo воспользуется преимуществом этих систем и значительно улучшит производительность.

Чтобы проверить, соответствует ли ваш хостинг минимальным требованиям, скачайте этот скрипт и запустите его у себя на сайте.

Q: Как установить XenForo?

A: Установка XenForo довольно проста:

Также рекомендуем ознакомиться с этим видео-уроком.

Q: Можно ли изменить префикс у таблиц в базе данных?

A: Нет. Префикс будет всегда xf_. Если нужно установить еще одну копию XenForo, создайте для нее новую базу данных.

Как установить плагин?

A: Для установки плагинов (они же аддоны, дополнения, хаки) как правило необходимо:

- залить все файлы плагина в папку с форумом, соблюдая структуру всех подпапок.
- импортировать XML-файл плагина: Панель администратора » Вкладка Главная » Установить дополнение. Выбрать XML-файл и нажать кнопку Установить дополнение.
- некоторые плагины могут требовать изменений в шаблонах.
- также может потребоваться настройка прав для групп пользователей (например, если прав по умолчанию нет, то можно просто не увидеть какую-либо функцию плагина).
- и совсем редко некоторые плагины требуют непосредственного изменения в файлах XenForo. Но таких плагинов следует избегать, т.к. это лишние проблемы при последующем обновлении XenForo.

Важно! Всегда заливайте файлы, а потом уже производите импорт XML-файла! Иначе можете получить ошибку Пожалуйста, введите корректное имя метода обработчика.

Важно! Если структура папок отсутствует и непонятно, куда заливать, то пробуйте копировать все в папку library.

Как установить стиль?

A: Для установки стилей (они же скины, темы оформления, "шкурки") как правило необходимо:

- залить файлы с графикой (в папку styles или же в подпапки).
- импортировать XML-файл стиля: Панель администратора » Вкладка Внешний вид » Импорт стиля. Выбрать XML-файл и нажиать кнопку Импорт.

Обновление

Q: Как обновить XenForo?

A: Обновить XenForo так же просто, как и установить:

Также рекомендуем ознакомиться с этим видео-уроком.

На время обновления форум будет автоматически закрыт и откроется также самостоятельно после успешного завершения процесса.

Переезд на другой сервер

Q: Как перенести установленный XenForo на другой сервер?

A: Перенести XenForo очень просто. Для этого нужно:

- сделать копию базы данных и всех файлов со старого сервера;
- восстановить базу данных на новом сервере;
- залить все файлы на новый сервер;
- установить права для записи (chmod 0777) на папки data и internal_data и на все их содержимое;
- изменить данные для новой базы данных в файле library/config.php;
- если сменился не только сервер, но и адрес форума, то необходимо войти в панель администратора и сменить URL в основных настройках форума.

Вопросы по внешнему виду и стилю форума

Q: Как заменить стандартные иконки у разделов на свои?

Q: Почему появляется диалог подтверждения при нажатии на ссылке "Пометить все разделы как прочитанные"?

A: Одним кликом случайно можно наделать того, чего потом уже нельзя будет вернуть. Поэтому пользователю дается шанс убедиться, что он действительно хочет этого.

Q: Можно ли отключить все эффекты анимации в XenForo?

A: Можно. Это есть в настройках стиля.

Q: Можно ли отключить все те окна, которые открываются слоем поверх форума, так, чтобы они открывались просто следующей страницей?

A: Можно. Это есть в настройках стиля.

Q: Можно ли переключить описание разделов на классический вариант, чтобы они не отображались в виде всплывающей подсказки, а располагались ниже названия раздела?

Общие вопросы

Q: Имеются ли для XenForo конвертеры с других форумов (vBulletin, IPB, phpBB и других)?

A: В XenForo 1.5+ встроены следующие конвертеры:
- IP.Board 3.1;
- IP.Board 3.2/3.3;
- IP.Board 3.4;
- IP.Board 4.0/4.1/4.2 (Beta);
- MyBB 1.6/1.8;
- phpBB 3.0.x;
- phpBB 3.1.x;
- phpBB 3.2.x (Beta);
- SMF 2.0;
- vBulletin 3.6;
- vBulletin 3.7/3.8;
- vBulletin 4.x;
- XenForo 1.2+.

Q: Планируется ли выпуск CMS, дневников и т.д. в дополнение к форуму?

A: На данный момент есть 3 официальных (платных) плагина - галерея, менеджер ресурсов и расширенный поиск (требует Elasticsearch 2.0).

Q: Как удалить личную переписку?

A: Кнопки удаления личной переписки нет. Если вы покинете личную переписку, то она исчезнет у вас из входящих. Если переписку покинут все ее участники, то она удаляется автоматически из базы данных.

Q: Почему внизу форума нет номера версии?

A: В XenForo версия форума будет отображаться только в панели администратора. Простому пользователю номер версии все равно ничего не скажет, а вот потенциальному взломщику будет трудней сопоставить версию и ее возможные уязвимости.

Q: Описание разделов теперь во всплывающих подсказках. Как это отразится на SEO?

A: Если отключить JavaScript и обновить список разделов главной страницы форума, то можно увидеть, что описание раздела находится там, где оно обычно располагается - сразу после названия раздела. JavaScript же срабатывает после завершения DOM модели, перемещая описания во всплывающую подсказку. Таким образом поисковые машины без проблем могут индексировать описания разделов.




(Last Update: 12.01.2021)Универсальный автоустановщик! Он способен обучить вас настройке и установке ПО на системы Linux! Происходит все это автоматически, но вы можете открыть код и понять как оно работает! Так что пользуйся на здоровье!

  • Легко - Авто установка сайта, сервера, хостинга и др.
  • Практично - Вы научитесь настраивать VDS/VPS сервера
  • Быстро - Быстрота работы скрипта на высшем уровне.


Обновление 12.01.2021

• Востановилась работа UnionLogs на Debian 9 (теперь на авторизации нет пустоты)

Обновление 05.12.2020

• Теперь Multy-Tools доступен только на Debian 9 (Возможно верну и 8)
• Поменяли пользователя с root на admin в MySQL
• Добавил HostinPanel (5.5PRO - 5.6)
• Теперь можно изменить web server(Apache2/Nginx)
• Смена PHP (v5.6 и v7.0)
• Установка проекта Virginia работает исправно
• Теперь Multy-Tools с открытым исходным кодом
• Поместил все в 1 фаил(нет теперь других .sh или .x)
• Теперь при первом запуске идёт настройка под установщик
• Теперь список серверов и сайтов будут доступны после установки web server'a
• Теперь если сайт не работает я его отключаю для установки(так же и хостинг панель)

Обновление 26.11.2020

• Изменил ссылки на более надежные(теперь скачка быстрее)
• Добавил 2 новых сайта(смотрите сами)
• Добавил HostinPanel(debian 8) (5.5PRO - 5.6)
• Присвоил название установщику (MULTY-TOOLS)

Внимание! Для просмотра скрытого содержимого необходимо зарегистрироваться!

Внимание! Для просмотра скрытого содержимого необходимо зарегистрироваться!

Внимание! Для просмотра скрытого содержимого необходимо зарегистрироваться!

Читайте также: