Как установить Anchor CMS на CentOS 7 LAMP VPS
Используете другую систему? Anchor CMS - это сверхпростая и чрезвычайно легкая бесплатная система управления контентом (CMS) с открытым исходным кодом.
Wiki.js - это бесплатное современное вики-приложение с открытым исходным кодом, созданное на Node.js, MongoDB, Git и Markdown. Исходный код Wiki.js публично размещен на Github . Это руководство покажет вам, как установить Wiki.js на свежий экземпляр CentOS 7 Vultr, используя Node.js, MongoDB, PM2, Nginx, Git и Acme.sh.
Требования для запуска Wiki.js следующие:
A
/ AAAA
записи настроеныПроверьте версию CentOS.
cat /etc/centos-release
# CentOS Linux release 7.5.1804 (Core)
Создайте новую 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 yum update -y
Установите необходимые пакеты, чтобы закончить этот урок.
sudo yum install -y wget curl vim zip unzip bash-completion
Отключить SELinux и Firewall.
sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld
Включите репозиторий EPEL.
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Репозитории CentOS предоставляют очень устаревшую версию Git, поэтому нам нужно будет собрать Git из исходного кода.
Установите Git, собрав его из исходного кода.
# Remove existing git package if installed:
sudo yum remove -y git
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel curl-devel
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.17.1.tar.gz && tar zxvf git-2.17.1.tar.gz
rm git-2.17.1.tar.gz
cd git-2.17.1
make configure
./configure
make prefix=/usr/local all
sudo make prefix=/usr/local install
cd ~
# Confirm this command returns /usr/local/bin/git:
which git
Проверьте версию.
git --version
# git version 2.17.1
Wiki.js требует Node.js 6.9.0 или более поздней версии, поэтому сначала нам нужно установить Node.js.
Установите Node.js, используя репозиторий NodeSource YUM для Node.js.
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum install -y nodejs
Проверьте версии Node.js и NPM.
node -v && npm -v
# v8.11.2
# 5.6.0
Wiki.js использует MongoDB в качестве движка базы данных. Мы будем использовать официальные репозитории MongoDB , которые содержат самые последние основные и второстепенные выпуски MongoDB.
Установите MongoDB Community Edition.
sudo vim /etc/yum.repos.d/mongodb-org-3.6.repo
# Copy/paste this
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
sudo yum install -y mongodb-org
Проверьте версию.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.5
# db version v3.6.5
Включите и запустите MongoDB.
sudo systemctl enable mongod.service
sudo systemctl start mongod.service
Настоятельно рекомендуется поместить стандартный веб-сервер перед Wiki.js. Это гарантирует, что вы можете использовать такие функции, как SSL, несколько веб-сайтов, кэширование и многое другое.
Установите Nginx.
sudo vim /etc/yum.repos.d/nginx_mainline.repo
# Copy/paste this
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1
wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key
sudo yum install -y nginx
Проверьте версию.
nginx -v
# nginx version: nginx/1.15.0
Включите и запустите Nginx.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Настройка Nginx как HTTP
и HTTPS
обратный прокси - сервер для Wiki.js.
Запустите sudo vim /etc/nginx/conf.d/wiki.js.conf
и заполните его базовой конфигурацией обратного прокси ниже.
server {
listen [::]:80;
listen 80;
server_name wiki.example.com;
root /usr/share/nginx/html;
charset utf-8;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_next_upstream error timeout http_502 http_503 http_504;
}
}
Единственное, что вам нужно изменить в приведенной выше конфигурации - это server_name
директива и, возможно, proxy_pass
директива, если вы решите настроить любой другой порт, кроме 3000
. Wiki.js использует порт 3000
по умолчанию.
Проверьте конфигурацию.
sudo nginx -t
Перезагрузить Nginx.
sudo systemctl reload nginx.service
Защищать вашу вики с помощью HTTPS
не обязательно, но это хорошая практика для защиты трафика вашего сайта. Чтобы получить SSL-сертификат от Let's Encrypt, мы будем использовать клиент Acme.sh. Acme.sh - это чистый сценарий оболочки UNIX для получения SSL-сертификатов от Let's Encrypt с нулевыми зависимостями. Это делает его очень легким по сравнению с некоторыми другими клиентами протокола Acme, которым для успешной работы требуется много зависимостей.
Скачать и установить 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.7.9
Получите сертификаты RSA и ECDSA для вашего домена / имени хоста.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d wiki.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail [email protected] --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d wiki.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail [email protected] --ocsp-must-staple --keylength ec-256
После выполнения вышеуказанных команд ваши сертификаты и ключи будут находиться в следующих каталогах:
/etc/letsencrypt/wiki.example.com
/etc/letsencrypt/wiki.example.com_ecc
ПРИМЕЧАНИЕ : не забудьте заменить wiki.example.com
на ваше доменное имя.
После получения сертификатов от Let's Encrypt нам нужно настроить Nginx для их использования.
Запустите sudo vim /etc/nginx/conf.d/wiki.js.conf
снова и настройте Nginx в качестве HTTPS
обратного прокси.
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name wiki.example.com;
root /usr/share/nginx/html;
charset utf-8;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
# RSA
ssl_certificate /etc/letsencrypt/wiki.example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/wiki.example.com/wiki.example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/wiki.example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/wiki.example.com_ecc/wiki.example.com.key;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_next_upstream error timeout http_502 http_503 http_504;
}
}
Проверьте конфигурацию.
sudo nginx -t
Перезагрузить Nginx.
sudo systemctl reload nginx.service
Создайте пустую корневую папку с документом, где должен быть установлен Wiki.js.
sudo mkdir -p /var/www/wiki.example.com
Перейдите в корневую папку документа.
cd /var/www/wiki.example.com
Измените владельца /var/www/wiki.example.com
папки на пользователя johndoe
.
sudo chown -R johndoe:johndoe /var/www/wiki.example.com
Из /var/www/wiki.example.com
папки выполните следующую команду, чтобы загрузить и установить Wiki.js.
curl -sSo- https://wiki.js.org/install.sh | bash
Вы можете выполнить следующую команду, чтобы просмотреть текущую установленную версию Wiki.js.
node wiki --version
# 1.0.78
После завершения установки вам будет предложено запустить мастер настройки.
Запустите мастер настройки.
node wiki configure
Это уведомит вас, чтобы перейти http://localhost:3000
к настройке Wiki.js. Если у вас есть Nginx перед Wiki.js, вы можете открыть свое доменное имя (например http://wiki.example.com
) вместо того, чтобы заходить localhost
.
С помощью веб-браузера перейдите к http://wiki.example.com
инструкциям на экране и следуйте им. Все настройки, которые были введены во время работы мастера настройки, были сохранены в config.yml
файле. Мастер настройки автоматически запустит Wiki.js для вас.
По умолчанию Wiki.js не запускается автоматически после перезагрузки системы. Чтобы запустить его при загрузке, нам нужно настроить менеджер процессов PM2.
Скажите PM2 настроить себя в качестве службы запуска.
/var/www/wiki.example.com/node_modules/pm2/bin/pm2 startup
Наконец, сохраните текущую конфигурацию PM2, выполнив команду.
/var/www/wiki.example.com/node_modules/pm2/bin/pm2 save
Ваш экземпляр Wiki.js работает как фоновый процесс, используя PM2 в качестве диспетчера процессов. Вы можете перезагрузить свою ОС sudo reboot
и убедиться, что Wiki.js запускается после перезагрузки.
Используете другую систему? Anchor CMS - это сверхпростая и чрезвычайно легкая бесплатная система управления контентом (CMS) с открытым исходным кодом.
При настройке нового сервера Linux рекомендуется обновить ядро системы и другие пакеты до последней стабильной версии. В этой статье
Используете другую систему? Backdrop CMS 1.8.0 - это простая и гибкая, удобная для мобильных устройств, бесплатная система с открытым исходным кодом (CMS), которая позволяет нам
Если вы хотите разместить свой инвентарь в Интернете или просто магазин технических аксессуаров, Magento - отличное решение для электронной коммерции в Интернете. Это статья
Используете другую систему? AirSonic - это бесплатный и потоковый сервер с открытым исходным кодом. В этом уроке я проведу вас через процесс развертывания
OrangeScrum - это бесплатный инструмент управления проектами с открытым исходным кодом, который широко используется в малом и среднем бизнесе. В этой статье я проведу вас через
OrientDB - это мультимодельная СУБД NoSQL с открытым исходным кодом нового поколения. Благодаря поддержке нескольких моделей данных OrientDB может обеспечить большую функциональность и гибкость в
Vtiger CRM - это популярное приложение для управления взаимоотношениями с клиентами, которое может помочь предприятиям увеличить продажи, обеспечить обслуживание клиентов и увеличить прибыль. я
MaraDNS - это легкая, но надежная программа с открытым исходным кодом для DNS-сервера. По сравнению с другими приложениями того же типа, такими как ISC BIND, PowerDNS и djbdns
Используете другую систему? Netdata - восходящая звезда в области мониторинга показателей системы в режиме реального времени. По сравнению с другими инструментами того же рода, Netdata:
Используете другую систему? В этом уроке я расскажу, как настроить сервер Starbound в CentOS 7. Предварительные условия Вы должны иметь эту игру на себе
RabbitMQ - это брокер сообщений с открытым исходным кодом, который поддерживает AMQP, STOMP и другие коммуникационные технологии. Широко используется в корпоративных приложениях
Добро пожаловать в другой учебник Vultr. Здесь вы узнаете, как установить и запустить сервер SAMP. Это руководство было написано для CentOS 6. Предварительные условия
Используете другую систему? Elgg - это движок социальных сетей с открытым исходным кодом, который позволяет создавать социальные среды, такие как социальные сети кампуса и
Bolt - это CMS с открытым исходным кодом, написанная на PHP. Исходный код Bolts размещен на GitHub. Это руководство покажет вам, как установить Bolt CMS на новую CentOS 7 Vult.
Традиционные подходы к анализу данных невозможно использовать, когда наборы данных достигают определенного размера. Современная альтернатива анализу огромных массивов данных, которые я
Elasticsearch - популярный движок полнотекстового поиска и аналитики с открытым исходным кодом. Благодаря своей универсальности, масштабируемости и простоте использования, Elasticsearch широко используется
Обзор Эта статья призвана помочь вам в кратчайшие сроки запустить и запустить кластер Kubernetes с помощью kubeadm. Это руководство будет развертывать два сервера, на
Используете другую систему? Введение Sails.js - это инфраструктура MVC для Node.js, аналогичная Ruby on Rails. Это делает для разработки современных приложений вер
Введение В этом руководстве мы будем устанавливать PufferPanel на нашем Vultr VPS. PufferPanel - это бесплатная панель управления с открытым исходным кодом для управления вами.
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше