So richten Sie einen Leanote-Server unter CentOS 7 ein

Leanote ist eine kostenlose, leichte und Open-Source-Alternative zu Evernote, das in Golang geschrieben ist. Mit Blick auf die Benutzererfahrung bietet Leanote Benutzern zahlreiche praktische Funktionen, darunter plattformübergreifende Unterstützung, Schreiben in der MarkDown-Syntax, öffentliches oder privates Bloggen, Sammeln und Teilen von Wissen sowie Teamzusammenarbeit.

In diesem Artikel werde ich Sie durch das Einrichten eines Leanote-Servers auf einer CentOS 7-Serverinstanz führen. Aus Sicherheitsgründen wird auch die Aktivierung der HTTPS supportVerwendung eines Let's Encrypt SSL-Zertifikats und von Nginx behandelt.

Voraussetzungen

  • Eine neu bereitgestellte Vultr CentOS 7-Serverinstanz. Angenommen, die IPv4-Adresse lautet 203.0.113.1.
  • Ein Sudo-Benutzer namens leanote.
  • Alle Softwarepakete auf dem Computer wurden mithilfe des EPEL YUM-Repos auf den neuesten stabilen Status aktualisiert. Details finden Sie hier .
  • Eine Domäne leanote.example.com, die auf die oben erwähnte Serverinstanz verweist.

Schritt 1: Erstellen Sie eine Auslagerungsdatei

Beim Starten einer neuen Vultr CentOS 7-Serverinstanz wird immer empfohlen, eine Auslagerungsdatei einzurichten, um sicherzustellen, dass das System reibungslos funktioniert. Das Erstellen einer Auslagerungsdatei mit einer Größe von 2048 MB ist beispielsweise für einen Computer mit 2 GB Speicher geeignet.

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

Hinweis: Wenn Sie eine andere Servergröße verwenden, müssen Sie möglicherweise die Größe der Auslagerungsdatei ändern.

Schritt 2: Beziehen Sie Leanote 2.6.1-Binärdateien

Laden Sie die neueste stabile Version von Leanote für das 64-Bit-Linux-System herunter und extrahieren Sie sie:

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

Schritt 3: Installieren Sie MongoDB Community Edition 4.0

Wie von Leanote gefordert, muss das MongoDB NoSQL DBMS vorhanden sein, bevor Sie einen Leanote-Server erfolgreich einrichten können.

Richten Sie das MongoDB 4.0 YUM-Repo ein

Erstellen Sie das MongoDB 4.0 YUM-Repo wie folgt:

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

Installieren Sie MongoDB 4.0-Pakete mit YUM

Installieren Sie alle MongoDB-Komponenten und -Tools mit dem zuvor erstellten MongoDB 4.0 YUM-Repo:

sudo yum install -y mongodb-org

Konfigurieren Sie SELinux für MongoDB 4.0

Standardmäßig verwendet MongoDB den 27017Port beim Arbeiten. Dies ist nicht zulässig, wenn sich SELinux im enforcingModus auf dem CentOS 7-Computer befindet. Verwenden Sie den folgenden Befehl, um den aktuellen SELinux-Modus zu bestätigen:

sudo getenforce

Auf einer Vultr CentOS 7-Serverinstanz ist SELinux standardmäßig deaktiviert. Die Ausgabe des obigen Befehls wäre also:

Disabled

In diesem Fall können Sie die folgenden Anweisungen zum Konfigurieren von SELinux überspringen und fortfahren.

Wenn Sie jedoch eine ursprüngliche CentOS 7-Serverinstanz ausführen, lautet die Ausgabe des obigen Befehls Enforcing. Sie müssen eine der drei folgenden Optionen ausführen, bevor Sie den MongoDB-Dienst starten und aktivieren können.

  • Option 1: Erlauben Sie MongoDB, den 27017Port zu verwenden

    sudo semanage port -a -t mongod_port_t -p tcp 27017
    
  • Option 2: Deaktivieren Sie SELinux

    sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    sudo shutdown -r now
    
  • Option 3: Ändern Sie SELinux in den permissiveModus

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

Starten Sie den MongoDB-Dienst und starten Sie ihn nach einem Systemneustart:

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

Schritt 4: Importieren Sie die ersten Leanote-Daten in MongoDB

Verwenden Sie die folgenden Befehle, um erste Leanote-Daten in MongoDB zu importieren:

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/

Schritt 5: Aktivieren Sie die MongoDB-Authentifizierung

Aus Sicherheitsgründen müssen Sie die Zugriffssteuerung auf MongoDB direkt nach dem Betrieb des MongoDB-Dienstes aktivieren. Zu diesem Zweck müssen Sie mindestens zwei MongoDB-Benutzerkonten erstellen: ein Benutzeradministratorkonto und ein Datenbankadministratorkonto. Sie müssen auch die MongoDB-Konfiguration ändern.

Rufen Sie die MongoDB-Shell auf:

mongo --host 127.0.0.1:27017

Zur adminDatenbank wechseln:

use admin

Erstellen Sie einen Benutzeradministrator mit dem Namen useradmin, der ein Kennwort verwendet useradminpassword:

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

Hinweis: Der Benutzeradministrator useradminsoll alle MongoDB-Benutzer verwalten. Daher ist es ratsam, ein sicheres Kennwort zu wählen. Ein sicherer Tipp ist natürlich, ihn durch useradmineinen schwer zu erratenden Benutzernamen zu ersetzen .

Zur leanoteDatenbank wechseln:

use leanote

Erstellen Sie einen Datenbankadministrator mit dem Namen leanoteadmin, der ein Kennwort verwendet leanoteadminpassword:

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

Hinweis : Auch hier wird empfohlen, einen weniger bekannten Benutzernamen und ein schwer zu erratendes Kennwort zu wählen.

Nachdem Sie die MongoDB-Benutzer erstellt haben, können Sie die Ergebnisse bestätigen:

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

Bestätigen Sie den Datenbankadministrator:

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

Beide werden 1als Bestätigung ausgegeben .

Beenden Sie die MongoDB-Shell:

exit

Um die Zugriffssteuerung auf MongoDB zu aktivieren, müssen Sie außerdem zwei Zeilen /etc/mongod.confwie folgt an die MongoDB-Konfigurationsdatei anhängen :

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

Starten Sie den MongoDB-Dienst neu, damit die Änderungen wirksam werden:

sudo systemctl restart mongod.service

Von nun an können Sie nur noch die beiden Benutzerkonten verwenden, um auf MongoDB zuzugreifen und diese zu verwalten, useradminum alle MongoDB-Benutzer zu verwalten und nur leanoteadminum die leanoteDatenbank zu verwalten.

Schritt 6: Konfigurieren Sie Leanote

Sichern Sie die Leanote-Konfigurationsdatei /home/leanote/leanote/conf/app.conf:

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

Verwenden Sie den viEditor, um die Leanote-Konfigurationsdatei zu öffnen:

vi app.conf

Suchen Sie nacheinander die folgenden Zeilen:

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

Ersetzen Sie sie jeweils wie unten gezeigt:

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

Hinweis: Aus Sicherheitsgründen app.secretMUSS der Wert des Parameters eine 64-Bit-Zufallszeichenfolge sein, die sich von der ursprünglichen unterscheidet. Stellen Sie sicher, dass Sie den Wert E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sAdurch Ihren eigenen 64-Bit-Zufallswert ersetzen .

Speichern und Beenden:

:wq!

Schritt 7: Starten Sie Leanote

Ändern Sie die Firewall-Regeln, um eingehenden TCP-Verkehr auf dem Port zuzulassen 9000:

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

Starten Sie Leanote mit dem offiziellen Skript:

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

Nach dem Sehen Listening on.. 0.0.0.0:9000, zeigen Sie Ihren Lieblings - Web - Browser http://leanote.example.com:9000mit der Leanote Website zu starten.

Verwenden Sie das Standard-Leanote-Administratorkonto, um sich anzumelden:

  • Nutzername: admin
  • Passwort: abc123

Aus Sicherheitsgründen sollten Sie das Standardkennwort sofort nach der Anmeldung ändern.

Schritt 8: Aktivieren Sie den HTTPSZugriff

Derzeit können Sie bereits über das HTTP-Protokoll, ein weniger sicheres Protokoll, auf den Leanote-Server zugreifen. Um die Systemsicherheit zu verbessern, können Sie dies aktivieren, HTTPSindem Sie sowohl ein Let's Encrypt SSL-Zertifikat als auch den Nginx-Reverse-Proxy auf Ihrem Computer bereitstellen .

Richten Sie einen Hostnamen und einen vollqualifizierten Domänennamen (FQDN) ordnungsgemäß ein.

Bevor Sie das Let's Encrypt SSL-Zertifikat erhalten können, müssen Sie den Hostnamen und den vollqualifizierten Domänennamen auf Ihrem Computer ordnungsgemäß einrichten.

Drücken Sie zuerst CTRL+ C, um das Leanote-Skript zu stoppen run.sh.

Richten Sie als Nächstes den Hostnamen und den FQDN wie folgt ein:

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

Sie können die Ergebnisse auch bestätigen:

hostname
hostname -f

Ändern Sie die Firewall-Regeln

Blockieren Sie eingehenden Datenverkehr auf dem Port 9000und lassen Sie eingehenden Datenverkehr auf Ports für HTTPund HTTPSDienste zu:

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

Beantragen Sie ein Let's Encrypt SSL-Zertifikat

Installieren Sie das Dienstprogramm Certbot:

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

Beantragen Sie ein Let's Encrypt SSL-Zertifikat für die Domain leanote.example.com:

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

Das Zertifikat und die Kette werden wie folgt gespeichert:

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

Die private Schlüsseldatei wird wie folgt gespeichert:

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

Standardmäßig läuft das Let's Encrypt SSL-Zertifikat in drei Monaten ab. Sie können einen Cron-Job wie unten gezeigt einrichten, um Ihre Let's Encrypt-Zertifikate automatisch zu erneuern:

sudo crontab -e

Drücken Sie I, um den insertModus aufzurufen, und geben Sie die folgende Zeile ein:

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

Speichern und Beenden:

:wq!

Dieser Cron-Job versucht jeden Tag um 12.00 Uhr, das Let's Encrypt-Zertifikat zu erneuern.

Installieren Sie Nginx als Reverse-Proxy

Installieren Sie Nginx mit dem EPEL YUM Repo:

sudo yum install -y nginx

Erstellen Sie eine Konfigurationsdatei für 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

Starten Sie Nginx neu, um Ihre Änderungen zu übernehmen:

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

Ändern Sie die site.urlEinstellung in der Leanote-Konfigurationsdatei:

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

Suchen Sie die folgende Zeile:

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

Ersetze es:

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

Speichern und Beenden:

:wq!

Führen Sie das Leanote-Skript erneut aus:

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

Zeigen Sie jetzt mit Ihrem bevorzugten Webbrowser auf http://leanote.example.com/, und Sie werden feststellen, dass das HTTPSProtokoll automatisch aktiviert wird. adminMelden Sie sich einfach als Benutzer mit dem neuen Kennwort an, das Sie zuvor eingerichtet haben, oder registrieren Sie neue Benutzerkonten für die Teamzusammenarbeit.

Drücken Sie erneut CTRL+ C, um das Leanote-Skript zu stoppen. Wir werden dieses Skript später dämonisieren.

Schritt 9: Installieren Sie das wkhtmltopdfProgramm

Leanote verwendet das wkhtmltopdfProgramm zum Exportieren von HTML-Seiten als PDF-Dateien. Installieren 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

Vergessen Sie nicht , die einreichen wkhtmltopdfbinären Pfad /usr/local/bin/wkhtmltopdfim Export PDFAbschnitt im Leanote Web - Admin - Dashboard , wenn Leanote ist und läuft wieder.

Hinweis: Wenn Sie in exportierten PDF-Dateien unlesbare Zeichen finden, können Sie versuchen, das Problem zu beheben, indem Sie dem /usr/share/fonts/Verzeichnis die erforderlichen Schriftdateien hinzufügen .

Schritt 10: Verwenden Sie Supervisor, um das Leanote-Skript am Laufen zu halten

Um Ihre Leanote-Site online zu halten, können Sie das Supervisor-Dienstprogramm verwenden, um das Leanote-Skript bei einem Absturz automatisch zu starten.

Installieren Sie Supervisor mit YUM:

sudo yum install -y supervisor

Erstellen Sie eine einfache Supervisor- .iniDatei für 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

Starten Sie den Supervisor-Service sowie den Leanote-Service:

sudo supervisord -c /etc/supervisord.conf

Bestätigen Sie den Status des Leanote-Dienstes:

sudo supervisorctl status leanote

Die Ausgabe ähnelt der folgenden:

leanote                          RUNNING   pid 3707, uptime 0:02:36

Einen Kommentar hinterlassen

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.