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
Wekan è una scheda kanban costruita con il framework JavaScript Meteor. È considerata un'alternativa open source e self-hosted a Trello, fornendo quasi le stesse funzionalità. Ti consente di creare elenchi di gestione "da fare" basati su carte. Wekan è molto utile per aumentare la produttività quando si lavora in un ambiente collaborativo. Wekan ha un'interfaccia web completamente reattiva ed è tradotta attivamente in molte lingue.
Per questo tutorial, useremo wekan.example.com
come nome di dominio puntato verso l'istanza Vultr. Assicurati di sostituire tutte le occorrenze del nome di dominio di esempio con quello effettivo.
Aggiorna il tuo sistema di base usando la guida Come aggiornare CentOS 7 . Dopo aver aggiornato il sistema, procedere con l'installazione delle dipendenze.
Wekan supporta solo Node.js LTS version 4.8
. Per installare Node.js, useremo il gestore versione nodo. Installa nvm
eseguendo lo script di installazione.
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
Per iniziare immediatamente a utilizzare nvm
, esegui questo.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
Se nvm
è stato installato correttamente, dovresti essere in grado di controllarne la versione.
[user@vultr ~]$ nvm --version
0.33.4
Installa Node.js.
nvm install v4.8
Imposta la versione predefinita di Node.js.
nvm use node
Se Node.js è stato installato correttamente, dovresti essere in grado di controllarne la versione.
node -v
Vedrai questo risultato.
[user@vultr ~]$ node -v
v4.8.4
NVM installa Node.js solo per l'utente corrente. Affinché Node.js sia accessibile a livello globale, esegui questo.
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr
Node.js è ora disponibile come /bin/node
.
[user@vultr ~]$ sudo which node
/bin/node
MongoDB è un server di database NoSQL gratuito e open source. A differenza dei database tradizionali che utilizzano le tabelle per organizzare i propri dati, MongoDB è orientato ai documenti e utilizza documenti simili a JSON senza schemi. Wekan utilizza MongoDB per archiviare i suoi dati.
Wekan è compatibile solo con MongoDB version 3.2
. MongoDB non è disponibile nel YUM
repository predefinito , quindi sarà necessario creare un nuovo file repository.
sudo nano /etc/yum.repos.d/mongodb-org-3.2.repo
Popolare il file con il seguente contenuto.
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
Installa MongoDB.
sudo yum install -y mongodb-org
Avviare il server MongoDB e abilitare l'avvio automatico.
sudo systemctl start mongod
sudo systemctl enable mongod
Per impostazione predefinita, non è abilitata l'autenticazione in un server MongoDB. Qualsiasi utente che abbia accesso al terminale del server disporrà di privilegi completi sull'installazione di MongoDB. Per proteggere il server di database e limitare l'accesso di un utente non privilegiato, dovremo impostare l'autenticazione sul server.
MongoDB fornisce una mongo
shell, che viene utilizzata per eseguire query su MongoDB. Passa alla mongo
shell digitando.
mongo
Crea un nuovo utente MongoDB con i privilegi di root. Puoi usare qualsiasi nome utente a tua scelta. Assicurati di sostituire la password .
db.createUser(
{
user: "admin",
pwd: "StrongAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
Dovresti vedere il seguente output.
[user@vultr ~]$ mongo
MongoDB shell version: 3.2.17
connecting to: test
Welcome to the MongoDB shell.
...
2017-09-29T20:42:29.042+0000 I CONTROL [initandlisten]
> db.createUser(
... {
... user: "admin",
... pwd: "StrongAdminPassword",
... roles: [ { role: "root", db: "admin" } ]
... }
... )
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
Chiudere l'interfaccia di comando MongoDB sul terminale Linux premendo " Ctrl+C
".
Modifica il file di configurazione di MongoDB.
sudo nano /etc/mongod.conf
Aggiungi la seguente riga alla fine del file.
security:
authorization: enabled
Riavvia MongoDB in modo che la modifica della configurazione abbia effetto.
sudo systemctl restart mongod
Ora che la sicurezza è stata abilitata, è possibile verificare se funziona passando nuovamente alla shell mongo utilizzando il mongo
comando. Questa volta, se si esegue una query, ad esempio show dbs
per visualizzare l'elenco dei database, verrà visualizzato un messaggio che riporta l'autorizzazione non riuscita. Esci sudo
nuovamente dall'utente dopo aver testato l'accesso come nuovo utente appena creato.
Accedi come l' administrator
utente appena creato.
mongo -u admin -p
Fornire la password dell'utente per un accesso riuscito. Crea un nuovo utente per il Wekan
database che verrà utilizzato per archiviare i dati Wekan.
use wekan
db.createUser(
{
user: "wekan",
pwd: "StrongPassword",
roles: ["readWrite"]
}
)
Assicurati di cambiarlo StrongPassword
con una password complessa. Vedrai il seguente output.
[user@vultr ~]$ mongo -u admin -p
MongoDB shell version: 3.2.17
Enter password:
connecting to: test
...
2017-09-29T20:52:32.450+0000 I CONTROL [initandlisten]
>
> use wekan
switched to db wekan
> db.createUser(
... {
... user: "wekan",
... pwd: "StrongPassword",
... roles: ["readWrite"]
... }
... )
Successfully added user: { "user" : "wekan", "roles" : [ "readWrite" ] }
Controlla l'ultimo collegamento alla versione Wekan su Github poiché le nuove versioni sono molto frequenti. Scarica l'ultima versione di Wekan da Github sostituendo il collegamento al pacchetto di installazione.
cd ~
wget https://github.com/wekan/wekan/releases/download/v0.41/wekan-0.41.tar.gz
Estrarre l'archivio scaricato in una nuova directory denominata wekan
.
mkdir wekan
tar xzvf wekan-*.tar.gz -C wekan
Installa Bzip2
, necessario per estrarre le dipendenze Node.js.
sudo yum -y install bzip2
Installa le dipendenze Node.js.
cd wekan/bundle/programs/server && npm install
Il server Wekan legge le configurazioni dalle variabili di ambiente. Eseguire i comandi seguenti per impostare le configurazioni come variabili di ambiente.
export MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
export ROOT_URL='http://wekan.example.com'
export MAIL_URL='smtp://user:[email protected]:25/'
export MAIL_FROM='[email protected]'
export PORT=4000
Assicurati di sostituire la password MongoDB per l' wekan
utente che hai creato. Inoltre, aggiorna l'URL della posta in base alle impostazioni del tuo server SMTP. Se non si dispone di un server di posta pronto, è sempre possibile modificare questa configurazione in un secondo momento. Aprire il firewall per consentire la porta 4000
attraverso il firewall.
sudo firewall-cmd --zone=public --add-port=4000/tcp --permanent
sudo firewall-cmd --reload
Per avviare immediatamente l'applicazione.
cd ~/wekan/bundle
node main.js
Ora puoi accedere all'applicazione andando a http://wekan.example.com:4000
. Vedrai l'interfaccia per accedere alla scheda kanban Wekan.
Per l'uso in produzione, si consiglia di impostare un proxy inverso per servire l'applicazione sulla HTTP
porta standard e un systemd
servizio per gestire il processo dell'applicazione. In questo tutorial, utilizzeremo il web server Nginx come proxy inverso, protetto con un SSL gratuito Let's Encrypt.
Installa il server web Nginx e Certbot, che è l'applicazione client per Let's Encrypt CA.
sudo yum -y install certbot nginx
Prima di poter richiedere i certificati SSL, è necessario consentire la porta 80
e 443
attraverso il firewall. Certbot controllerà l'autorità di dominio prima di emettere certificati.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
Ora che stiamo eseguendo Wekan su una HTTPS
porta standard , non è necessario consentire la porta 4000
attraverso il firewall. Regola il firewall per rimuovere la porta 4000
.
sudo firewall-cmd --zone=public --remove-port=4000/tcp --permanent
sudo firewall-cmd --reload
Nota: il nome di dominio che si sta utilizzando per ottenere i certificati dalla CA Let's Encrypt deve essere puntato verso il server. Il client verifica l'autorità di dominio prima di emettere i certificati .
Genera i certificati SSL.
sudo certbot certonly --standalone -d wekan.example.com
È probabile che i certificati generati siano archiviati nella /etc/letsencrypt/live/wekan.example.com/
directory. Il certificato SSL verrà archiviato come fullchain.pem
e la chiave privata verrà archiviata come privkey.pem
.
Let's Encrypt certificati scadranno tra 90 giorni, quindi si consiglia di impostare il rinnovo automatico dei certificati utilizzando Cronjob. Cron è un servizio di sistema che viene utilizzato per eseguire attività periodiche.
Apri il file di lavoro cron.
sudo crontab -e
Aggiungi la seguente riga alla fine del file.
30 5 * * * /usr/bin/certbot renew --quiet
Il precedente cron job verrà eseguito ogni giorno alle 5:30. Se i certificati sono in scadenza, li rinnoverà automaticamente.
Crea un nuovo host virtuale.
sudo nano /etc/nginx/conf.d/wekan.example.com.conf
Popolare il file con il seguente.
upstream wekan {
server 127.0.0.1:4000;
}
server {
listen 80;
listen [::]:80;
server_name wekan.example.com;
location / {
if ($ssl_protocol = "") {
rewrite ^ https://$server_name$request_uri? permanent;
}
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name wekan.example.com;
add_header Strict-Transport-Security "max-age=15768000";
ssl_certificate /etc/letsencrypt/live/wekan.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wekan.example.com/privkey.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
error_page 497 https://$host:$server_port$request_uri;
location / {
proxy_pass http://wekan;
proxy_http_version 1.1;
proxy_set_header Host $host:$server_port;
proxy_set_header Referer $http_referer;
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-Ssl on;
proxy_set_header X-Nginx-Proxy true;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_send_timeout 86400;
proxy_read_timeout 86400;
}
}
Sostituisci wekan.example.com
con il tuo nome di dominio effettivo nella configurazione sopra.
Riavvia Nginx per rendere effettive le modifiche.
sudo systemctl restart nginx
Abilita Nginx per l'avvio automatico all'avvio.
sudo systemctl enable nginx
Crea un nuovo utente per il processo.
sudo adduser wekan -s /usr/sbin/nologin -d /opt/wekan
Ora sposta tutti i file nella /opt/wekan
directory.
sudo mv ~/wekan/* /opt/wekan/
Fornire la proprietà dei file all'utente appena creato.
sudo chown -R wekan:wekan /opt/wekan
Wekan non accetta dati da alcun file di configurazione. Al contrario, vi accede dalle variabili di ambiente. Creeremo un nuovo file per memorizzare le variabili di ambiente. Il file contenente le variabili di ambiente verrà passato attraverso il Systemd
servizio.
Creare un nuovo file per archiviare le variabili di ambiente.
sudo nano /opt/wekan/config.env
Popolare il file con il seguente contenuto.
MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.example.com'
MAIL_URL='smtp://user:[email protected]:25/'
MAIL_FROM='[email protected]'
PORT=4000
HTTP_FORWARDED_COUNT=1
Assicurati di sostituire il username
e password
.
Fornire la proprietà wekan
all'utente.
sudo chown -R wekan:wekan /opt/wekan/config.env
Creare un nuovo file di servizio per il servizio systemd di Wekan.
sudo nano /etc/systemd/system/wekan.service
Popolare il file con il seguente.
[Unit]
Description=Wekan Server
After=syslog.target
After=network.target
[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/bin/node /opt/wekan/bundle/main.js
EnvironmentFile=/opt/wekan/config.env
ExecReload=/bin/kill -USR1 $MAINPID
RestartSec=10
User=wekan
Group=wekan
WorkingDirectory=/opt/wekan
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=Wekan
[Install]
WantedBy=multi-user.target
Salvare il file ed uscire dall'editor. Ora puoi avviare facilmente Wekan.
sudo systemctl start wekan
Per consentire a Wekan di avviarsi automaticamente all'avvio.
sudo systemctl enable wekan
Per verificare lo stato del servizio Wekan.
sudo systemctl status wekan
Ora puoi accedere all'istanza di Wekan su https://wekan.example.com
. Inizia creando un nuovo account. Dopo aver creato l'account, è possibile abilitare l'accesso amministrativo all'utente appena creato. Accedere alla shell MongoDB come utente amministrativo.
mongo -u wekan -p --authenticationDatabase "wekan"
Ora seleziona il wekan
database e aggiorna l'oggetto per promuovere l'utente nell'amministratore.
use wekan
db.users.update({username:'admin_user'},{$set:{isAdmin:true}})
Assicurati di sostituire admin_user
con il nome utente effettivo dell'utente che hai creato. Dall'interfaccia di amministrazione, sarai in grado di disabilitare l'auto-registrazione e aggiornare le impostazioni SMTP.
Congratulazioni, hai installato con successo la scheda Wekan Kanban sulla tua istanza di Vultr CentOS.
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.