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
GoCD è un sistema di consegna e automazione continuo open source. Ti permette di modellare flussi di lavoro complessi usando la sua esecuzione parallela e sequenziale. La mappa dei flussi di valori consente di visualizzare facilmente un flusso di lavoro complesso con facilità. GoCD ti consente di confrontare facilmente due build e distribuire qualsiasi versione dell'applicazione desiderata. L'ecosistema GoCD è costituito da server GoCD e agente GoCD. GoCD è responsabile del controllo di tutto, come l'esecuzione dell'interfaccia utente basata sul Web e la gestione e la fornitura di lavori all'agente. Gli agenti Go sono responsabili dell'esecuzione dei lavori e delle distribuzioni.
Per questo tutorial, utilizzeremo 192.168.1.1
come indirizzo IP pubblico e gocd.example.com
come nome di dominio puntato verso l'istanza Vultr. Assicurati di sostituire tutte le occorrenze del nome di dominio e dell'indirizzo IP 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 di Java.
GoCD richiede Java versione 8 e supporta sia Oracle Java che OpenJDK. In questo tutorial, installeremo Java 8 da OpenJDK.
OpenJDK può essere facilmente installato, poiché il pacchetto è disponibile nel YUM
repository predefinito .
sudo yum -y install java-1.8.0-openjdk-devel
Se Java è installato correttamente, sarai in grado di verificarne la versione.
java -version
Otterrai un output simile al seguente testo.
[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
Prima di poter procedere oltre, dovremo impostare le variabili di ambiente JAVA_HOME
e JRE_HOME
. Trova il percorso assoluto dell'eseguibile Java nel tuo sistema.
readlink -f $(which java)
Il seguente testo verrà inviato al tuo terminale.
[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre/bin/java
Ora, imposta le variabili di ambiente JAVA_HOME
e in JRE_HOME
base al percorso della directory Java.
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre" >> ~/.bash_profile
Nota: assicurarsi di utilizzare il percorso Java ottenuto sul proprio sistema. Il percorso utilizzato in questa esercitazione può cambiare quando viene rilasciata una nuova versione di Java 8.
Esegui il bash_profile
file.
source ~/.bash_profile
Ora puoi eseguire il echo $JAVA_HOME
comando per assicurarti che la variabile di ambiente sia impostata.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
GoCD è scritto in Java, quindi Java è l'unica dipendenza per eseguire GoCD. GoCD può essere installato con l'aiuto di YUM
. Installa il suo repository ufficiale nel sistema.
sudo curl https://download.gocd.org/gocd.repo -o /etc/yum.repos.d/gocd.repo
Installa il server GoCD nel tuo sistema.
sudo yum install -y go-server
Avvia GoCD e abilita l'avvio automatico all'avvio.
sudo systemctl start go-server
sudo systemctl enable go-server
Prima di accedere alla dashboard di GoCD, creiamo una nuova directory per archiviare gli artefatti. Gli artefatti possono essere memorizzati sullo stesso disco in cui sono installati il sistema operativo e le applicazioni. In alternativa, è possibile utilizzare un disco dedicato o un'unità di archiviazione a blocchi per memorizzare gli artefatti.
Se si desidera utilizzare lo stesso disco per memorizzare gli artefatti, è sufficiente creare una nuova directory e fornire la proprietà all'utente GoCD.
sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts
Il software GoCD consiglia di utilizzare una partizione o un'unità aggiuntiva per memorizzare gli artefatti. In una piattaforma di integrazione e consegna continua, gli artefatti vengono generati molto spesso. Lo spazio su disco diminuisce nel tempo quando vengono generati continuamente nuovi artefatti. Ad un certo punto, il sistema esaurirà lo spazio libero su disco e i servizi in esecuzione sul sistema falliranno. Per ovviare a questo problema, è possibile collegare una nuova unità di archiviazione a blocchi Vultr per archiviare gli artefatti. Se desideri comunque continuare con l'archiviazione di artefatti sulla stessa unità, passa alla sezione "Installazione del firewall".
Distribuire una nuova unità di archiviazione a blocchi e collegarla all'istanza del server GoCD. Ora crea una nuova partizione sul dispositivo di archiviazione a blocchi.
sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%
Crea il file system sul nuovo disco.
sudo mkfs.ext4 /dev/vdb1
Montare l'unità di archiviazione a blocchi.
sudo mkdir /mnt/artifacts
sudo cp /etc/fstab /etc/fstab.backup
echo "
/dev/vdb1 /mnt/artifacts ext4 defaults,noatime 0 0" | sudo tee -a /etc/fstab
sudo mount /mnt/artifacts
Ora avvia df
e vedrai la nuova unità di archiviazione a blocchi montata /mnt/artifacts
.
[user@vultr ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 20616252 6313892 13237464 33% /
...
/dev/vdb1 10188052 36888 9610596 1% /mnt/artifacts
Fornire la proprietà della directory all'utente GoCD.
sudo chown -R go:go /mnt/artifacts
Modificare la configurazione del firewall per consentire le porte 8153
e 8154
attraverso il firewall. Port 8153
ascolta le connessioni non protette e la porta 8154
per le connessioni protette.
sudo firewall-cmd --zone=public --add-port=8153/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8154/tcp --permanent
sudo firewall-cmd --reload
Ora puoi accedere alla dashboard di GoCD su http://192.168.1.1:8153
. Per accedere alla dashboard di GoCD su una connessione protetta, accedere https://192.168.1.1:8154
. Verrà visualizzato un errore che mostra che i certificati non sono validi. È possibile ignorare in modo sicuro l'errore poiché i certificati sono autofirmati. Per motivi di sicurezza, è necessario utilizzare sempre la dashboard su una connessione protetta.
Prima di impostare una nuova pipeline, vai a " Admin >> Server Configuration
" dalla barra di navigazione in alto.
Inserisci l'URL nel tuo sito non protetto nel campo " Site URL
" e nel sito protetto nel campo " Secure Site URL
".
Successivamente, fornisci i dettagli del tuo server SMTP per inviare notifiche e-mail da GoCD.
Infine, fornisci il percorso della posizione in cui desideri conservare gli artefatti. Se hai scelto di salvare gli artefatti sullo stesso disco del sistema operativo, inserisci /opt/artifacts
; se hai scelto di collegare un'unità di archiviazione a blocchi, puoi accedere /mnt/artifacts
.
Inoltre, puoi configurare GoCD per eliminare automaticamente i vecchi artefatti. Configura l'opzione successiva in base alle dimensioni del disco. Tuttavia, l'opzione di eliminazione automatica non esegue un backup dei vecchi artefatti. Per eseguire manualmente un backup e quindi eliminare i vecchi artefatti, disabilitare l'eliminazione automatica selezionando l' Never
opzione " " per l' Auto delete old artifacts
opzione " ".
Sarà necessario riavviare il server GoCD in modo da applicare le nuove modifiche.
sudo systemctl restart go-server
Per impostazione predefinita, il dashboard GoCD non è configurato per utilizzare alcun tipo di autenticazione, ma supporta l'autenticazione mediante un file di password e LDAP. In questo tutorial, configureremo l'autenticazione basata su password.
Nota : la configurazione dell'autenticazione è un passaggio facoltativo, ma è fortemente consigliata per i server pubblici, come Vultr.
Installa gli strumenti di Apache in modo da poter usare il htpasswd
comando per creare un file di password crittografato.
sudo yum -y install httpd-tools
Creare un file di password con il htpasswd
comando utilizzando la crittografia Bcrypt.
sudo htpasswd -B -c /etc/go/passwd_auth goadmin
Fornire la password per l'utente due volte. Vedrai il seguente output.
[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin
Puoi aggiungere tutti gli utenti che desideri utilizzando lo stesso comando sopra, ma rimuovendo l' -c
opzione. L' -c
opzione sostituirà il file esistente, sostituendo i vecchi utenti con il nuovo utente.
sudo htpasswd -B /etc/go/passwd_auth gouser1
Da allora, abbiamo creato il file delle password, accedi nuovamente alla dashboard di GoCD. Passare a " Admin >> Security >> Authorization Configurations
" dalla barra di navigazione in alto. Fare clic sul Add
pulsante e fornire un ID. Scegli " Password File Authentication Plugin for GoCD
" per l'ID plug-in e indirizza il percorso al file della password. Ora fai clic sul pulsante " Check Connection
" per verificare che GoCD possa utilizzare il file della password per l'autenticazione.
Infine, salva il metodo di autenticazione. Ricarica la dashboard e ti disconnetterà automaticamente. Ora vedrai una schermata di accesso. Accedi utilizzando le credenziali create in precedenza.
Dovrai promuovere manualmente l'utente amministratore, altrimenti tutti gli utenti disporranno dei privilegi di amministratore. Passare a " Admin >> User Summary
" dalla barra di navigazione in alto.
Ora seleziona l'utente amministratore che hai creato e fai clic sul Roles
menu a discesa " ". Promuovi l'utente al solo amministratore selezionando la Go System Administrator
casella " ".
Per aggiungere gli utenti in GoCD creati nel file della password, fare clic sul pulsante " ADD
" e cercare l'utente che li aggiunga. Gli utenti vengono inoltre aggiunti automaticamente alla dashboard di GoCD al primo accesso. Ovviamente, affinché gli utenti possano accedere, devono essere aggiunti al file delle password che abbiamo creato in precedenza.
Per impostazione predefinita, GoCD ascolta le porte 8153
e 8154
le connessioni sicure. Sebbene la porta 8154
offra una connessione sicura all'applicazione, mostra anche errori del browser in quanto utilizza un certificato autofirmato. In questa sezione del tutorial, installeremo e proteggeremo Nginx con Let's SSL crittografare il certificato SSL gratuito. Il web server Nginx funzionerà come proxy inverso per inoltrare le richieste in arrivo all'endpoint di GoCD HTTP
.
Installa Nginx.
sudo yum -y install nginx
Avvia Nginx e abilita l'avvio automatico all'avvio.
sudo systemctl start nginx
sudo systemctl enable nginx
Installa Certbot, che è l'applicazione client per Let's Encrypt CA.
sudo yum -y install certbot
Prima di poter richiedere certificati, è necessario consentire porte 80
e 443
, o standard HTTP
e HTTPS
servizi, attraverso il firewall. Inoltre, rimuovere la porta 8153
, che ascolta le connessioni non protette.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8153/tcp --permanent
sudo firewall-cmd --reload
Nota : per ottenere certificati da Let's Encrypt CA, il dominio per il quale devono essere generati i certificati deve essere puntato verso il server. In caso contrario, apportare le modifiche necessarie ai record DNS del dominio e attendere la propagazione del DNS prima di effettuare nuovamente la richiesta di certificato. Certbot controlla l'autorità di dominio prima di fornire i certificati.
Genera i certificati SSL.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d gocd.example.com
È probabile che i certificati generati siano archiviati in /etc/letsencrypt/live/gocd.example.com/
. 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 cron job.
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 il certificato è in scadenza, si rinnoverà automaticamente.
Ora, modifica il file di configurazione predefinito di Nginx per eliminare la default_server
riga.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Crea un nuovo file di configurazione per l'interfaccia web GoCD.
sudo nano /etc/nginx/conf.d/gocd.conf
Popolare il file.
upstream gocd {
server 127.0.0.1:8153;
}
server {
listen 80 default_server;
server_name gocd.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 default_server;
server_name gocd.example.com;
ssl_certificate /etc/letsencrypt/live/gocd.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gocd.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/gocd.access.log;
location / {
proxy_pass http://gocd;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}
location /go {
proxy_pass http://gocd/go;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
proxy_read_timeout 86400;
}
}
Verificare la presenza di errori nel nuovo file di configurazione.
sudo nginx -t
Se viene visualizzato il seguente output, la configurazione è priva di errori.
[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Se hai ricevuto qualche tipo di errore, assicurati di ricontrollare il percorso dei certificati SSL. Riavviare il server Web Nginx per implementare la modifica della configurazione.
sudo systemctl restart nginx
Ora puoi accedere alla dashboard di GoCD all'indirizzo https://gocd.example.com
. Accedi alla tua dashboard usando le credenziali di amministratore e vai a " Admin >> Server Configuration
" dalla barra di navigazione in alto.
Impostare " Site URL
" e " Secure Site URL
" su https://gocd.example.com
. La porta 8154
deve ancora essere accessibile attraverso il firewall in modo che gli agenti remoti possano connettersi al server attraverso la porta 8154
, nel caso in cui non siano in grado di connettersi attraverso la HTTP
porta standard .
Nell'ambiente di integrazione continua GoCD, gli agenti GoCD sono i lavoratori responsabili dell'esecuzione di tutte le attività. Quando viene rilevata una modifica all'origine, viene avviata la pipeline e i lavori vengono assegnati ai lavoratori disponibili per l'esecuzione. L'agente quindi esegue l'attività e riporta lo stato finale dopo l'esecuzione.
Per eseguire una pipeline, è necessario configurare almeno un agente. Procedere con l'installazione dell'agente GoCD sul server GoCD.
Poiché abbiamo già importato il repository GoCD nel server, possiamo installare direttamente Go Agent.
sudo yum install -y go-agent
Ora, avvia il server GoCD e abilitalo all'avvio automatico all'avvio.
sudo systemctl start go-agent
sudo systemctl enable go-agent
L'agente GoCD in esecuzione sull'host locale viene automaticamente abilitato quando viene rilevato.
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.