Installer Plesk på CentOS 7
Bruger du et andet system? Plesk er et proprietært webhost kontrolpanel, der giver brugerne mulighed for at administrere deres personlige og/eller klienters websteder, databaser
Leanote er et gratis, letvægts- og open source-alternativ til Evernote, som er skrevet i Golang. Med brugeroplevelse i tankerne giver Leanote brugerne masser af praktiske funktioner, herunder support på tværs af platforme, skrivning i MarkDown-syntaksen, offentlig eller privat blogging, videnindsamling og -deling og teamsamarbejde.
I denne artikel vil jeg guide dig gennem opsætning af en Leanote-server på en CentOS 7-serverinstans. Af sikkerhedsmæssige årsager vil aktivering af HTTPS support
brugen af et Let's Encrypt SSL-certifikat og Nginx også være dækket.
203.0.113.1
.leanote
.leanote.example.com
der peger på serverforekomsten nævnt ovenfor.Når du starter en ny Vultr CentOS 7-serverinstans, anbefales det altid at konfigurere en swap-fil for at sikre, at systemet kører problemfrit. For eksempel er oprettelse af en 2048 MB-størrelse swap-fil egnet til en maskine med 2 GB hukommelse.
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
Bemærk: Hvis du bruger en anden serverstørrelse, skal du muligvis ændre størrelsen på swap-filen.
Download og udpak den seneste stabile udgivelse af Leanote til 64-bit Linux-system:
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
Som krævet af Leanote, skal MongoDB NoSQL DBMS være på plads, før du kan konfigurere en Leanote-server.
Opret MongoDB 4.0 YUM repo som følger:
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
Installer alle MongoDB-komponenterne og -værktøjerne ved hjælp af MongoDB 4.0 YUM-repoen oprettet tidligere:
sudo yum install -y mongodb-org
Som standard vil MongoDB bruge 27017
porten, når den arbejder, hvilket ikke er tilladt, hvis SELinux er i enforcing
tilstanden på CentOS 7-maskinen. Brug følgende kommando til at bekræfte den aktuelle SELinux-tilstand:
sudo getenforce
På en Vultr CentOS 7-serverinstans er SELinux deaktiveret som standard. Så outputtet af ovenstående kommando ville være:
Disabled
I dette tilfælde kan du være velkommen til at springe over følgende instruktioner om konfiguration af SELinux og gå videre.
Men hvis du kører en original CentOS 7-serverinstans, ville outputtet af ovenstående kommando være Enforcing
. Du skal udføre en af de tre muligheder nedenfor, før du kan starte og aktivere MongoDB-tjenesten.
Mulighed 1: Tillad MongoDB at bruge 27017
porten
sudo semanage port -a -t mongod_port_t -p tcp 27017
Mulighed 2: Deaktiver SELinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
sudo shutdown -r now
Mulighed 3: Skift SELinux til permissive
tilstand
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
sudo shutdown -r now
Start MongoDB-tjenesten og få den til at starte efter en systemgenstart:
sudo systemctl start mongod.service
sudo systemctl enable mongod.service
Brug kommandoerne nedenfor til at importere indledende Leanote-data til 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/
Af sikkerhedsmæssige årsager skal du aktivere adgangskontrol til MongoDB lige efter, at MongoDB-tjenesten er oppe at køre. Til dette formål skal du oprette mindst to MongoDB-brugerkonti: en brugeradministratorkonto og en databaseadministratorkonto. Du skal også ændre MongoDB-konfigurationen.
Indtast MongoDB shell:
mongo --host 127.0.0.1:27017
Skift til admin
databasen:
use admin
Opret en brugeradministrator ved navn, useradmin
der bruger en adgangskode useradminpassword
:
db.createUser({ user: "useradmin", pwd: "useradminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
Bemærk: Det useradmin
er meningen, at brugeradministratoren skal administrere alle MongoDB-brugere, så det er klogt at vælge en stærk adgangskode. Selvfølgelig er et mere sikkert tip at erstatte useradmin
med et svært at gætte brugernavn.
Skift til leanote
databasen:
use leanote
Opret en databaseadministrator ved navn, leanoteadmin
der bruger en adgangskode leanoteadminpassword
:
db.createUser({ user: "leanoteadmin", pwd: "leanoteadminpassword", roles: [{ role: "dbOwner", db: "leanote" }] })
Bemærk : Igen, det anbefales at vælge et mindre kendt brugernavn og en svær at gætte adgangskode.
Når MongoDB-brugerne er oprettet, kan du bekræfte resultaterne:
use admin
db.auth("useradmin", "useradminpassword")
Bekræft databaseadministratoren:
use leanote
db.auth("leanoteadmin", "leanoteadminpassword")
Begge udsendes 1
som bekræftelse.
Afslut MongoDB-skallen:
exit
For at aktivere adgangskontrol til MongoDB, skal du også tilføje to linjer til MongoDB-konfigurationsfilen /etc/mongod.conf
, som følger:
sudo bash -c "echo 'security:' >> /etc/mongod.conf"
sudo bash -c "echo ' authorization: enabled' >> /etc/mongod.conf"
Genstart MongoDB-tjenesten for at ændringerne træder i kraft:
sudo systemctl restart mongod.service
Fra nu af kan du kun bruge de to brugerkonti til at få adgang til og administrere MongoDB, useradmin
til at administrere alle MongoDB-brugere og kun leanoteadmin
til at administrere leanote
databasen.
Sikkerhedskopier Leanote-konfigurationsfilen /home/leanote/leanote/conf/app.conf
:
cd /home/leanote/leanote/conf/
cp app.conf app.conf.bak
Brug vi
editoren til at åbne Leanote-konfigurationsfilen:
vi app.conf
Find følgende linjer én efter én:
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
Udskift dem henholdsvis som vist nedenfor:
site.url=http://leanote.example.com:9000
db.username=leanoteadmin
db.password=leanoteadminpassword
app.secret=E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
Bemærk: Af sikkerhedsmæssige årsager app.secret
SKAL værdien af parameteren være en 64-bit tilfældig streng, der er forskellig fra den originale. Sørg for at erstatte værdien E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
med din egen 64-bit tilfældige værdi.
Gem og luk:
:wq!
Rediger firewallregler for at tillade indgående TCP-trafik på porten 9000
:
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo systemctl reload firewalld.service
Start Leanote ved at bruge det officielle script:
cd /home/leanote/leanote/bin
bash run.sh
Når du ser Listening on.. 0.0.0.0:9000
, skal du pege på din foretrukne webbrowser for http://leanote.example.com:9000
at begynde at bruge Leanote-webstedet.
Brug standard Leanote-administratorkontoen til at logge ind:
admin
abc123
Af sikkerhedsmæssige årsager bør du ændre standardadgangskoden umiddelbart efter, du har logget ind.
HTTPS
adgangFor 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
Ansøg om et Let's Encrypt SSL-certifikat for domænet leanote.example.com
:
sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d leanote.example.com
Certifikatet og kæden gemmes som følger:
/etc/letsencrypt/live/leanote.example.com/fullchain.pem
Den private nøglefil gemmes som følger:
/etc/letsencrypt/live/leanote.example.com/privkey.pem
Som standard udløber Let's Encrypt SSL-certifikatet om tre måneder. Du kan konfigurere et cron-job, som vist nedenfor, for automatisk at forny dine Let's Encrypt-certifikater:
sudo crontab -e
Tryk på for Iat gå ind i insert
tilstanden, og indtast derefter følgende linje:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
Gem og luk:
:wq!
Dette cron-job vil forsøge at forny Let's Encrypt-certifikatet hver dag ved middagstid.
Installer Nginx ved hjælp af EPEL YUM repo:
sudo yum install -y nginx
Opret en konfigurationsfil til 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
Genstart Nginx for at sætte dine ændringer i kraft:
sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
Rediger site.url
indstillingen i Leanote-konfigurationsfilen:
cd /home/leanote/leanote/conf/
vi app.conf
Find følgende linje:
site.url=http://leanote.example.com:9000
Erstat det:
site.url=https://leanote.example.com
Gem og luk:
:wq!
Kør Leanote-scriptet igen:
cd /home/leanote/leanote/bin
bash run.sh
Peg nu din foretrukne webbrowser til http://leanote.example.com/
, og du vil opdage, at HTTPS
protokollen aktiveres automatisk. Du skal blot logge ind som admin
brugeren med den nye adgangskode, du har oprettet tidligere, eller registrere nye brugerkonti til teamsamarbejde.
Tryk igen på CTRL+ for Cat stoppe Leanote-scriptet. Vi vil dæmonisere dette script senere.
wkhtmltopdf
programmetLeanote vælger at bruge wkhtmltopdf
programmet til at eksportere HTML-sider som PDF-filer. Installer 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
Glem ikke at indsende den wkhtmltopdf
binære sti /usr/local/bin/wkhtmltopdf
i Export PDF
sektionen i Leanotes webadmin-dashboard, når Leanote er oppe at køre igen.
Bemærk: Hvis du finder ulæselige tegn i eksporterede PDF-filer, kan du prøve at løse problemet ved at tilføje nødvendige skrifttypefiler til /usr/share/fonts/
mappen.
For at holde dit Leanote-websted online kan du bruge Supervisor-værktøjet til automatisk at starte Leanote-scriptet, hvis det går ned.
Installer Supervisor ved hjælp af YUM:
sudo yum install -y supervisor
Opret en simpel Supervisor- .ini
fil til 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
Start Supervisor-tjenesten samt Leanote-tjenesten:
sudo supervisord -c /etc/supervisord.conf
Bekræft status for Leanote-tjenesten:
sudo supervisorctl status leanote
Outputtet vil ligne følgende:
leanote RUNNING pid 3707, uptime 0:02:36
Bruger du et andet system? Plesk er et proprietært webhost kontrolpanel, der giver brugerne mulighed for at administrere deres personlige og/eller klienters websteder, databaser
Squid er et populært, gratis Linux-program, der giver dig mulighed for at oprette en webproxy til videresendelse. I denne vejledning vil du se, hvordan du installerer Squid på CentOS for at gøre dig
Introduktion Lighttpd er en forgrening af Apache, der sigter mod at være meget mindre ressourcekrævende. Den er let, deraf navnet, og den er ret enkel at bruge. Installer
VULTR har for nylig foretaget ændringer i deres ende, og alt skulle nu fungere fint ud af boksen med NetworkManager aktiveret. Skulle du ønske at deaktivere
Icinga2 er et kraftfuldt overvågningssystem, og når det bruges i en master-klient-model, kan det erstatte behovet for NRPE-baserede overvågningstjek. Mester-klienten
Bruger du et andet system? Apache Cassandra er et gratis og open source NoSQL-databasestyringssystem, der er designet til at give skalerbarhed, høj
Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig
Bruger du et andet system? Mattermost er et open source, selvhostet alternativ til Slack SAAS-meddelelsestjenesten. Med andre ord, med Mattermost er du ca
Hvad skal du bruge En Vultr VPS med mindst 1 GB RAM. SSH-adgang (med root/administrative rettigheder). Trin 1: Installation af BungeeCord Første ting først
Plesk-kontrolpanelet har en meget flot integration til Lets Encrypt. Lets Encrypt er en af de eneste SSL-udbydere, der udleverer certifikater komplet
Lets Encrypt er en certifikatmyndighed dedikeret til at levere SSL-certifikater gratis. cPanel har bygget en pæn integration, så du og din klient
Bruger du et andet system? Concrete5 er et open source CMS, som tilbyder mange karakteristiske og nyttige funktioner til at hjælpe redaktører med at producere indhold nemt og
Bruger du et andet system? Review Board er et gratis og open source-værktøj til gennemgang af kildekode, dokumentation, billeder og mange flere. Det er webbaseret software
I denne vejledning lærer du, hvordan du opsætter HTTP-godkendelse for en Nginx-webserver, der kører på CentOS 7. Krav For at komme i gang skal du bruge
YOURLS (Your Own URL Shortener) er en open source URL-forkortelse og dataanalyseapplikation. I denne artikel vil vi dække installationsprocessen
Bruger du et andet system? Introduktion ArangoDB er en open source NoSQL-database med en fleksibel datamodel for dokumenter, grafer og nøgleværdier. det er
Introduktion /etc/-biblioteket spiller en afgørende rolle i den måde et Linux-system fungerer på. Årsagen til dette er, at næsten alle systemkonfigurationer
Mange systemadministratorer administrerer store mængder servere. Når filer skal tilgås på tværs af forskellige servere, logges ind på hver enkelt individuelt ca
Denne vejledning vil dække processen med at installere en Half Life 2-spilserver på CentOS 6 System. Trin 1: Installation af forudsætninger For at opsætte ou
Laravel GitScrum eller GitScrum er et open source-produktivitetsværktøj designet til at hjælpe udviklingsteams med at implementere Scrum-metoden på en måde, der ligner t.
Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.
Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.
Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.
Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.
Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...
Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.
Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af dataene. Denne blog dækker udviklingen af datalagring på basis af en infografik.
Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.
I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.
For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af mac-maskiner. Læs denne artikel for at lære mere