Installera Plesk på CentOS 7
Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser
GoCD är ett system för kontinuerlig leverans och automatisering med öppen källkod. Det låter dig modellera komplexa arbetsflöden med hjälp av dess parallella och sekventiella exekvering. Dess värdeströmskarta låter dig enkelt visualisera ett komplext arbetsflöde. GoCD låter dig enkelt jämföra två versioner och distribuera vilken version av programmet du vill ha. GoCD-ekosystemet består av GoCD-server och GoCD-agent. GoCD ansvarar för att kontrollera allt som att köra det webbaserade användargränssnittet och hantera och tillhandahålla jobb till agenten. Go-agenter är ansvariga för att köra jobben och implementeringarna.
För den här handledningen kommer vi att använda 192.168.1.1
som den offentliga IP-adressen och gocd.example.com
som domännamnet pekade mot Vultr-instansen. Se till att ersätta alla förekomster av exemplets domännamn och IP-adress med den faktiska.
Uppdatera ditt bassystem med hjälp av guiden Hur man uppdaterar CentOS 7 . När ditt system har uppdaterats, fortsätt att installera Java.
GoCD kräver Java version 8 och stöder både Oracle Java och OpenJDK. I den här handledningen kommer vi att installera Java 8 från OpenJDK.
OpenJDK kan enkelt installeras, eftersom paketet är tillgängligt i standardförrådet YUM
.
sudo yum -y install java-1.8.0-openjdk-devel
Om Java är korrekt installerat kommer du att kunna verifiera dess version.
java -version
Du kommer att få en liknande utdata som följande text.
[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)
Innan vi kan gå vidare måste vi ställa in variablerna JAVA_HOME
och JRE_HOME
miljö. Hitta den absoluta sökvägen för den körbara Java-filen i ditt system.
readlink -f $(which java)
Följande text kommer att matas ut till din terminal.
[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
Nu, ställa in JAVA_HOME
och JRE_HOME
miljövariabler enligt sökvägen till Java-katalogen.
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
Obs: Se till att du använder Java-sökvägen som erhållits på ditt system. Sökvägen som används i denna handledning kan ändras när en ny version av Java 8 släpps.
Kör bash_profile
filen.
source ~/.bash_profile
Nu kan du köra echo $JAVA_HOME
kommandot för att säkerställa att miljövariabeln är inställd.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
GoCD är skrivet i Java, därför är Java det enda beroendet för att köra GoCD. GoCD kan installeras med hjälp av YUM
. Installera dess officiella arkiv i systemet.
sudo curl https://download.gocd.org/gocd.repo -o /etc/yum.repos.d/gocd.repo
Installera GoCD-servern i ditt system.
sudo yum install -y go-server
Starta GoCD och låt den starta automatiskt vid uppstart.
sudo systemctl start go-server
sudo systemctl enable go-server
Innan vi kommer åt GoCD-instrumentpanelen, låt oss skapa en ny katalog för att lagra artefakterna. Artefakter kan lagras på samma disk som operativsystemet och applikationerna är installerade på. Alternativt kan du använda en dedikerad disk eller blocklagringsenhet för att lagra artefakterna.
Om du vill använda samma disk för att lagra artefakterna, skapa bara en ny katalog och ange äganderätten till GoCD-användaren.
sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts
GoCD-programvaran rekommenderar att du använder en extra partition eller enhet för att lagra artefakterna. I en kontinuerlig integrations- och leveransplattform genereras artefakter väldigt ofta. Diskutrymmet minskar med tiden när nya artefakter kontinuerligt genereras. I något skede kommer ditt system att ta slut på ledigt diskutrymme och tjänsterna som körs på ditt system kommer att misslyckas. För att lösa det här problemet kan du bifoga en ny Vultr-blocklagringsenhet för att lagra artefakterna. Om du fortfarande vill lagra artefakter på samma enhet, hoppa till avsnittet "Setup Firewall".
Distribuera en ny blocklagringsenhet och anslut den till din GoCD-serverinstans. Skapa nu en ny partition på blocklagringsenheten.
sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%
Skapa filsystemet på den nya disken.
sudo mkfs.ext4 /dev/vdb1
Montera blocklagringsenheten.
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
Kör nu df
och du kommer att se den nya blocklagringsenheten monterad på /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
Ge GoCD-användaren äganderätten till katalogen.
sudo chown -R go:go /mnt/artifacts
Ändra brandväggskonfigurationen för att tillåta portar 8153
och 8154
genom brandväggen. Port 8153
lyssnar efter osäkra anslutningar och port 8154
för säkrade anslutningar.
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 kan du komma åt GoCD-instrumentpanelen på http://192.168.1.1:8153
. För att komma åt GoCD-instrumentpanelen på en säker anslutning, gå till https://192.168.1.1:8154
. Du kommer att få ett felmeddelande som visar att certifikaten inte är giltiga. Du kan lugnt ignorera felet eftersom certifikaten är självsignerade. Av säkerhetsskäl bör du alltid använda instrumentpanelen över en säker anslutning.
Innan du skapar en ny pipeline, navigera till " Admin >> Server Configuration
" från det övre navigeringsfältet.
Ange webbadressen till din osäkra webbplats i Site URL
fältet " " och säkrad webbplats i Secure Site URL
fältet " ".
Ange sedan din SMTP-serverinformation för att skicka e-postmeddelanden från GoCD.
Ange slutligen sökvägen till platsen där du vill lagra artefakterna. Om du har valt att lagra artefakterna på samma disk som operativsystemet anger du /opt/artifacts
; om du har valt att ansluta en blocklagringsenhet kan du ange /mnt/artifacts
.
Du kan också konfigurera GoCD för att automatiskt ta bort de gamla artefakterna. Konfigurera nästa alternativ enligt din diskstorlek. Alternativet för automatisk radering tar dock inte en säkerhetskopia av dina gamla artefakter. För att manuellt ta en säkerhetskopia och sedan ta bort de gamla artefakterna, inaktivera automatisk radering genom att välja Never
alternativet " Auto delete old artifacts
" för alternativet " ".
Du måste starta om GoCD-servern så att de nya ändringarna tillämpas.
sudo systemctl restart go-server
Som standard är GoCD-instrumentpanelen inte konfigurerad för att använda någon form av autentisering, men den stöder autentisering med hjälp av en lösenordsfil och LDAP. I den här handledningen kommer vi att ställa in lösenordsbaserad autentisering.
Obs : Konfigurera autentisering är ett valfritt steg, men det rekommenderas starkt för offentliga inför servrar, såsom Vultr.
Installera Apache-verktyg så att vi kan använda htpasswd
kommandot för att skapa en krypterad lösenordsfil.
sudo yum -y install httpd-tools
Skapa en lösenordsfil med htpasswd
kommandot med Bcrypt-kryptering.
sudo htpasswd -B -c /etc/go/passwd_auth goadmin
Ange lösenordet för användaren två gånger. Du kommer att se följande utdata.
[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin
Du kan lägga till så många användare som du vill med samma kommando ovan, men genom att ta bort -c
alternativet. Det -c
alternativet kommer att ersätta den befintliga filen, som ersätter gamla användare med den nya användaren.
sudo htpasswd -B /etc/go/passwd_auth gouser1
Sedan har vi skapat lösenordsfilen, gå till GoCD-instrumentpanelen igen. Navigera till " Admin >> Security >> Authorization Configurations
" från det övre navigeringsfältet. Klicka på Add
knappen och ange ett ID. Välj " Password File Authentication Plugin for GoCD
" för plugin-ID och dirigera sökvägen till lösenordsfilen. Klicka nu på Check Connection
knappen " " för att verifiera att GoCD kan använda lösenordsfilen för autentisering.
Slutligen, spara autentiseringsmetoden. Ladda om instrumentpanelen så loggar den automatiskt ut dig. Du kommer att se en inloggningsskärm nu. Logga in med de inloggningsuppgifter som skapats tidigare.
Du måste marknadsföra administratörsanvändaren manuellt, annars kommer alla användare att ha administratörsbehörighet. Navigera till " Admin >> User Summary
" från det övre navigeringsfältet.
Välj nu administratörsanvändaren du har skapat och klicka på Roles
rullgardinsmenyn " ". Befordra användaren till den enda administratören genom att Go System Administrator
markera kryssrutan " ".
För att lägga till användare i GoCD som skapats i lösenordsfilen, klicka på ADD
knappen " " och sök efter användaren för att lägga till dem. Användare läggs också automatiskt till i GoCD-instrumentpanelen vid sin första inloggning. För att användare ska kunna logga in måste de naturligtvis läggas till i lösenordsfilen som vi har skapat tidigare.
Som standard lyssnar GoCD på portar 8153
och 8154
på säkra anslutningar. Även om porten 8154
ger en säker anslutning till applikationen, visar den också webbläsarfel eftersom den använder ett självsignerat certifikat. I det här avsnittet av handledningen kommer vi att installera och säkra Nginx med Let's Encrypt gratis SSL-certifikat. Nginx-webbservern kommer att fungera som en omvänd proxy för att vidarebefordra inkommande förfrågningar till GoCD:s HTTP
slutpunkt.
Installera Nginx.
sudo yum -y install nginx
Starta Nginx och låt den starta automatiskt vid uppstart.
sudo systemctl start nginx
sudo systemctl enable nginx
Installera Certbot, som är klientapplikationen för Let's Encrypt CA.
sudo yum -y install certbot
Before you can request certificates, you will need to allow ports 80
and 443
, or standard HTTP
and HTTPS
services, through the firewall. Also, remove port 8153
, which listens to the unsecured connections.
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
Note: To obtain certificates from Let's Encrypt CA, the domain for which the certificates are to be generated must be pointed towards the server. If not, make the necessary changes to the DNS records of the domain and wait for the DNS to propagate before making the certificate request again. Certbot checks the domain authority before providing the certificates.
Generate the SSL certificates.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d gocd.example.com
The generated certificates are likely to be stored in /etc/letsencrypt/live/gocd.example.com/
. The SSL certificate will be stored as fullchain.pem
and private key will be stored as privkey.pem
.
Let's Encrypt certificates expire in 90 days, so it is recommended to set up auto-renewal of the certificates using cron jobs.
Open the cron job file.
sudo crontab -e
Add the following line to the end of the file.
30 5 * * * /usr/bin/certbot renew --quiet
The above cron job will run every day at 5:30 AM. If the certificate is due for expiry, it will automatically renew.
Now, change the Nginx default configuration file to take out the default_server
line.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Create a new configuration file for the GoCD web interface.
sudo nano /etc/nginx/conf.d/gocd.conf
Populate the 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;
}
}
Check for errors in the new configuration file.
sudo nginx -t
If you see the following output, the configuration is error free.
[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
If you have received some kind of error, make sure to double check the path to the SSL certificates. Restart the Nginx web server to implement the change in configuration.
sudo systemctl restart nginx
Now you can access the GoCD dashboard at https://gocd.example.com
. Log in to your dashboard using the administrator credentials and navigate to "Admin >> Server Configuration
" from the top navigation bar.
Set the "Site URL
" and "Secure Site URL
" to https://gocd.example.com
. Port 8154
still needs to be accessible through the firewall so that the remote agents may connect to the server through port 8154
, in case they are unable to connect through the standard HTTP
port.
In the GoCD continuous integration environment, GoCD agents are the workers that are responsible for the execution of all the tasks. When a change in the source is detected, the pipeline is triggered and the jobs are assigned to the available workers for execution. The agent then executes the task and reports the final status after execution.
To run a pipeline, at least one agent must to be configured. Proceed to install the GoCD agent on the GoCD server.
Since we have already imported the GoCD repository into the server, we can directly install Go Agent.
sudo yum install -y go-agent
Now, start the GoCD server and enable it to automatically start at boot time.
sudo systemctl start go-agent
sudo systemctl enable go-agent
The GoCD agent running on the localhost is automatically enabled when detected.
Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser
Squid är ett populärt, gratis Linux-program som låter dig skapa en webbproxy för vidarebefordran. I den här guiden ser du hur du installerar Squid på CentOS för att förvandla dig
Inledning Lighttpd är en apachegaffel som syftar till att vara mycket mindre resurskrävande. Den är lätt, därav namnet, och är ganska enkel att använda. Installera
VULTR har nyligen gjort ändringar på deras sida, och allt borde nu fungera bra direkt när NetworkManager är aktiverat. Om du vill inaktivera
Icinga2 är ett kraftfullt övervakningssystem, och när det används i en master-klient-modell kan det ersätta behovet av NRPE-baserade övervakningskontroller. Master-klienten
Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög
Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig
Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa
Använder du ett annat system? Mattermost är ett alternativ med öppen källkod, självvärd till meddelandetjänsten Slack SAAS. Med andra ord, med Mattermost, du ca
Vad du behöver En Vultr VPS med minst 1 GB RAM. SSH-åtkomst (med root-/administrativa privilegier). Steg 1: Installera BungeeCord Först till kvarn
Plesks kontrollpanel har en mycket trevlig integration för Lets Encrypt. Lets Encrypt är en av de enda SSL-leverantörerna som ger ut certifikat fullständigt
Lets Encrypt är en certifikatmyndighet dedikerad till att tillhandahålla SSL-certifikat gratis. cPanel har byggt en snygg integration så att du och din klient
Använder du ett annat system? Concrete5 är ett CMS med öppen källkod som erbjuder många distinkta och användbara funktioner för att hjälpa redaktörer att producera innehåll enkelt och
Använder du ett annat system? Review Board är ett gratis och öppen källkodsverktyg för att granska källkod, dokumentation, bilder och många fler. Det är webbaserad mjukvara
I den här guiden lär du dig hur du ställer in HTTP-autentisering för en Nginx-webbserver som körs på CentOS 7. Krav För att komma igång behöver du
YOURLS (Your Own URL Shortener) är ett webbadressförkortnings- och dataanalysprogram med öppen källkod. I den här artikeln kommer vi att täcka installationsprocessen
Använder du ett annat system? Inledning ArangoDB är en NoSQL-databas med öppen källkod med en flexibel datamodell för dokument, grafer och nyckel-värden. Det är
Inledning Katalogen /etc/ spelar en avgörande roll för hur ett Linux-system fungerar. Anledningen till detta är att nästan varje systemkonfiguration
Många systemadministratörer hanterar stora mängder servrar. När filer behöver nås över olika servrar, logga in på var och en individuellt ca
Denna handledning kommer att täcka processen att installera en Half Life 2-spelserver på CentOS 6 System. Steg 1: Installera förutsättningarna För att ställa in ou
Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.
Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.
Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.
Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.
Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...
När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.
Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.
Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.
I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.
Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer