Как установить xenforo на debian 9
В этом руководстве показано как установить и настроить инструмент для мониторинга сетевой инфраструктуры 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)
Внимание! Для просмотра скрытого содержимого необходимо зарегистрироваться!
Внимание! Для просмотра скрытого содержимого необходимо зарегистрироваться!
Внимание! Для просмотра скрытого содержимого необходимо зарегистрироваться!
Читайте также: