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
Continuous Integration är en DevOps mjukvaruutvecklingspraxis som gör det möjligt för utvecklarna att ofta slå samman den modifierade koden till det delade arkivet många gånger om dagen. Efter varje sammanslagning utförs automatiska builds och tester för att upptäcka problem i koden. Det gör det möjligt för utvecklarna att hitta och lösa felen snabbt för att förbättra mjukvarans kvalitet och ge kontinuerlig leverans av programvaran. Att byta fram och tillbaka från Concourse är mycket enkelt eftersom det behåller all sin konfiguration i deklarativa filer som kan kontrolleras i versionskontroll. Det tillhandahåller också ett webbanvändargränssnitt som visar bygginformationen interaktivt.
Se till att ersätta alla förekomster av 192.0.2.1
och ci.example.com
med din faktiska Vultr offentliga IP-adress och faktiska domännamn.
Uppdatera ditt bassystem med hjälp av guiden Hur man uppdaterar CentOS 7 . När ditt system har uppdaterats, fortsätt att installera PostgreSQL.
PostgreSQL är ett relationsdatabassystem för objekt. Concourse lagrar sina pipelinedata i en PostgreSQL-databas. Lägg till PostgreSQL-förvaret.
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Installera PostgreSQL-databasservern.
sudo yum -y install postgresql96-server postgresql96-contrib
Initiera databasen.
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
initdb
skapar ett nytt PostgreSQL-databaskluster, som är en samling databaser som hanteras av en enda serverinstans. Redigera pg_hba.conf
filen för att aktivera MD5-baserad autentisering.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Hitta följande rader och ändra värden peer
och ident
i METHOD
kolumnen till trust
och md5
, respektive.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
När den väl har uppdaterats bör konfigurationen se ut så här.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Starta PostgreSQL-servern och låt den starta automatiskt vid uppstart.
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
Ändra lösenordet för standardpostgreSQL-användaren.
sudo passwd postgres
Logga in som PostgreSQL-användare:
sudo su - postgres
Skapa en ny PostgreSQL-användare för Concourse CI.
createuser concourse
Obs : StandardpostgreSQL-användaren kan användas för autentisering av databasen, men det rekommenderas att använda en dedikerad användare för autentisering av Concourse-databasen i en produktionsuppsättning.
PostgreSQL tillhandahåller ett skal för att köra frågor på databasen. Växla till PostgreSQL-skalet genom att köra:
psql
Ställ in ett lösenord för den nyskapade Concourse-databasanvändaren.
ALTER USER concourse WITH ENCRYPTED password 'DBPassword';
Viktigt : Ersätt DBPassword
med ett starkt lösenord. Anteckna lösenordet eftersom det kommer att krävas senare i handledningen.
Skapa en ny databas för Concourse.
CREATE DATABASE concourse OWNER concourse;
Gå ur psql
skalet.
\q
Växla till sudo-användaren från nuvarande postgres-användare.
exit
Ladda ner den senaste versionen av Concourse körbar och lagra den /usr/bin
så att den kan köras direkt. Den senaste versionen av Concourse och Fly binärer finns på Concourse nedladdningssida . Nya släpp är mycket frekventa. Ersätt länken nedan med den nya länken för den senaste versionen.
sudo wget https://github.com/concourse/concourse/releases/download/v3.4.1/concourse_linux_amd64 -O /usr/bin/concourse
På samma sätt laddar du ner den senaste versionen av den körbara flygfilen och lagrar den i /usr/bin
.
sudo wget https://github.com/concourse/concourse/releases/download/v3.4.1/fly_linux_amd64 -O /usr/bin/fly
Fly är kommandoradsgränssnittet för att ansluta till ATC API för Concourse CI. Fly är tillgängligt för flera plattformar som Linux, Windows och MacOS.
Tilldela exekveringsbehörighet till de nedladdade concourse
och fly
binära filerna.
sudo chmod +x /usr/bin/concourse /usr/bin/fly
Kontrollera om Concourse och Fly fungerar korrekt genom att kontrollera deras version.
concourse -version
fly -version
RSA-nyckelpar ger ett sätt att kryptera kommunikationen mellan komponenterna i Concourse.
För att Concourse ska fungera måste minst tre par nycklar genereras. För att kryptera sessionsdata, generera en session_signing_key
. Denna nyckel kommer också att användas av TSA för att signera de förfrågningar den gör till ATC. För att säkra TSA SSH-servern, generera en tsa_host_key
. Till sist, generera en worker_key
för varje arbetare.
Skapa en ny katalog för att lagra nycklar och konfiguration relaterade till Concourse CI.
sudo mkdir /opt/concourse
Skapa de nödvändiga nycklarna.
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/session_signing_key
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/tsa_host_key
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/worker_key
Auktorisera arbetarnas publika nyckel genom att kopiera dess innehåll till authorized_worker_keys
filen:
sudo cp /opt/concourse/worker_key.pub /opt/concourse/authorized_worker_keys
Concourse tillhandahåller två separata komponenter som måste startas, webben och arbetaren. Starta Concourse-webben.
sudo concourse web \
--basic-auth-username admin \
--basic-auth-password StrongPass \
--session-signing-key /opt/concourse/session_signing_key \
--tsa-host-key /opt/concourse/tsa_host_key \
--tsa-authorized-keys /opt/concourse/authorized_worker_keys \
--postgres-user=concourse \
--postgres-password=DBPassword \
--postgres-database=concourse \
--external-url http://192.0.2.1:8080
Ändra användarnamn och lösenord för den basic-auth
om så önskas. Se till att sökvägen till nyckelfilerna är korrekt och se till att rätt värde för användarnamn och lösenord i PostgreSQL-databaskonfigurationen tillhandahålls.
Obs : ATC lyssnar på standardporten 8080
och TSA lyssnar på porten 2222
. Om autentisering inte önskas, skicka --no-really-i-dont-want-any-auth
alternativet efter att du har tagit bort de grundläggande autentiseringsalternativen.
När webbservern har startat ska följande utdata visas.
{"timestamp":"1503657859.661247969","source":"tsa","message":"tsa.listening","log_level":1,"data":{}}
{"timestamp":"1503657859.666907549","source":"atc","message":"atc.listening","log_level":1,"data":{"debug":"127.0.0.1:8079","http":"0.0.0.0:8080"}}
Stoppa servern för nu, eftersom några fler saker fortfarande måste ställas in.
Starta Concourse CI Worker.
sudo concourse worker \
--work-dir /opt/concourse/worker \
--tsa-host 127.0.0.1 \
--tsa-public-key /opt/concourse/tsa_host_key.pub \
--tsa-worker-private-key /opt/concourse/worker_key
Ovanstående kommando förutsätter att TSA körs på localhost och lyssnar på standardporten 2222
.
Även om Concourse webb och worker enkelt kan startas med kommandona ovan, rekommenderas det att använda Systemd för att hantera servern.
Att använda Systemd-tjänsten för att hantera programmet säkerställer att programmet startas automatiskt vid fel och vid uppstart. Concourse-servern tar inte data från någon konfigurationsfil, men den kan komma åt data från miljövariabler. Istället för att ställa in globala miljövariabler, skapa en ny fil för att lagra miljövariablerna och skicka sedan variablerna till Concourse CI med hjälp av Systemd-tjänsten.
Skapa en ny miljöfil för Concourse web.
sudo nano /opt/concourse/web.env
Fyll i filen.
CONCOURSE_SESSION_SIGNING_KEY=/opt/concourse/session_signing_key
CONCOURSE_TSA_HOST_KEY=/opt/concourse/tsa_host_key
CONCOURSE_TSA_AUTHORIZED_KEYS=/opt/concourse/authorized_worker_keys
CONCOURSE_POSTGRES_USER=concourse
CONCOURSE_POSTGRES_PASSWORD=DBPassword
CONCOURSE_POSTGRES_DATABASE=concourse
CONCOURSE_BASIC_AUTH_USERNAME=admin
CONCOURSE_BASIC_AUTH_PASSWORD=StrongPass
CONCOURSE_EXTERNAL_URL=http://192.0.2.1:8080
Ändra användarnamn och lösenord för den BASIC_AUTH
om så önskas. Se till att sökvägen till nyckelfilerna är korrekt och se till att rätt värde för användarnamn och lösenord i PostgreSQL-databaskonfigurationen tillhandahålls.
Skapa på samma sätt en miljöfil för arbetaren.
sudo nano /opt/concourse/worker.env
Fyll i filen.
CONCOURSE_WORK_DIR=/opt/concourse/worker
CONCOURSE_TSA_WORKER_PRIVATE_KEY=/opt/concourse/worker_key
CONCOURSE_TSA_PUBLIC_KEY=/opt/concourse/tsa_host_key.pub
CONCOURSE_TSA_HOST=127.0.0.1
Eftersom miljöfilerna innehåller användarnamn och lösenord, ändra dess behörigheter så att de inte kan nås av andra användare.
sudo chmod 600 /opt/concourse/*.env
Skapa nu en ny användare för Concourse för att köra webbmiljön. Detta kommer att säkerställa att webbservern körs i en isolerad miljö.
sudo adduser --system concourse
Ge Concourse-användaren äganderätt över Concourse CI-filens katalog.
sudo chown -R concourse:concourse /opt/concourse
Skapa en ny systemd servicefil för Concourse webbtjänst.
sudo nano /etc/systemd/system/concourse-web.service
Fyll i filen.
[Unit]
Description=Concourse CI web server
After=postgresql-9.6.service
[Service]
Type=simple
User=concourse
Group=concourse
Restart=on-failure
EnvironmentFile=/opt/concourse/web.env
ExecStart=/usr/bin/concourse web
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=concourse_web
[Install]
WantedBy=multi-user.target
Spara och stäng filen. Skapa en ny tjänstefil för Concourse worker-tjänsten.
sudo nano /etc/systemd/system/concourse-worker.service
Fyll i filen.
[Unit]
Description=Concourse CI worker process
After=concourse-web.service
[Service]
Type=simple
User=root
Group=root
Restart=on-failure
EnvironmentFile=/opt/concourse/worker.env
ExecStart=/usr/bin/concourse worker
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=concourse_worker
[Install]
WantedBy=multi-user.target
Webb- och arbetartjänsten kan nu startas direkt genom att köra:
sudo systemctl start concourse-web concourse-worker
För att aktivera arbets- och webbprocessen att starta automatiskt vid uppstart, kör:
sudo systemctl enable concourse-worker concourse-web
För att kontrollera status för tjänster, kör:
sudo systemctl status concourse-worker concourse-web
Om tjänsten inte startas, eller i FAILED
tillståndet, ta bort cachen från /tmp
katalogen.
sudo rm -rf /tmp/*
Starta om tjänsterna.
sudo systemctl restart concourse-worker concourse-web
Observera att den här gången har tjänsterna startat korrekt. Resultatet vid verifiering av tjänsternas status bör vara liknande.
[user@vultr ~]$ sudo systemctl status concourse-worker concourse-web
● concourse-worker.service - Concourse CI worker process
Loaded: loaded (/etc/systemd/system/concourse-worker.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2017-08-26 07:27:37 UTC; 55s ago
Main PID: 3037 (concourse)
CGroup: /system.slice/concourse-worker.service
└─3037 /usr/bin/concourse worker
Aug 26 07:27:42 vultr.guest concourse_worker[3037]: {"timestamp":"1503732462.934722900","source":"tsa","message":"t...""}}
Aug 26 07:27:42 vultr.guest concourse_worker[3037]: {"timestamp":"1503732462.941227913","source":"guardian","messag...0"}}
...
● concourse-web.service - Concourse CI web server
Loaded: loaded (/etc/systemd/system/concourse-web.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2017-08-26 07:27:37 UTC; 55s ago
Main PID: 3036 (concourse)
CGroup: /system.slice/concourse-web.service
└─3036 /usr/bin/concourse web
Aug 26 07:27:57 vultr.guest concourse_web[3036]: {"timestamp":"1503732477.925554752","source":"tsa","message":"tsa...ve"}}
Aug 26 07:28:02 vultr.guest concourse_web[3036]: {"timestamp":"1503732482.925430775","source":"tsa","message":"tsa...ve"}}
...
Hint: Some lines were ellipsized, use -l to show in full.
Justera din brandvägg för att tillåta port 8080, där ATS körs och port 2222, där TSA körs.
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent
sudo firewall-cmd --reload
När servern väl har startat kan webbgränssnittet för Concourse CI nås genom att gå till http://192.0.2.1:8080
i vilken webbläsare som helst. Logga in med det användarnamn och lösenord som finns i miljöfilen.
För att ansluta till servern med Fly, kör:
fly -t my-ci login -c http://192.0.2.1:8080
Kommandot ovan används för första inloggning till servern. -t
används för att ange ett målnamn. ersätt my-ci
med valfritt målnamn. Ovanstående kommando kommer att logga in på standardteamet main
. Det kommer att fråga efter användarnamnet och lösenordet som finns i miljöfilen.
Utgången kommer att se ut som följande.
[user@vultr ~]$ fly -t my-ci login -c http://192.0.2.1:8080
logging in to team 'main'
username: admin
password:
target saved
Målinloggningen sparas i en dag. Efter det kommer den att löpa ut.
Att logga ut omedelbart.
fly -t my-ci logout
fly kan användas för att logga in på servern utanför nätverket, men bara om servern har en offentlig IP-adress och den är tillgänglig utanför nätverket. Windows- eller MacOS-binären kan laddas ner från nedladdningssidan eller från serverns webbgränssnitt.
Inloggningar och annan information som skickas via webbgränssnittet till Concourse-servern är inte säkrad. Anslutningen är inte krypterad. En Nginx omvänd proxy kan ställas in med en Let's Encrypt gratis SSL.
Installera Nginx-webbservern och Certbot, som är klientapplikationen för Let's Encrypt CA.
sudo yum -y install certbot-nginx nginx
Starta och aktivera Nginx för att automatiskt starta vid uppstart:
sudo systemctl start nginx
sudo systemctl enable nginx
Innan en begäran kan göras för certifikaten måste port 80 och 443, eller standard HTTP- och HTTPS-tjänster, aktiveras via brandväggen. Certbot kommer att kontrollera domänmyndigheten innan certifikat utfärdas.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
Port 8080 behöver inte längre tillåtas genom brandväggen eftersom Concourse nu kommer att köras på standard HTTPS-porten. Ta bort brandväggsposten för att tillåta port 8080.
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --reload
Notera
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.
Generera SSL-certifikaten.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com
De genererade certifikaten kommer sannolikt att lagras i /etc/letsencrypt/live/ci.example.com/
katalogen. SSL-certifikatet kommer att lagras som fullchain.pem
och den privata nyckeln kommer att lagras som privkey.pem
.
Låt oss kryptera certifikat går ut om 90 dagar, så det rekommenderas att automatisk förnyelse för certifikaten ställs in med cronjobs. Cron är en systemtjänst som används för att köra periodiska uppgifter.
Öppna cron-jobbfilen.
sudo crontab -e
Lägg till följande rad i slutet av filen.
30 5 * * 1 /usr/bin/certbot renew --quiet
Ovanstående cron-jobb kommer att köras varje måndag kl. 05.30. Om certifikatet löper ut kommer det automatiskt att förnyas.
Skapa en ny virtuell värd.
sudo nano /etc/nginx/conf.d/concourse-ssl.conf
Fyll i filen.
server {
listen 80;
server_name ci.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name ci.example.com;
ssl_certificate /etc/letsencrypt/live/ci.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ci.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/concourse.access.log;
location / {
proxy_set_header Host $host;
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 $scheme;
proxy_pass http://localhost:8080;
proxy_read_timeout 90;
proxy_redirect http://localhost:8080 https://ci.example.com;
}
}
Obs : Ersätt ci.example.com
med den faktiska domänen.
Redigera miljöfilen som skapats för concourse Web.
sudo nano /opt/concourse/web.env
Ändra värdet på CONCOURSE_EXTERNAL_URL
och lägg till ytterligare två rader i slutet av filen.
CONCOURSE_EXTERNAL_URL=https://ci.example.com
CONCOURSE_BIND_IP=127.0.0.1
CONCOURSE_BIND_PORT=8080
Spara filen och starta om Concourse Web, Worker och Nginx webbserver:
sudo systemctl restart concourse-worker concourse-web nginx
All data som skickas till och från webbläsaren är nu säkrad med SSL-krypteringar.
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