Инсталирайте Plesk на CentOS 7
Използване на различна система? Plesk е собствен контролен панел за уеб хост, който позволява на потребителите да администрират своите лични и/или клиентски уебсайтове, бази данни
Leanote е безплатна, лека и отворена алтернатива на Evernote, която е написана на Golang. Имайки предвид потребителското изживяване, Leanote предоставя на потребителите много практически функции, включително междуплатформена поддръжка, писане в синтаксиса на MarkDown, публичен или частен блог, събиране и споделяне на знания и екипно сътрудничество.
В тази статия ще ви преведа през настройката на сървър на Leanote на сървърен екземпляр на CentOS 7. От съображения за сигурност, разрешаването на HTTPS support
използването на Let's Encrypt SSL сертификат и Nginx също ще бъдат обхванати.
203.0.113.1
.leanote
.leanote.example.com
, насочен към споменатия по-горе екземпляр на сървъра.Когато стартирате нов екземпляр на сървъра Vultr CentOS 7, винаги се препоръчва да настроите суап файл, за да сте сигурни, че системата работи гладко. Например създаването на суап файл с размер 2048 MB е подходящо за машина с 2 GB памет.
sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -m
Забележка: Ако използвате различен размер на сървъра, може да се наложи да промените размера на суап файла.
Изтеглете и извлечете най-новата стабилна версия на Leanote за 64-битова Linux система:
cd
wget https://sourceforge.net/projects/leanote-bin/files/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz
tar -zxvf leanote-linux-amd64-v2.6.1.bin.tar.gz
Както се изисква от Leanote, MongoDB NoSQL DBMS трябва да е на място, преди да можете успешно да настроите сървър на Leanote.
Създайте MongoDB 4.0 YUM репо, както следва:
cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
Инсталирайте всички компоненти и инструменти на MongoDB с помощта на MongoDB 4.0 YUM репо, създадено по-рано:
sudo yum install -y mongodb-org
По подразбиране MongoDB ще използва 27017
порта, когато работи, което не е разрешено, ако SELinux е в enforcing
режим на машината CentOS 7. Използвайте следната команда, за да потвърдите текущия режим SELinux:
sudo getenforce
На сървърен екземпляр Vultr CentOS 7 SELinux е деактивиран по подразбиране. Така че резултатът от горната команда ще бъде:
Disabled
В този случай можете да се чувствате свободни да пропуснете следните инструкции за конфигуриране на SELinux и да продължите напред.
Въпреки това, ако използвате оригинален сървър на CentOS 7, изходът на горната команда ще бъде Enforcing
. Трябва да изпълните някоя от трите опции по-долу, преди да можете да стартирате и активирате услугата MongoDB.
Вариант 1: Разрешете на MongoDB да използва 27017
порта
sudo semanage port -a -t mongod_port_t -p tcp 27017
Вариант 2: Деактивирайте SELinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
sudo shutdown -r now
Опция 3: Променете SELinux в permissive
режим
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
sudo shutdown -r now
Стартирайте услугата MongoDB и я накарайте да започне след рестартиране на системата:
sudo systemctl start mongod.service
sudo systemctl enable mongod.service
Използвайте командите по-долу, за да импортирате първоначалните данни на Leanote в MongoDB:
rm /home/leanote/leanote/mongodb_backup/leanote_install_data/.DS_Store
mongorestore --host localhost -d leanote --dir /home/leanote/leanote/mongodb_backup/leanote_install_data/
От съображения за сигурност трябва да активирате контрола на достъпа до MongoDB веднага след като услугата MongoDB стартира и работи. За тази цел трябва да създадете поне два потребителски акаунта в MongoDB: акаунт на администратор на потребител и акаунт на администратор на база данни. Вие също ще трябва да промените конфигурацията на MongoDB.
Въведете обвивката на MongoDB:
mongo --host 127.0.0.1:27017
Превключете към admin
базата данни:
use admin
Създайте потребителски администратор на име, useradmin
който използва парола useradminpassword
:
db.createUser({ user: "useradmin", pwd: "useradminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
Забележка: Потребителският администратор useradmin
трябва да управлява всички потребители на MongoDB, така че е разумно да изберете силна парола. Разбира се, по-сигурен съвет е да замените useradmin
с трудно за отгатване потребителско име.
Превключете към leanote
базата данни:
use leanote
Създайте администратор на база данни с име, leanoteadmin
който използва парола leanoteadminpassword
:
db.createUser({ user: "leanoteadmin", pwd: "leanoteadminpassword", roles: [{ role: "dbOwner", db: "leanote" }] })
Забележка : Отново се препоръчва да изберете по-малко известно потребителско име и трудна за отгатване парола.
След като потребителите на MongoDB са създадени, можете да потвърдите резултатите:
use admin
db.auth("useradmin", "useradminpassword")
Потвърдете администратора на базата данни:
use leanote
db.auth("leanoteadmin", "leanoteadminpassword")
И двете ще изведат 1
като потвърждение.
Излезте от обвивката на MongoDB:
exit
За да активирате контрола на достъпа до MongoDB, трябва също да добавите два реда към конфигурационния файл на MongoDB /etc/mongod.conf
, както следва:
sudo bash -c "echo 'security:' >> /etc/mongod.conf"
sudo bash -c "echo ' authorization: enabled' >> /etc/mongod.conf"
Рестартирайте услугата MongoDB, за да влязат в сила промените:
sudo systemctl restart mongod.service
Отсега нататък можете да използвате само двата потребителски акаунта за достъп и управление на MongoDB, useradmin
за управление на всички потребители на MongoDB и само leanoteadmin
за управление на leanote
базата данни.
Архивирайте конфигурационния файл на Leanote /home/leanote/leanote/conf/app.conf
:
cd /home/leanote/leanote/conf/
cp app.conf app.conf.bak
Използвайте vi
редактора, за да отворите конфигурационния файл на Leanote:
vi app.conf
Find the following lines one by one:
site.url=http://localhost:9000
db.username= # if not exists, please leave it blank
db.password= # if not exists, please leave it blank
app.secret=V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0y
Replace them, respectively, as shown below:
site.url=http://leanote.example.com:9000
db.username=leanoteadmin
db.password=leanoteadminpassword
app.secret=E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
Note: For security purposes, the value of the app.secret
parameter MUST be a 64-bit random string that is different from the original one. Make sure to replace the value E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
with your own 64-bit random value.
Save and quit:
:wq!
Modify firewall rules in order to allow inbound TCP traffic on port 9000
:
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo systemctl reload firewalld.service
Start Leanote using the official script:
cd /home/leanote/leanote/bin
bash run.sh
Upon seeing Listening on.. 0.0.0.0:9000
, point your favorite web browser to http://leanote.example.com:9000
to start using the Leanote site.
Use the default Leanote admin account to sign in:
admin
abc123
For security purposes, you should change the default password immediately after signing in.
HTTPS
accessFor now, you can already access the Leanote server using the HTTP protocol, a less secure protocol. In order to improve system security, you can enable HTTPS
by deploying both a Let's Encrypt SSL certificate and the Nginx reverse proxy on your machine.
Before you can obtain the Let's Encrypt SSL certificate, you need to properly setup the hostname and FQDN on your machine.
First, press CTRL+C to stop the Leanote script run.sh
.
Next, setup the hostname and FQDN as follows:
sudo hostnamectl set-hostname leanote
cat <<EOF | sudo tee /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 leanote.example.com leanote
EOF
You can confirm the results, as well:
hostname
hostname -f
Block inbound traffic on port 9000
and allow inbound traffic on ports for HTTP
and HTTPS
services:
sudo firewall-cmd --permanent --remove-port=9000/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service
Install the Certbot utility:
sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot
Кандидатствайте за Let's Encrypt SSL сертификат за домейна leanote.example.com
:
sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d leanote.example.com
Сертификатът и веригата ще бъдат запазени, както следва:
/etc/letsencrypt/live/leanote.example.com/fullchain.pem
Файлът с частен ключ ще бъде запазен, както следва:
/etc/letsencrypt/live/leanote.example.com/privkey.pem
По подразбиране, Let's Encrypt SSL сертификатът изтича след три месеца. Можете да настроите задание за cron, както е показано по-долу, за автоматично подновяване на вашите сертификати Let's Encrypt:
sudo crontab -e
Натиснете, за Iда влезете в insert
режима, след което въведете следния ред:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
Запазете и излезте:
:wq!
Тази работа на cron ще се опита да поднови сертификата Let's Encrypt всеки ден по обяд.
Инсталирайте Nginx с помощта на EPEL YUM репо:
sudo yum install -y nginx
Създайте конфигурационен файл за Leanote:
cat <<EOF | sudo tee /etc/nginx/conf.d/leanote.conf
# Redirect HTTP to HTTPS
server {
listen 80;
server_name leanote.example.com;
return 301 https://\$server_name\$request_uri;
}
server {
# Setup HTTPS certificates
listen 443 default ssl;
server_name leanote.example.com;
ssl_certificate /etc/letsencrypt/live/leanote.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/leanote.example.com/privkey.pem;
# Proxy to the Leanote server
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 https;
proxy_set_header X-Forwarded-Host \$http_host;
proxy_set_header Host \$http_host;
proxy_max_temp_file_size 0;
proxy_pass http://127.0.0.1:9000;
proxy_redirect http:// https://;
}
}
EOF
Рестартирайте Nginx, за да приложите промените си:
sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
Променете site.url
настройката в конфигурационния файл на Leanote:
cd /home/leanote/leanote/conf/
vi app.conf
Намерете следния ред:
site.url=http://leanote.example.com:9000
Замени го:
site.url=https://leanote.example.com
Запазете и излезте:
:wq!
Стартирайте скрипта Leanote отново:
cd /home/leanote/leanote/bin
bash run.sh
Сега насочете любимия си уеб браузър към http://leanote.example.com/
и ще откриете, че HTTPS
протоколът се активира автоматично. Просто влезте като admin
потребител с новата парола, която сте задали по-рано, или регистрирайте нови потребителски акаунти за сътрудничество в екип.
Отново натиснете CTRL+, за Cда спрете скрипта на Leanote. Ще демонизираме този скрипт по-късно.
wkhtmltopdf
програматаLeanote избира да използва wkhtmltopdf
програмата за експортиране на HTML страници като PDF файлове. Инсталирайте wkhtmltopdf
:
cd
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
sudo yum localinstall -y wkhtmltox-0.12.5-1.centos7.x86_64.rpm
which wkhtmltopdf
Не забравяйте да изпратите wkhtmltopdf
двоичния път /usr/local/bin/wkhtmltopdf
в Export PDF
секцията в таблото за управление на уеб администратора на Leanote, когато Leanote започне да работи отново.
Забележка: Ако откриете нечетими знаци в експортираните PDF файлове, можете да опитате да отстраните проблема, като добавите необходимите файлове с шрифтове към /usr/share/fonts/
директорията.
За да поддържате вашия сайт Leanote онлайн, можете да използвате помощната програма Supervisor, за да стартирате автоматично скрипта на Leanote, ако той се срине.
Инсталирайте Supervisor с помощта на YUM:
sudo yum install -y supervisor
Създайте прост Supervisor .ini
файл за Leanote:
cat <<EOF | sudo tee /etc/supervisord.d/leanote.ini
[program:leanote]
command=bash /home/leanote/leanote/bin/run.sh
directory=/home/leanote/leanote/bin/
priority=999
autostart=true
autorestart=true
user=leanote
redirect_stderr=true
EOF
Стартирайте услугата Supervisor, както и услугата Leanote:
sudo supervisord -c /etc/supervisord.conf
Потвърдете състоянието на услугата Leanote:
sudo supervisorctl status leanote
Резултатът ще прилича на следното:
leanote RUNNING pid 3707, uptime 0:02:36
Използване на различна система? Plesk е собствен контролен панел за уеб хост, който позволява на потребителите да администрират своите лични и/или клиентски уебсайтове, бази данни
Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне
Въведение Lighttpd е форк на Apache, чиято цел е да бъде много по-малко ресурсоемка. Той е лек, откъдето идва и името му, и е доста лесен за използване. Инсталирайте
VULTR наскоро направи промени от своя страна и вече всичко трябва да работи добре от кутията с активиран NetworkManager. Ако желаете да деактивирате
Icinga2 е мощна система за наблюдение и когато се използва в модел главен-клиент, тя може да замени необходимостта от проверки на базата на NRPE. Главният клиент
Използване на различна система? Apache Cassandra е безплатна система за управление на база данни NoSQL с отворен код, която е проектирана да осигури мащабируемост, висока
Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже
Използване на различна система? Mattermost е самостоятелно хоствана алтернатива с отворен код на Slack SAAS услугата за съобщения. С други думи, с Mattermost, вие ca
Какво ви трябва Vultr VPS с поне 1 GB RAM. SSH достъп (с root/административни привилегии). Стъпка 1: Инсталиране на BungeeCord На първо място
Контролният панел на Plesk разполага с много приятна интеграция за Lets Encrypt. Lets Encrypt е един от единствените доставчици на SSL, които предоставят пълно сертификати
Lets Encrypt е сертифициращ орган, посветен на предоставянето на SSL сертификати безплатно. cPanel изгради чиста интеграция, така че вие и вашият клиент
Използване на различна система? Concrete5 е CMS с отворен код, който предлага много отличителни и полезни функции за подпомагане на редакторите при лесното създаване на съдържание и
Използване на различна система? Review Board е безплатен инструмент с отворен код за преглед на изходен код, документация, изображения и много други. Това е уеб базиран софтуер
В това ръководство ще научите как да настроите HTTP удостоверяване за уеб сървър на Nginx, работещ на CentOS 7. Изисквания За да започнете, ще ви трябва
YOURLS (Your Own URL Shortener) е приложение за съкращаване на URL адреси и анализ на данни с отворен код. В тази статия ще разгледаме процеса на инсталиране
Използване на различна система? Въведение ArangoDB е NoSQL база данни с отворен код с гъвкав модел на данни за документи, графики и ключ-стойности. то е
Въведение Директорията /etc/ играе критична роля в начина, по който функционира една Linux система. Причината за това е, че почти всяка системна конфигурация
Много системни администратори управляват големи количества сървъри. Когато файловете трябва да бъдат достъпни на различни сървъри, влизането във всеки от тях поотделно ок
Този урок ще обхване процеса на инсталиране на сървър за игри Half Life 2 на CentOS 6 System. Стъпка 1: Инсталиране на предпоставките За да настроите ou
Laravel GitScrum или GitScrum е инструмент за производителност с отворен код, предназначен да помогне на екипите за разработка да внедрят методологията на Scrum по подобен начин.
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече