Как установить форум Vanilla на Fedora 29

Вступление

Vanilla - это простой дискуссионный форум, написанный на PHP. Исходный код Vanilla публично размещен на Github . Это руководство проведет вас через процесс установки Vanilla на новый экземпляр сервера Fedora 29 Vultr с использованием PHP, MariaDB в качестве базы данных и Nginx в качестве веб-сервера.

Требования

Vanilla Forum рекомендует программный стек:

  • PHP версии 7.2 или выше, со следующими расширениями:
    • mbstring
    • curl
    • gd
    • PDO
    • mysqli
    • openssl,
  • MySQL версии 5.7 или выше; альтернативно эквивалентный Percona или MariaDB. Это руководство будет использовать MariaDB.
  • Программное обеспечение веб-сервера, такое как Nginx или Apache. Это руководство будет использовать Nginx.
  • SSL-шифрование.

Прежде чем вы начнете

Проверьте версию Fedora.

cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)

Создайте новую non-rootучетную запись пользователя с sudoдоступом и переключитесь на нее.

useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

ПРИМЕЧАНИЕ . Замените johndoeна свое имя пользователя.

Установите часовой пояс.

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Убедитесь, что ваша система обновлена.

sudo dnf check-update; sudo dnf update -y

Установите некоторые базовые пакеты системного администрирования, если они не установлены.

sudo dnf install -y vim curl wget git unzip bash-completion

Для простоты отключите SELinux и Firewall.

sudo setenforce 0;sudo systemctl stop firewalld;sudo systemctl disable firewalld

Установить PHP

Установите PHP 7.2 и расширения PHP.

sudo dnf install -y php-cli php-fpm php-common php-mbstring php-curl php-gd php-pdo php-mysqlnd php-json

Проверьте версию.

php --version
# PHP 7.2.14 (cli) (built: Jan  8 2019 09:59:17) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Проверьте установленные расширения PHP.

php -m
# mbstring
# curl
# gd
# PDO
# mysqli
# openssl
# . . .

Запустите и включите PHP-FPM.

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Установить MariaDB

Установите MariaDB.

sudo dnf install -y mariadb-server

Проверьте версию.

mysql --version
# mysql  Ver 15.1 Distrib 10.3.11-MariaDB, for Linux (x86_64) using readline 5.1

Запустите и включите MariaDB.

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Запустите mysql_secure_installationскрипт, чтобы повысить безопасность вашей установки MariaDB.

sudo mysql_secure_installation

Войдите в MariaDB как пользователь root.

mysql -u root -p
# Enter password:

Создайте новую базу данных и пользователя. Запомните учетные данные для этого нового пользователя.

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit;

Установить Nginx

Установите Nginx.

sudo dnf install -y nginx

Проверьте версию.

nginx -v
# nginx version: nginx/1.14.1

Запустите и включите Nginx.

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Настройте Nginx для форума Vanilla.

sudo vim /etc/nginx/conf.d/vanilla.conf

Заполните файл следующей конфигурацией.

server {

  listen 80;
  server_name forum.example.com;
  root /var/www/vanilla;
  index index.php;

  location ~* /\.git { deny all; return 403; }
  location /build/ { deny all; return 403; }
  location /cache/ { deny all; return 403; }
  location /cgi-bin/ { deny all; return 403; }
  location /uploads/import/ { deny all; return 403; }
  location /conf/ { deny all; return 403; }
  location /tests/ { deny all; return 403; }
  location /vendor/ { deny all; return 403; }

  location ~* ^/index\.php(/|$) {
    include default.d/php.conf;
    fastcgi_param SCRIPT_NAME /index.php;
    fastcgi_param SCRIPT_FILENAME $realpath_root/index.php;
    fastcgi_param X_REWRITE 1;
    fastcgi_pass 127.0.0.1:9000;
  }

  location ~* \.php(/|$) {
    rewrite ^ /index.php$uri last;
  }

  location / {
    try_files $uri $uri/ @vanilla;
  }

  location @vanilla {
    rewrite ^ /index.php$uri last;
  }

}

Протестируйте конфигурацию.

sudo nginx -t

Перезагрузить Nginx.

sudo systemctl reload nginx.service

Установить форум Vanilla

Создайте корневой каталог документа.

sudo mkdir -p /var/www/vanilla

Изменить владельца /var/www/vanillaкаталога на johndoe.

sudo chown -R johndoe:johndoe /var/www/vanilla

Перейдите в корневой каталог документа.

cd /var/www/vanilla

Загрузите последний форум Vanilla .

wget https://open.vanillaforums.com/get/vanilla-core-2.6.4.zip

Распакуйте его и удалите zip-архив.

unzip vanilla-core-2.6.4.zip
rm vanilla-core-2.6.4.zip

Предоставьте соответствующее право собственности.

sudo chown -R nginx:nginx /var/www/vanilla

Запустите sudo vim /etc/php-fpm.d/www.confи установите пользователя и группу на nginx. Первоначально будет установлено значение apache.

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

Перезапустите PHP-FPM.

sudo systemctl restart php-fpm.service

Перейдите в папку, в которую вы загрузили Vanilla, в свой веб-браузер и следуйте инструкциям на экране, чтобы завершить настройку.

Оставить комментарий

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

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

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

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

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

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

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше