CyberPanel installeren en configureren op uw CentOS 7-server
Gebruikt u een ander systeem? Introductie CyberPanel is een van de eerste bedieningspanelen op de markt die zowel open source is als OpenLiteSpeed gebruikt. Wat thi
GoCD is een open source systeem voor continue levering en automatisering. Hiermee kunt u complexe workflows modelleren met behulp van de parallelle en sequentiële uitvoering. Dankzij de waardestroomkaart kunt u eenvoudig een complexe workflow visualiseren. Met GoCD kun je eenvoudig twee builds vergelijken en elke versie van de gewenste applicatie implementeren. Het GoCD-ecosysteem bestaat uit de GoCD-server en de GoCD-agent. GoCD is verantwoordelijk voor het controleren van alles, zoals het uitvoeren van de webgebaseerde gebruikersinterface en het beheren en aanbieden van taken aan de agent. Go-agenten zijn verantwoordelijk voor het uitvoeren van de taken en implementaties.
Voor deze tutorial zullen we gebruiken 192.168.1.1
als het openbare IP-adres en gocd.example.com
als de domeinnaam die naar de Vultr-instantie verwijst. Zorg ervoor dat u alle exemplaren van de voorbeelddomeinnaam en het IP-adres vervangt door de werkelijke.
Update uw basissysteem met behulp van de handleiding CentOS 7 updaten . Zodra uw systeem is bijgewerkt, gaat u verder met de installatie van Java.
GoCD vereist Java-versie 8 en ondersteunt zowel Oracle Java als OpenJDK. In deze tutorial installeren we Java 8 vanuit OpenJDK.
OpenJDK kan eenvoudig worden geïnstalleerd, omdat het pakket beschikbaar is in de standaardrepository YUM
.
sudo yum -y install java-1.8.0-openjdk-devel
Als Java correct is geïnstalleerd, kunt u de versie ervan verifiëren.
java -version
U krijgt een vergelijkbare uitvoer als de volgende tekst.
[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)
Voordat we verder kunnen gaan, moeten we de JAVA_HOME
en JRE_HOME
omgevingsvariabelen instellen. Zoek het absolute pad van het Java-uitvoerbare bestand in uw systeem.
readlink -f $(which java)
De volgende tekst wordt naar uw terminal gestuurd.
[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
Stel nu de JAVA_HOME
en JRE_HOME
omgevingsvariabelen in volgens het pad van de Java-directory.
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
Opmerking: zorg ervoor dat u het Java-pad gebruikt dat op uw systeem is verkregen. Het pad dat in deze zelfstudie wordt gebruikt, kan veranderen wanneer een nieuwe versie van Java 8 wordt uitgebracht.
Voer het bash_profile
bestand uit.
source ~/.bash_profile
Nu kunt u de echo $JAVA_HOME
opdracht uitvoeren om ervoor te zorgen dat de omgevingsvariabele is ingesteld.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
GoCD is geschreven in Java, daarom is Java de enige afhankelijkheid om GoCD uit te voeren. GoCD kan worden geïnstalleerd met behulp van YUM
. Installeer de officiële repository in het systeem.
sudo curl https://download.gocd.org/gocd.repo -o /etc/yum.repos.d/gocd.repo
Installeer de GoCD-server in uw systeem.
sudo yum install -y go-server
Start GoCD en schakel het automatisch in tijdens het opstarten.
sudo systemctl start go-server
sudo systemctl enable go-server
Voordat we het GoCD-dashboard openen, laten we een nieuwe map maken om de artefacten op te slaan. Artefacten kunnen worden opgeslagen op dezelfde schijf waarop het besturingssysteem en de applicaties zijn geïnstalleerd. Als alternatief kunt u een speciale schijf gebruiken of een opslagschijf blokkeren om de artefacten op te slaan.
Als u dezelfde schijf wilt gebruiken om de artefacten op te slaan, maakt u gewoon een nieuwe map en geeft u het eigendom aan de GoCD-gebruiker.
sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts
De GoCD-software raadt aan om een extra partitie of schijf te gebruiken om de artefacten op te slaan. In een continu integratie- en leveringsplatform worden artefacten heel vaak gegenereerd. De schijfruimte neemt na verloop van tijd af wanneer er continu nieuwe artefacten worden gegenereerd. Op een bepaald moment heeft uw systeem onvoldoende vrije schijfruimte en mislukken de services die op uw systeem worden uitgevoerd. Om dit probleem op te lossen, kunt u een nieuw Vultr-blokopslagstation koppelen om de artefacten op te slaan. Als je nog steeds wilt gaan met de opslag van artefacten op dezelfde schijf, ga dan naar de sectie "Firewall instellen".
Implementeer een nieuw blokopslagstation en koppel het aan uw GoCD-serverinstantie. Maak nu een nieuwe partitie op het blokopslagapparaat.
sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%
Maak het bestandssysteem op de nieuwe schijf.
sudo mkfs.ext4 /dev/vdb1
Monteer het blokopslagstation.
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
Voer nu uit df
en u zult het nieuwe blokopslagstation gemount zien /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
Geef het eigendom van de map aan de GoCD-gebruiker.
sudo chown -R go:go /mnt/artifacts
Wijzig de firewallconfiguratie om poorten 8153
en 8154
via de firewall toe te staan. Poort 8153
luistert naar onbeveiligde verbindingen en poort 8154
naar beveiligde verbindingen.
sudo firewall-cmd --zone=public --add-port=8153/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8154/tcp --permanent
sudo firewall-cmd --reload
Nu heb je toegang tot het GoCD-dashboard http://192.168.1.1:8153
. Toegang tot het GoCD-dashboard via een beveiligde verbinding https://192.168.1.1:8154
. U krijgt een foutmelding dat de certificaten niet geldig zijn. U kunt de fout veilig negeren omdat de certificaten zelfondertekend zijn. Om veiligheidsredenen moet u altijd het dashboard gebruiken via een beveiligde verbinding.
Voordat u een nieuwe pijplijn opzet, navigeert u naar " Admin >> Server Configuration
" in de navigatiebalk bovenaan.
Voer de URL in naar uw onbeveiligde site in het " Site URL
" veld en beveiligde site in het " Secure Site URL
" veld.
Geef vervolgens uw SMTP-servergegevens op om e-mailmeldingen van GoCD te verzenden.
Geef ten slotte het pad naar de locatie waar u de artefacten wilt opslaan. Als u ervoor hebt gekozen om de artefacten op dezelfde schijf op te slaan als het besturingssysteem, typt u /opt/artifacts
; als je ervoor hebt gekozen om een blokopslagstation aan te sluiten, kun je binnenkomen /mnt/artifacts
.
U kunt GoCD ook configureren om de oude artefacten automatisch te verwijderen. Configureer de volgende optie op basis van uw schijfgrootte. De optie voor automatisch verwijderen maakt echter geen back-up van uw oude artefacten. Als u handmatig een back-up wilt maken en vervolgens de oude artefacten wilt verwijderen, schakelt u automatisch verwijderen uit door de Never
optie " " te kiezen voor de Auto delete old artifacts
optie " ".
U moet de GoCD-server opnieuw opstarten zodat de nieuwe wijzigingen worden toegepast.
sudo systemctl restart go-server
Standaard is het GoCD-dashboard niet geconfigureerd om enige vorm van authenticatie te gebruiken, maar het ondersteunt authenticatie met een wachtwoordbestand en LDAP. In deze tutorial zullen we wachtwoordgebaseerde authenticatie instellen.
Opmerking : het instellen van verificatie is een optionele stap, maar wordt sterk aanbevolen voor openbare servers, zoals Vultr.
Installeer Apache-tools zodat we de htpasswd
opdracht kunnen gebruiken om een gecodeerd wachtwoordbestand te maken.
sudo yum -y install httpd-tools
Maak een wachtwoordbestand met de htpasswd
opdracht met behulp van Bcrypt-codering.
sudo htpasswd -B -c /etc/go/passwd_auth goadmin
Geef het wachtwoord tweemaal op voor de gebruiker. Je ziet de volgende output.
[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin
U kunt zoveel gebruikers toevoegen als u wilt met dezelfde opdracht hierboven, maar u verwijdert de -c
optie. De -c
optie vervangt het bestaande bestand en vervangt oude gebruikers door de nieuwe gebruiker.
sudo htpasswd -B /etc/go/passwd_auth gouser1
Omdat we het wachtwoordbestand hebben gemaakt, gaat u opnieuw naar het GoCD-dashboard. Navigeer naar " Admin >> Security >> Authorization Configurations
" in de navigatiebalk bovenaan. Klik op de Add
knop en geef een ID op. Kies " Password File Authentication Plugin for GoCD
" voor plugin-ID en leid het pad naar het wachtwoordbestand. Klik nu op de Check Connection
knop " " om te controleren of GoCD het wachtwoordbestand kan gebruiken voor authenticatie.
Sla ten slotte de verificatiemethode op. Laad het dashboard opnieuw en het logt je automatisch uit. U ziet nu een inlogscherm. Log in met de eerder aangemaakte aanmeldgegevens.
U moet de beheerdersgebruiker handmatig promoten, anders hebben alle gebruikers beheerdersrechten. Navigeer naar " Admin >> User Summary
" in de navigatiebalk bovenaan.
Selecteer nu de admin-gebruiker die je hebt aangemaakt en klik op de " Roles
" drop-down. Promoot de gebruiker bij de enige beheerder door het selectievakje " Go System Administrator
" in te schakelen.
Om de gebruikers in GoCD toe te voegen die in het wachtwoordbestand zijn aangemaakt, klikt u op de ADD
knop " " en zoekt u naar de gebruiker om ze toe te voegen. Gebruikers worden ook automatisch toegevoegd aan het GoCD-dashboard bij hun eerste login. Het is duidelijk dat gebruikers om in te loggen moeten worden toegevoegd aan het wachtwoordbestand dat we eerder hebben gemaakt.
Standaard luistert GoCD naar poorten 8153
en 8154
op beveiligde verbindingen. Hoewel poort 8154
een veilige verbinding met de applicatie biedt, worden ook browserfouten weergegeven omdat het een zelfondertekend certificaat gebruikt. In dit gedeelte van de tutorial zullen we Nginx installeren en beveiligen met Let's Encrypt gratis SSL-certificaat. De Nginx-webserver werkt als een reverse proxy om de inkomende verzoeken door te sturen naar het GoCD- HTTP
eindpunt.
Installeer Nginx.
sudo yum -y install nginx
Start Nginx en schakel het automatisch in tijdens het opstarten.
sudo systemctl start nginx
sudo systemctl enable nginx
Installeer Certbot, de clienttoepassing voor Let's Encrypt CA.
sudo yum -y install certbot
Voordat u certificaten kunt aanvragen, moet u poorten 80
en / 443
of standaard HTTP
en HTTPS
services toestaan via de firewall. Verwijder ook de poort 8153
, die luistert naar de onbeveiligde verbindingen.
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
Opmerking : om certificaten van Let's Encrypt CA te verkrijgen, moet het domein waarvoor de certificaten moeten worden gegenereerd, naar de server worden gericht. Zo niet, breng dan de nodige wijzigingen aan in de DNS-records van het domein en wacht tot de DNS is gepropageerd voordat u opnieuw een certificaataanvraag indient. Certbot controleert de domeinautoriteit voordat de certificaten worden verstrekt.
Genereer de SSL-certificaten.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d gocd.example.com
De gegenereerde certificaten worden waarschijnlijk opgeslagen in /etc/letsencrypt/live/gocd.example.com/
. Het SSL-certificaat wordt opgeslagen als fullchain.pem
en de privésleutel wordt opgeslagen als privkey.pem
.
Let's Encrypt-certificaten verlopen over 90 dagen, dus het wordt aanbevolen om automatische verlenging van de certificaten in te stellen met cron-taken.
Open het cron-taakbestand.
sudo crontab -e
Voeg de volgende regel toe aan het einde van het bestand.
30 5 * * * /usr/bin/certbot renew --quiet
De bovenstaande cron-taak wordt elke dag om 05.30 uur uitgevoerd. Als het certificaat afloopt, wordt het automatisch verlengd.
Wijzig nu het standaard configuratiebestand van Nginx om de default_server
regel te verwijderen.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Maak een nieuw configuratiebestand voor de GoCD-webinterface.
sudo nano /etc/nginx/conf.d/gocd.conf
Vul het bestand in.
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;
}
}
Controleer op fouten in het nieuwe configuratiebestand.
sudo nginx -t
Als u de volgende uitvoer ziet, is de configuratie foutloos.
[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
Als je een fout hebt ontvangen, controleer dan het pad naar de SSL-certificaten. Start de Nginx-webserver opnieuw op om de configuratiewijziging door te voeren.
sudo systemctl restart nginx
Nu hebt u toegang tot het GoCD-dashboard op https://gocd.example.com
. Meld u aan bij uw dashboard met de beheerdersreferenties en navigeer naar " Admin >> Server Configuration
" vanuit de navigatiebalk bovenaan.
Zet de " Site URL
" en " Secure Site URL
" op https://gocd.example.com
. Poort moet 8154
nog steeds toegankelijk zijn via de firewall, zodat de externe agents verbinding kunnen maken met de server via poort 8154
, voor het geval ze geen verbinding kunnen maken via de standaardpoort HTTP
.
In de continue integratieomgeving van GoCD zijn GoCD-agenten de werknemers die verantwoordelijk zijn voor de uitvoering van alle taken. Wanneer een verandering in de bron wordt gedetecteerd, wordt de pijplijn geactiveerd en worden de taken toegewezen aan de beschikbare werknemers voor uitvoering. De agent voert vervolgens de taak uit en rapporteert de uiteindelijke status na uitvoering.
Om een pijplijn uit te voeren, moet er minimaal één agent zijn geconfigureerd. Ga verder met het installeren van de GoCD-agent op de GoCD-server.
Omdat we de GoCD-repository al op de server hebben geïmporteerd, kunnen we Go Agent direct installeren.
sudo yum install -y go-agent
Start nu de GoCD-server en schakel deze automatisch in tijdens het opstarten.
sudo systemctl start go-agent
sudo systemctl enable go-agent
De GoCD-agent die op de lokale host wordt uitgevoerd, wordt automatisch ingeschakeld wanneer deze wordt gedetecteerd.
Gebruikt u een ander systeem? Introductie CyberPanel is een van de eerste bedieningspanelen op de markt die zowel open source is als OpenLiteSpeed gebruikt. Wat thi
Introductie Sensu is een gratis en open source monitoringoplossing die kan worden gebruikt om server, applicatie en verschillende systeemservices te monitoren. Sensu i
Het gebruik van een sudo-gebruiker om toegang te krijgen tot een server en opdrachten uit te voeren op rootniveau is een veel voorkomende praktijk onder Linux en Unix-systeembeheerder. Het gebruik van een sud
Gebruikt u een ander systeem? RTMP is geweldig voor het weergeven van live inhoud. Wanneer RTMP is gekoppeld aan FFmpeg, kunnen streams worden omgezet in verschillende kwaliteiten. Vultr ik
TaskBoard is een gratis en open source webbeheer voor tijdbeheer. Geïnspireerd door Kanban, kan TaskBoard u helpen bij het bijhouden van dingen die moeten worden gedaan in een
Gebruikt u een ander systeem? Gradle is een gratis en open source toolset voor het automatiseren van builds, gebaseerd op de concepten van Apache Ant en Apache Maven. Gradle biedt
Gebruikt u een ander systeem? In deze handleiding zullen we zien hoe u een FTP-server (ProFTPd) configureert om bestanden over te zetten tussen uw pc en uw server.
Gebruikt u een ander systeem? Netdata is een rijzende ster op het gebied van realtime monitoring van systeemstatistieken. Vergeleken met andere tools van dezelfde soort, Netdata:
Gebruikt u een ander systeem? Apache Cassandra is een gratis en open source NoSQL-databasebeheersysteem dat is ontworpen om schaalbaarheid te bieden
In deze tutorial leer je goed hoe je een Just Cause 2 multiplayer-server opzet. Vereisten Zorg ervoor dat het systeem volledig is bijgewerkt voordat we beginnen
Gebruikt u een ander systeem? In deze tutorial leg ik uit hoe je een Starbound-server instelt op CentOS 7. Vereisten Je moet dit spel op je hebben
ZNC is een gratis en open-source IRC-uitsmijter die permanent verbonden blijft met een netwerk, zodat klanten berichten kunnen ontvangen die worden verzonden terwijl ze offline zijn. Thi
Django is een populair Python-framework voor het schrijven van webapplicaties. Met Django kun je sneller applicaties bouwen, zonder het wiel opnieuw uit te vinden. Als je wilt
MantisBT, of Mantis Bug Tracker, is een open source issue tracker geschreven in PHP. MantisBT is uitgebalanceerd tussen gebruiksgemak en functionaliteit, mits
Gebruikt u een ander systeem? Elgg is een open source engine voor sociaal netwerken waarmee sociale omgevingen kunnen worden gecreëerd, zoals sociale campusnetwerken
Froxlor is een open source, gratis, lichtgewicht en toch krachtig serverbeheerpaneel dat geweldig is voor het opzetten en beheren van webhostingservices. Thi
Gebruikt u een ander systeem? Alfresco Community Edition is een open source-versie van de Alfresco Content Services. Het is geschreven in Java en gebruikt PostgreSQL t
Vtiger CRM is een populaire applicatie voor klantrelatiebeheer die bedrijven kan helpen hun verkoop te laten groeien, klantenservice te bieden en de winst te vergroten. ik
Wat je nodig hebt Een Vultr VPS met minimaal 1 GB RAM. SSH-toegang (met root- / beheerdersrechten). Stap 1: BungeeCord installeren Eerste dingen eerst
MaraDNS is een lichtgewicht maar robuust open source DNS-serverprogramma. Vergeleken met andere applicaties van dezelfde soort, zoals ISC BIND, PowerDNS en djbdns
Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek
ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.
WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+
Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.
Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie
13 Commerciële data-extractietools voor big data
Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true
Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.
Een inzicht in 26 Big Data-analysetechnieken: deel 1
AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.