Leanote serveri seadistamine CentOS 7-s

Leanote on tasuta, kerge ja avatud lähtekoodiga alternatiiv Evernote'ile, mis on kirjutatud Golangi keeles. Kasutajakogemust silmas pidades pakub Leanote kasutajatele palju praktilisi funktsioone, sealhulgas platvormideülene tugi, MarkDowni süntaksis kirjutamine, avalik või privaatne ajaveebi pidamine, teadmiste kogumine ja jagamine ning meeskonnatöö.

Selles artiklis juhendan teid CentOS 7 serverieksemplaris Leanote serveri seadistamisel. Turvalisuse huvides HTTPS supporton hõlmatud ka Let's Encrypt SSL-sertifikaadi ja Nginxi kasutamise lubamine .

Eeltingimused

  • Äsja juurutatud Vultr CentOS 7 serveri eksemplar. Oletame, et selle IPv4-aadress on 203.0.113.1.
  • Sudo kasutaja nimega leanote.
  • Kõik masina tarkvarapaketid on EPEL YUM repo abil värskendatud uusimale stabiilsele olekule. Vaata üksikasju siit .
  • Domeen, mis leanote.example.comon suunatud ülalmainitud serveri eksemplarile.

1. samm: looge vahetusfail

Uue Vultr CentOS 7 serveri eksemplari käivitamisel on alati soovitatav seadistada vahetusfail, et tagada süsteemi tõrgeteta töötamine. Näiteks 2048 MB suuruse vahetusfaili loomine sobib 2 GB mäluga masinale.

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

Märkus. Kui kasutate teistsugust serveri suurust, peate võib-olla muutma vahetusfaili suurust.

2. samm: hankige Leanote 2.6.1 binaarfailid

Laadige alla ja ekstraktige Leanote uusim stabiilne väljalase 64-bitise Linuxi süsteemi jaoks:

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

3. samm: installige MongoDB Community Edition 4.0

Nagu Leanote nõuab, peab MongoDB NoSQL DBMS olema paigas, enne kui saate Leanote serveri edukalt seadistada.

Seadistage MongoDB 4.0 YUM repo

Looge MongoDB 4.0 YUM repo järgmiselt.

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

Installige MongoDB 4.0 paketid YUM-i abil

Installige kõik MongoDB komponendid ja tööriistad, kasutades varem loodud MongoDB 4.0 YUM repot:

sudo yum install -y mongodb-org

Seadistage SELinux MongoDB 4.0 jaoks

Vaikimisi kasutaks MongoDB 27017töötamise ajal porti, mis pole lubatud, kui SELinux on enforcingCentOS 7 masinas režiimis. Kasutage praeguse SELinuxi režiimi kinnitamiseks järgmist käsku:

sudo getenforce

Vultr CentOS 7 serveri eksemplaris on SELinux vaikimisi keelatud. Seega oleks ülaltoodud käsu väljund järgmine:

Disabled

Sel juhul võite järgmised SELinuxi konfigureerimise juhised vahele jätta ja edasi liikuda.

Kui aga kasutate algset CentOS 7 serveri eksemplari, oleks ülaltoodud käsu väljundiks Enforcing. Enne MongoDB teenuse käivitamist ja lubamist peate tegema ühe kolmest allolevast valikust .

  • Valik 1: lubage MongoDB-l 27017porti kasutada

    sudo semanage port -a -t mongod_port_t -p tcp 27017
    
  • Valik 2: keelake SELinux

    sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    sudo shutdown -r now
    
  • Valik 3: lülitage SELinux permissiverežiimi

    sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
    sudo shutdown -r now
    

Käivitage MongoDB teenus ja käivitage see pärast süsteemi taaskäivitamist:

sudo systemctl start mongod.service
sudo systemctl enable mongod.service

4. samm: importige algsed Leanote andmed MongoDB-sse

Leanote'i esialgsete andmete importimiseks MongoDB-sse kasutage allolevaid käske:

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/

5. samm: lubage MongoDB autentimine

Turvalisuse huvides peate MongoDB-le juurdepääsu kontrolli lubama kohe pärast MongoDB teenuse käivitamist. Selleks peate looma vähemalt kaks MongoDB kasutajakontot: kasutaja administraatori konto ja andmebaasi administraatori konto. Samuti peate muutma MongoDB konfiguratsiooni.

Sisestage MongoDB kest:

mongo --host 127.0.0.1:27017

Lülitu adminandmebaasi:

use admin

Looge kasutaja administraator nimega, useradminkes kasutab parooli useradminpassword:

db.createUser({ user: "useradmin", pwd: "useradminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

Märkus . Kasutaja administraator useradminpeaks haldama kõiki MongoDB kasutajaid, seega on mõistlik valida tugev parool. Muidugi on turvalisem näpunäide asendada useradminraskesti äraarvatava kasutajanimega.

Lülitu leanoteandmebaasi:

use leanote

Looge andmebaasi administraator nimega, leanoteadminmis kasutab parooli leanoteadminpassword:

db.createUser({ user: "leanoteadmin", pwd: "leanoteadminpassword", roles: [{ role: "dbOwner", db: "leanote" }] })

Märkus : Jällegi on soovitatav valida vähemtuntud kasutajanimi ja raskesti äraarvatav parool.

Kui MongoDB kasutajad on loodud, saate tulemusi kinnitada:

use admin
db.auth("useradmin", "useradminpassword")

Kinnitage andmebaasi administraator:

use leanote
db.auth("leanoteadmin", "leanoteadminpassword")

Mõlemad väljastatakse 1kinnitusena.

Väljuge MongoDB kestast:

exit

MongoDB juurdepääsu kontrolli lubamiseks peate MongoDB konfiguratsioonifaili lisama ka kaks rida /etc/mongod.confjärgmiselt.

sudo bash -c "echo 'security:' >> /etc/mongod.conf"
sudo bash -c "echo '  authorization: enabled' >> /etc/mongod.conf"

Muudatuste jõustumiseks taaskäivitage teenus MongoDB:

sudo systemctl restart mongod.service

Nüüdsest saate kasutada ainult kahte kasutajakontot MongoDB-le juurdepääsuks ja useradminselle haldamiseks, kõigi MongoDB kasutajate leanoteadminhaldamiseks ja leanoteainult andmebaasi haldamiseks .

6. samm: konfigureerige Leanote

Varundage Leanote konfiguratsioonifail /home/leanote/leanote/conf/app.conf:

cd /home/leanote/leanote/conf/
cp app.conf app.conf.bak

viLeanote konfiguratsioonifaili avamiseks kasutage redaktorit:

vi app.conf

Leidke ükshaaval järgmised read:

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

Asendage need vastavalt järgmiselt:

site.url=http://leanote.example.com:9000
db.username=leanoteadmin
db.password=leanoteadminpassword
app.secret=E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA

Märkus . Turvalisuse huvides app.secretPEAB parameetri väärtus olema 64-bitine juhuslik string, mis erineb algsest. Asendage väärtus kindlasti E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sAoma 64-bitise juhusliku väärtusega.

Salvestage ja lõpetage:

:wq!

7. samm: käivitage Leanote

Muutke tulemüüri reegleid, et lubada sissetulevat TCP-liiklust pordis 9000:

sudo firewall-cmd --permanent --add-port=9000/tcp
sudo systemctl reload firewalld.service

Käivitage Leanote ametliku skripti abil:

cd /home/leanote/leanote/bin
bash run.sh

Kui näete Listening on.. 0.0.0.0:9000, suunake oma lemmikveebibrauser http://leanote.example.com:9000Leanote saidi kasutamise alustamiseks.

Kasutage sisselogimiseks vaikimisi Leanote administraatorikontot:

  • Kasutajanimi: admin
  • Parool: abc123

Turvalisuse huvides peaksite kohe pärast sisselogimist muutma vaikeparooli.

8. toiming: lubage HTTPSjuurdepääs

For 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.

Properly setup a hostname and fully qualified domain name (FQDN)

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

Modify firewall rules

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

Apply for a Let's Encrypt SSL certificate

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

Taotlege domeenile Let's Encrypt SSL-sertifikaati leanote.example.com:

sudo certbot certonly --standalone --agree-tos --no-eff-email -m admin@example.com -d leanote.example.com

Sertifikaat ja kett salvestatakse järgmiselt:

/etc/letsencrypt/live/leanote.example.com/fullchain.pem

Privaatvõtme fail salvestatakse järgmiselt:

/etc/letsencrypt/live/leanote.example.com/privkey.pem

Vaikimisi aegub Let's Encrypt SSL-sertifikaat kolme kuu pärast. Saate seadistada cron-töö, nagu allpool näidatud, et oma Let's Encrypti sertifikaate automaatselt uuendada.

sudo crontab -e

Režiimi Isisenemiseks vajutage insertja seejärel sisestage järgmine rida:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

Salvestage ja lõpetage:

:wq!

See cron-töö proovib Let's Encrypt sertifikaati uuendada iga päev keskpäeval.

Installige Nginx pöördpuhverserverina

Installige Nginx, kasutades EPEL YUM repot:

sudo yum install -y nginx

Looge Leanote jaoks konfiguratsioonifail:

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

Muudatuste jõustamiseks taaskäivitage Nginx:

sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service

Muutke site.urlseadet Leanote'i konfiguratsioonifailis:

cd /home/leanote/leanote/conf/
vi app.conf

Otsige üles järgmine rida:

site.url=http://leanote.example.com:9000

Asenda see:

site.url=https://leanote.example.com

Salvestage ja lõpetage:

:wq!

Käivitage Leanote skript uuesti:

cd /home/leanote/leanote/bin
bash run.sh

Nüüd suunake oma lemmikveebibrauser aadressile http://leanote.example.com/ja avastate, et HTTPSprotokoll aktiveeritakse automaatselt. Lihtsalt logige sisse adminkasutajana varem seadistatud uue parooliga või registreerige meeskonnatööks uued kasutajakontod.

Jällegi vajutage Leanote skripti peatamiseks CTRL+ C. Me deemoniseerime selle skripti hiljem.

9. samm: installige wkhtmltopdfprogramm

Leanote otsustab kasutada wkhtmltopdfprogrammi HTML-lehtede eksportimiseks PDF-failidena. Installige 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

Ära unusta esitada wkhtmltopdfbinaarne tee /usr/local/bin/wkhtmltopdfon Export PDFsektsiooni Leanote web admin armatuurlaual kui Leanote on jälle toimib.

Märkus. Kui leiate eksporditud PDF-failidest loetamatuid märke, võite proovida probleemi lahendada, lisades /usr/share/fonts/kataloogi vajalikud fondifailid .

10. samm: kasutage Leanote skripti töös hoidmiseks Supervisorit

Leanote saidi võrgus hoidmiseks saate kasutada utiliiti Supervisor, et Leanote skripti kokkujooksmisel automaatselt käivitada.

Installige Supervisor YUM-i abil:

sudo yum install -y supervisor

Looge .iniLeanote jaoks lihtne juhendaja fail:

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

Käivitage Supervisor teenus ja Leanote teenus:

sudo supervisord -c /etc/supervisord.conf

Kinnitage Leanote teenuse olek:

sudo supervisorctl status leanote

Väljund sarnaneb järgmisega:

leanote                          RUNNING   pid 3707, uptime 0:02:36

Jäta kommentaar

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit