Как установить TextPattern CMS 4.6.2 на VBS FreeBSD 11 FAMP
Используете другую систему? TextPattern CMS 4.6.2 - это простая, гибкая, бесплатная система управления контентом (CMS) с открытым исходным кодом, которая позволяет веб-дизайнерам
NodeBB - это программное обеспечение для форумов на базе Node.js. Он использует веб-сокеты для мгновенного взаимодействия и уведомления в режиме реального времени. Исходный код NodeBB публично размещен на Github . Это руководство проведет вас через процесс установки NodeBB на свежий экземпляр FreeBSD 12 Vultr, используя Node.js, MongoDB в качестве базы данных, Nginx в качестве обратного прокси-сервера и Acme.sh для SSL-сертификатов.
NodeBB требует установки следующего программного обеспечения:
A
/ AAAA
записи настроеныПроверьте версию FreeBSD.
uname -ro
# FreeBSD 12.0-RELEASE
Убедитесь, что ваша система FreeBSD обновлена.
freebsd-update fetch install
pkg update && pkg upgrade -y
Установите необходимые пакеты, если их нет в вашей системе.
pkg install -y sudo vim unzip wget git bash socat gcc8 pkgconf vips
Создайте новую учетную запись пользователя с вашим предпочтительным именем пользователя (мы будем использовать johndoe
).
adduser
# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!
Запустите visudo
команду и раскомментируйте %wheel ALL=(ALL) ALL
строку, чтобы члены wheel
группы могли выполнить любую команду.
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
Теперь переключитесь на нового пользователя с помощью su
.
su - johndoe
ПРИМЕЧАНИЕ. Замените johndoe
на свое имя пользователя.
Установите часовой пояс.
sudo tzsetup
NodeBB управляется Node.js, поэтому его необходимо установить. Рекомендуется установить текущую LTS-версию Node.js.
Установите Node.js и npm.
sudo pkg install -y node10 npm-node10
Проверьте версии.
node -v && npm -v
# v10.15.3
# 6.9.0
MongoDB является базой данных по умолчанию для NodeBB.
Установите MongoDB.
sudo pkg install -y mongodb40
Проверьте версию.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v4.0.6
# db version v4.0.6
Включите и запустите MongoDB.
sudo sysrc mongod_enable=yes
sudo service mongod start
Создайте базу данных и пользователя для NodeBB.
Сначала подключитесь к MongoDB.
mongo
Переключиться на встроенную admin
базу данных.
> use admin
Создать административного пользователя.
> db.createUser( { user: "admin", pwd: "<Enter a secure password>", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )
ПРИМЕЧАНИЕ. Замените местозаполнитель <Enter a secure password>
собственным выбранным паролем.
Добавьте новую базу данных с именем nodebb
.
> use nodebb
База данных будет создана и контекст переключен на nodebb
. Затем создайте nodebb
пользователя с соответствующими привилегиями.
> db.createUser( { user: "nodebb", pwd: "<Enter a secure password>", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
ПРИМЕЧАНИЕ. Снова замените заполнитель <Enter a secure password>
на выбранный вами пароль.
Выход из оболочки Монго.
> quit()
Перезапустите MongoDB и убедитесь, что созданный ранее администратор может подключиться.
sudo service mongod restart
mongo -u admin -p your_password --authenticationDatabase=admin
Установите Nginx.
sudo pkg install -y nginx
Проверьте версию.
nginx -v
# nginx version: nginx/1.14.2
Включите и запустите Nginx.
sudo sysrc nginx_enable=yes
sudo service nginx start
NodeBB по умолчанию работает на порту 4567
. Чтобы не печатать http://example.com:4567
, мы настроим Nginx как обратный прокси-сервер для приложения NodeBB. Каждый запрос на порт 80
или 443
, если используется SSL, будет перенаправлен на порт 4567
.
Запустите sudo vim /usr/local/etc/nginx/nodebb.conf
и заполните его базовой конфигурацией обратного прокси ниже.
server {
listen [::]:80;
listen 80;
server_name forum.example.com;
root /usr/share/nginx/html;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_hide_header X-Powered-By;
proxy_set_header X-Nginx-Proxy true;
proxy_pass http://127.0.0.1:4567;
proxy_redirect off;
# Socket.IO Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
В приведенном выше конфиге обновите server_name
директиву, указав свой домен / имя хоста.
Сохраните файл и выйдите с помощью :+ W+ Q.
Теперь нам нужно включить nodebb.conf
в основной nginx.conf
файл.
Запустите sudo vim /usr/local/etc/nginx/nginx.conf
и добавьте следующую строку в http {}
блок.
include nodebb.conf;
Проверьте конфигурацию.
sudo nginx -t
Перезагрузить Nginx.
sudo service nginx reload
Защита вашего форума с помощью HTTPS не обязательна, но это защитит трафик вашего сайта. Acme.sh - это чистая оболочка Unix для получения SSL-сертификатов от Let's Encrypt с нулевыми зависимостями.
Загрузите и установите Acme.sh.
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
Проверьте версию.
/etc/letsencrypt/acme.sh --version
# v2.8.1
Получить сертификаты RSA и ECDSA для forum.example.com
.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d forum.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo service nginx reload" --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d forum.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo service nginx reload" --keylength ec-256
После выполнения вышеуказанных команд ваши сертификаты и ключи будут в:
/etc/letsencrypt/forum.example.com
./etc/letsencrypt/forum.example.com_ecc
.После получения сертификатов от Let's Encrypt нам необходимо настроить Nginx для их использования.
Запустите sudo vim /usr/local/etc/nginx/nodebb.conf
снова и настройте Nginx в качестве обратного прокси-сервера HTTPS.
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name forum.example.com;
root /usr/share/nginx/html;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
# RSA
ssl_certificate /etc/letsencrypt/forum.example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/forum.example.com/forum.example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/forum.example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/forum.example.com_ecc/forum.example.com.key;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:4567;
proxy_redirect off;
# Socket.IO Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Проверьте конфигурацию.
sudo nginx -t
Перезагрузить Nginx.
sudo service nginx reload
Создайте корневой каталог документа.
sudo mkdir -p /usr/local/www/nodebb
Изменить владельца /usr/local/www/nodebb
каталога на johndoe
.
sudo chown -R johndoe:johndoe /usr/local/www/nodebb
Перейдите в корневую папку документа.
cd /usr/local/www/nodebb
Клонируйте последний NodeBB в корневую папку документа.
git clone -b v1.11.x https://github.com/NodeBB/NodeBB.git .
Запустите команду установки NodeBB и ответьте на каждый вопрос, когда будет предложено.
./nodebb setup
После завершения настройки NodeBB запустите, ./nodebb start
чтобы вручную запустить сервер NodeBB.
./nodebb start
После этой команды вы сможете получить доступ к своему форуму NodeBB в веб-браузере.
При запуске через ./nodebb start
NodeBB не будет автоматически запускаться снова при перезагрузке системы. Чтобы избежать этого, нам нужно настроить NodeBB в качестве системного сервиса.
Если работает, остановите NodeBB.
./nodebb stop
Установите PM2 глобально.
sudo npm install pm2 -g
Проверьте версию.
pm2 -v
# 3.5.0
Перейдите к корню документа NodeBB.
cd /usr/local/www/nodebb
Запустите NodeBB через PM2.
pm2 start app.js
Перечислите процесс NodeBB.
pm2 ls
Определите доступную систему инициализации.
pm2 startup
Скопируйте и вставьте выходные данные этой команды в CLI, чтобы настроить ваш загрузочный хук.
Сохраните ваш список процессов.
pm2 save
Вот и все. Ваш экземпляр NodeBB теперь запущен и работает.
Используете другую систему? TextPattern CMS 4.6.2 - это простая, гибкая, бесплатная система управления контентом (CMS) с открытым исходным кодом, которая позволяет веб-дизайнерам
Используете другую систему? Monica - это система управления личными отношениями с открытым исходным кодом. Думайте об этом как о CRM (популярный инструмент, используемый командами
Используете другую систему? Reader Self 3.5 - это простая и гибкая, бесплатная программа для чтения RSS с открытым исходным кодом и альтернатива Google Reader. Читатель Sel
Используете другую систему? X-Cart - чрезвычайно гибкая платформа электронной коммерции с открытым исходным кодом, обладающая множеством функций и интеграций. Исходный код X-Cart доступен
Введение WordPress является доминирующей системой управления контентом в Интернете. Он поддерживает все, от блогов до сложных сайтов с динамическим контентом
Используете другую систему? MODX Revolution - это быстрая, гибкая, масштабируемая система управления контентом (CMS) корпоративного уровня с открытым исходным кодом, написанная на PHP. Это я
Введение Это руководство демонстрирует OpenBSD как решение для электронной коммерции, использующее PrestaShop и Apache. Требуется Apache, потому что PrestaShop имеет сложный UR
Используете другую систему? WonderCMS - это быстрая и небольшая плоская файловая CMS с открытым исходным кодом, написанная на PHP. Исходный код WonderCMS размещен на Github. Это руководство будет
Используете другую систему? TLS 1.3 - это версия протокола безопасности транспортного уровня (TLS), который был опубликован в 2018 году в качестве предлагаемого стандарта в RFC 8446.
Стек FEMP, который сопоставим со стеком LEMP в Linux, представляет собой набор программного обеспечения с открытым исходным кодом, который обычно устанавливается вместе для включения FreeBS.
Используете другую систему? Dolibarr - это общедоступное планирование ресурсов предприятия (ERP) и управление взаимоотношениями с клиентами (CRM) для предприятий. Dolibarr
Используете другую систему? Paste 2.1 - это простое и гибкое бесплатное приложение с открытым исходным кодом для хранения кода, текста и многого другого. Это было изначально
Используете другую систему? BigTree CMS 4.2 - это быстрая и легкая бесплатная система управления контентом (CMS) корпоративного уровня с открытым исходным кодом и широким
В готовом виде серверы Vultr FreeBSD не настроены на использование пространства подкачки. Если вы хотите использовать одноразовый облачный экземпляр, вы, вероятно, не
Используете другую систему? BlogoText CMS - это простая и легкая бесплатная система управления контентом (CMS) с открытым исходным кодом и минималистским блог-движком.
В этой статье я покажу вам, как установить MariaDB на OpenBSD 6 и настроить его так, чтобы он был доступен для веб-сервера с поддержкой chroot (Apache или Nginx). Вы будете также
Используете другую систему? Subrion 4.1 CMS - это мощная и гибкая система управления контентом с открытым исходным кодом (CMS), которая обеспечивает интуитивно понятный и понятный контент.
Используете другую систему? TaskWarrior - это инструмент управления временем с открытым исходным кодом, который является улучшением приложения Todo.txt и его клонов. Из-за
Используете другую систему? DokuWiki - это вики-программа с открытым исходным кодом, написанная на PHP, для которой не требуется база данных. Хранит данные в текстовых файлах. DokuWik
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше