Come installare e configurare CyberPanel sul server CentOS 7
Usi un sistema diverso? Introduzione CyberPanel è uno dei primi pannelli di controllo sul mercato che è sia open source che utilizza OpenLiteSpeed. Che cosa
Leanote è un'alternativa gratuita, leggera e open source a Evernote, che è scritta in Golang. Con l'esperienza dell'utente in mente, Leanote offre agli utenti molte funzionalità pratiche, tra cui supporto multipiattaforma, scrittura nella sintassi MarkDown, blog pubblici o privati, raccolta e condivisione delle conoscenze e collaborazione in team.
In questo articolo, ti guiderò attraverso la configurazione di un server Leanote su un'istanza del server CentOS 7. Per motivi di sicurezza, HTTPS support
verrà inoltre coperta l' abilitazione all'uso di un certificato SSL Let's Encrypt e Nginx.
203.0.113.1
.leanote
.leanote.example.com
puntato all'istanza del server sopra menzionata.Quando si avvia una nuova istanza del server Vultr CentOS 7, si consiglia sempre di impostare un file di scambio al fine di garantire il corretto funzionamento del sistema. Ad esempio, la creazione di un file di scambio di dimensioni pari a 2048 MB è adatta per una macchina con 2 GB di memoria.
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
Nota: se si utilizza una dimensione server diversa, potrebbe essere necessario modificare la dimensione del file di scambio.
Scarica ed estrai l'ultima versione stabile di Leanote per il sistema Linux a 64 bit:
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
Come richiesto da Leanote, il DBMS NoSQL MongoDB deve essere installato prima di poter installare correttamente un server Leanote.
Creare il repository YUM MongoDB 4.0 come segue:
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
Installa tutti i componenti e gli strumenti MongoDB usando il repository YUM MongoDB 4.0 creato in precedenza:
sudo yum install -y mongodb-org
Per impostazione predefinita, MongoDB userebbe la 27017
porta quando funziona, il che non è consentito se SELinux è in enforcing
modalità sulla macchina CentOS 7. Utilizzare il seguente comando per confermare la modalità SELinux corrente:
sudo getenforce
Su un'istanza del server Vultr CentOS 7, SELinux è disabilitato per impostazione predefinita. Quindi l'output del comando sopra sarebbe:
Disabled
In questo caso, puoi sentirti libero di saltare le seguenti istruzioni sulla configurazione di SELinux e andare avanti.
Tuttavia, se si esegue un'istanza del server CentOS 7 originale, l'output del comando precedente sarebbe Enforcing
. È necessario eseguire una delle tre opzioni seguenti prima di poter avviare e abilitare il servizio MongoDB.
Opzione 1: consentire a MongoDB di utilizzare la 27017
porta
sudo semanage port -a -t mongod_port_t -p tcp 27017
Opzione 2: disabilitare SELinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
sudo shutdown -r now
Opzione 3: cambia SELinux in permissive
modalità
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
sudo shutdown -r now
Avviare il servizio MongoDB e farlo iniziare dopo un riavvio del sistema:
sudo systemctl start mongod.service
sudo systemctl enable mongod.service
Utilizzare i comandi seguenti per importare i dati Leanote iniziali in 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/
Per motivi di sicurezza, è necessario abilitare il controllo dell'accesso a MongoDB subito dopo che il servizio MongoDB è attivo e funzionante. A tale scopo, è necessario creare almeno due account utente MongoDB: un account amministratore utente e un account amministratore database. Sarà inoltre necessario modificare la configurazione di MongoDB.
Immettere la shell MongoDB:
mongo --host 127.0.0.1:27017
Passa al admin
database:
use admin
Crea un amministratore utente chiamato useradmin
che utilizza una password useradminpassword
:
db.createUser({ user: "useradmin", pwd: "useradminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
Nota: l'amministratore utente useradmin
dovrebbe gestire tutti gli utenti MongoDB, quindi è saggio scegliere una password complessa. Naturalmente, un suggerimento più sicuro è quello di sostituire useradmin
con un nome utente difficile da indovinare.
Passa al leanote
database:
use leanote
Creare un amministratore di database denominato leanoteadmin
che utilizza una password leanoteadminpassword
:
db.createUser({ user: "leanoteadmin", pwd: "leanoteadminpassword", roles: [{ role: "dbOwner", db: "leanote" }] })
Nota : di nuovo, si consiglia di scegliere un nome utente meno conosciuto e una password difficile da indovinare.
Dopo aver creato gli utenti MongoDB, è possibile confermare i risultati:
use admin
db.auth("useradmin", "useradminpassword")
Conferma l'amministratore del database:
use leanote
db.auth("leanoteadmin", "leanoteadminpassword")
Entrambi verranno emessi 1
come conferma.
Esci dalla shell MongoDB:
exit
Per abilitare il controllo di accesso a MongoDB, è inoltre necessario aggiungere due righe al file di configurazione di MongoDB /etc/mongod.conf
, come segue:
sudo bash -c "echo 'security:' >> /etc/mongod.conf"
sudo bash -c "echo ' authorization: enabled' >> /etc/mongod.conf"
Riavviare il servizio MongoDB per rendere effettive le modifiche:
sudo systemctl restart mongod.service
Da ora in poi, è possibile utilizzare solo i due account utente per accedere e gestire MongoDB, useradmin
per gestire tutti gli utenti MongoDB e solo leanoteadmin
per la gestione del leanote
database.
Eseguire il backup del file di configurazione Leanote /home/leanote/leanote/conf/app.conf
:
cd /home/leanote/leanote/conf/
cp app.conf app.conf.bak
Utilizzare l' vi
editor per aprire il file di configurazione di Leanote:
vi app.conf
Trova le seguenti righe una per una:
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
Sostituirli, rispettivamente, come mostrato di seguito:
site.url=http://leanote.example.com:9000
db.username=leanoteadmin
db.password=leanoteadminpassword
app.secret=E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
Nota: per motivi di sicurezza, il valore del app.secret
parametro DEVE essere una stringa casuale a 64 bit diversa da quella originale. Assicurati di sostituire il valore E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
con il tuo valore casuale a 64 bit.
Salva ed esci:
:wq!
Modifica le regole del firewall per consentire il traffico TCP in entrata sulla porta 9000
:
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo systemctl reload firewalld.service
Avvia Leanote usando lo script ufficiale:
cd /home/leanote/leanote/bin
bash run.sh
Dopo aver visto Listening on.. 0.0.0.0:9000
, punta il tuo browser web preferito http://leanote.example.com:9000
per iniziare a utilizzare il sito Leanote.
Utilizza l'account admin Leanote predefinito per accedere:
admin
abc123
Per motivi di sicurezza, è necessario modificare la password predefinita immediatamente dopo l'accesso.
HTTPS
accessoPer ora, puoi già accedere al server Leanote utilizzando il protocollo HTTP, un protocollo meno sicuro. Per migliorare la sicurezza del sistema, è possibile abilitare HTTPS
distribuendo sul proprio computer sia un certificato SSL Let's Encrypt che il proxy inverso Nginx.
Prima di poter ottenere il certificato SSL Let's Encrypt, è necessario impostare correttamente il nome host e l'FQDN sul proprio computer.
Innanzitutto, premi CTRL+ Cper interrompere lo script Leanote run.sh
.
Quindi, impostare il nome host e il nome FQDN come segue:
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
Puoi anche confermare i risultati:
hostname
hostname -f
Bloccare il traffico in entrata sulla porta 9000
e consentire il traffico in entrata sulle porte per HTTP
e HTTPS
servizi:
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
Installa l'utilità 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
Richiedi un certificato SSL Let's Encrypt per il dominio leanote.example.com
:
sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d leanote.example.com
Il certificato e la catena verranno salvati come segue:
/etc/letsencrypt/live/leanote.example.com/fullchain.pem
Il file della chiave privata verrà salvato come segue:
/etc/letsencrypt/live/leanote.example.com/privkey.pem
Per impostazione predefinita, il certificato SSL Let's Encrypt scadrà tra tre mesi. È possibile impostare un processo cron, come mostrato di seguito, per rinnovare automaticamente i certificati Let's Encrypt:
sudo crontab -e
Premere Iper accedere alla insert
modalità, quindi immettere la seguente riga:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
Salva ed esci:
:wq!
Questo cron job proverà a rinnovare il certificato Let's Encrypt ogni giorno a mezzogiorno.
Installa Nginx usando il repository EPEL YUM:
sudo yum install -y nginx
Crea un file di configurazione per 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
Riavvia Nginx per rendere effettive le modifiche:
sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
Modifica l' site.url
impostazione nel file di configurazione di Leanote:
cd /home/leanote/leanote/conf/
vi app.conf
Trova la seguente riga:
site.url=http://leanote.example.com:9000
Sostituiscilo:
site.url=https://leanote.example.com
Salva ed esci:
:wq!
Esegui di nuovo lo script Leanote:
cd /home/leanote/leanote/bin
bash run.sh
Ora, punta il tuo browser web preferito http://leanote.example.com/
e scoprirai che il HTTPS
protocollo si attiva automaticamente. Accedi come admin
utente con la nuova password che hai impostato in precedenza o registra nuovi account utente per la collaborazione in team.
Ancora una volta, premi CTRL+ Cper interrompere lo script Leanote. Domani demonizzeremo questo script.
wkhtmltopdf
programmaLeanote sceglie di utilizzare il wkhtmltopdf
programma per esportare pagine HTML come file PDF. Installa 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
Non dimenticare di inviare il wkhtmltopdf
percorso binario /usr/local/bin/wkhtmltopdf
nella Export PDF
sezione nella dashboard dell'amministratore web di Leanote quando Leanote è di nuovo attivo e funzionante.
Nota: se si trovano caratteri illeggibili nei file PDF esportati, è possibile provare a risolvere il problema aggiungendo i file di font richiesti alla /usr/share/fonts/
directory.
Per mantenere online il sito Leanote, è possibile utilizzare l'utilità Supervisore per avviare automaticamente lo script Leanote in caso di arresto anomalo.
Installa Supervisor utilizzando YUM:
sudo yum install -y supervisor
Crea un semplice .ini
file Supervisor per 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
Avviare il servizio Supervisore e il servizio Leanote:
sudo supervisord -c /etc/supervisord.conf
Conferma lo stato del servizio Leanote:
sudo supervisorctl status leanote
L'output sarà simile al seguente:
leanote RUNNING pid 3707, uptime 0:02:36
Usi un sistema diverso? Introduzione CyberPanel è uno dei primi pannelli di controllo sul mercato che è sia open source che utilizza OpenLiteSpeed. Che cosa
Introduzione Sensu è una soluzione di monitoraggio gratuita e open source che può essere utilizzata per monitorare server, applicazioni e vari servizi di sistema. Sensu i
Usi un sistema diverso? Apache OpenMeetings è unapplicazione per conferenze Web open source. È scritto in Java e supporta più server di database. io
Luso di un utente sudo per accedere a un server ed eseguire comandi a livello di root è una pratica molto comune tra Linux e Unix Systems Administrator. Luso di un sud
Usando un sistema diverso? RabbitMQ è un broker di messaggi open source ampiamente utilizzato scritto nel linguaggio di programmazione Erlang. Come middleware orientato ai messaggi
Usi un sistema diverso? RTMP è ottimo per pubblicare contenuti live. Quando RTMP è associato a FFmpeg, i flussi possono essere convertiti in varie qualità. Vultr i
TaskBoard è unapp Web di gestione del tempo gratuita e open source. Ispirato da Kanban, TaskBoard può aiutarti a tenere traccia delle cose che devono essere fatte in a
Usi un sistema diverso? Gradle è un set di strumenti di automazione di build gratuito e open source basato sui concetti di Apache Ant e Apache Maven. Gradle fornisce
Usi un sistema diverso? In questa guida, vedremo come configurare un server FTP (ProFTPd) per trasferire file tra il tuo PC e il tuo server.
Usando un sistema diverso? Netdata è una stella nascente nel campo del monitoraggio delle metriche di sistema in tempo reale. Rispetto ad altri strumenti dello stesso tipo, Netdata:
Usi un sistema diverso? Apache Cassandra è un sistema di gestione di database NoSQL gratuito e open source progettato per fornire scalabilità, alta
In questo tutorial imparerai bene come configurare un server multiplayer Just Cause 2. Prerequisiti Assicurarsi che il sistema sia completamente aggiornato prima di iniziare
Usando un sistema diverso? In questo tutorial, spiegherò come impostare un server Starbound su CentOS 7. Prerequisiti Devi possedere questo gioco su di te
ZNC è un buttafuori IRC gratuito e open source che rimane permanentemente connesso a una rete in modo che i client possano ricevere messaggi inviati mentre sono offline. Thi
Django è un popolare framework Python per la scrittura di applicazioni Web. Con Django, puoi creare applicazioni più velocemente, senza reinventare la ruota. Se vuoi
Dopo aver modificato la porta SSH, configurato il port knocking e apportato altre modifiche per la sicurezza SSH, cè forse un altro modo per proteggerti
Introduzione MyCLI è un client da riga di comando per MySQL e MariaDB che ti consente di completare automaticamente e ti aiuta con la sintassi dei tuoi comandi SQL. MyCL
Usi un sistema diverso? Directus 6.4 CMS è un sistema di gestione dei contenuti senza testa (CMS) potente e flessibile, gratuito e open source che fornisce agli sviluppatori
Cosa ti serve Un VPS Vultr con almeno 1 GB di RAM. Accesso SSH (con privilegi di root / amministrativi). Passaggio 1: installare prima BungeeCord
MaraDNS è un programma server DNS open source leggero ma robusto. Rispetto ad altre applicazioni dello stesso tipo, come ISC BIND, PowerDNS e djbdns
Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane
ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.
Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+
Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.
Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più
13 strumenti commerciali per l'estrazione dei dati dai Big Data
Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true
Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.
Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1
L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.