Jak zainstalować i skonfigurować Concourse CI na CentOS 7

Wprowadzenie

Continuous Integration to praktyka programistyczna DevOps, która pozwala programistom często łączyć zmodyfikowany kod z udostępnianym repozytorium wiele razy dziennie. Po każdym scaleniu wykonywane są automatyczne kompilacje i testy w celu wykrycia problemów w kodzie. Umożliwia programistom szybkie znajdowanie i usuwanie błędów w celu poprawy jakości oprogramowania i zapewnienia ciągłego dostarczania oprogramowania. Przełączanie się z Concourse jest bardzo łatwe, ponieważ zachowuje całą konfigurację w plikach deklaratywnych, które można sprawdzić w kontroli wersji. Zapewnia również interfejs użytkownika sieci Web, który wyświetla interaktywnie informacje o kompilacji.

Komponenty hali.
  • ATC jest głównym składnikiem hali. Odpowiada za uruchamianie internetowego interfejsu użytkownika i interfejsu API. Dba również o planowanie wszystkich potoków.
  • TSA to niestandardowy serwer SSH. Jest odpowiedzialny za bezpieczne zarejestrowanie pracownika w ATC.
  • Pracownicy prowadzą ponadto dwie różne usługi:
    1. Garden to środowisko wykonawcze kontenerów i interfejs do zdalnego koordynowania kontenerów na pracowniku.
    2. Baggageclaim to serwer zarządzania pamięcią podręczną i artefaktami.
  • Fly to interfejs wiersza poleceń służący do interakcji z ATC w celu skonfigurowania rurociągów Concourse.

Wymagania wstępne

  • Instancja serwera Vultr CentOS 7.
  • Użytkownik sudo .

Pamiętaj, aby zastąpić wszystkie wystąpienia 192.0.2.1i ci.example.comrzeczywistą adres Vultr publiczny IP i rzeczywistą nazwą domeny.

Zaktualizuj system podstawowy za pomocą przewodnika Jak zaktualizować CentOS 7 . Po zaktualizowaniu systemu przejdź do instalacji PostgreSQL.

Zainstaluj i skonfiguruj bazę danych PostgreSQL

PostgreSQL to obiektowy system relacyjnych baz danych. Concourse przechowuje dane potoku w bazie danych PostgreSQL. Dodaj repozytorium PostgreSQL.

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Zainstaluj serwer bazy danych PostgreSQL.

sudo yum -y install postgresql96-server postgresql96-contrib

Zainicjuj bazę danych.

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

initdbtworzy nowy klaster bazy danych PostgreSQL, który jest zbiorem baz danych zarządzanych przez jedną instancję serwera. Edytuj pg_hba.confplik, aby włączyć uwierzytelnianie oparte na MD5.

sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

Znajdź następujące wiersze i zmień wartości peeroraz identw METHODkolumnie odpowiednio na trusti md5.

# 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

Po aktualizacji konfiguracja powinna wyglądać następująco.

# 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

Uruchom serwer PostgreSQL i włącz go automatycznie podczas uruchamiania.

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

Zmień hasło dla domyślnego użytkownika PostgreSQL.

sudo passwd postgres

Zaloguj się jako użytkownik PostgreSQL:

sudo su - postgres

Utwórz nowego użytkownika PostgreSQL dla Concourse CI.

createuser concourse

Uwaga : Do uwierzytelnienia bazy danych można użyć domyślnego użytkownika PostgreSQL, ale zaleca się użycie dedykowanego użytkownika do uwierzytelnienia bazy danych Concourse w konfiguracji produkcyjnej.

PostgreSQL zapewnia powłokę do uruchamiania zapytań w bazie danych. Przejdź do powłoki PostgreSQL, uruchamiając:

psql

Ustaw hasło dla nowo utworzonego użytkownika bazy danych Concourse.

ALTER USER concourse WITH ENCRYPTED password 'DBPassword';

Ważne : Zamień DBPasswordna silne hasło. Zanotuj hasło, które będzie wymagane w dalszej części samouczka.

Utwórz nową bazę danych dla Concourse.

CREATE DATABASE concourse OWNER concourse;

Wyjdź z psqlmuszli.

\q

Przełącz się na użytkownika sudo od bieżącego użytkownika postgres.

exit

Pobierz i zainstaluj Concourse CI

Pobierz najnowszą wersję pliku wykonywalnego Concourse i zapisz ją, /usr/binaby można ją było wykonać bezpośrednio. Najnowszą wersję plików binarnych Concourse i Fly można znaleźć na stronie pobierania Concourse . Nowe wydania są bardzo częste. Zamień poniższy link na nowy link do najnowszej wersji.

sudo wget https://github.com/concourse/concourse/releases/download/v3.4.1/concourse_linux_amd64 -O /usr/bin/concourse

Podobnie pobierz najnowszą wersję pliku wykonywalnego fly i zapisz ją /usr/bin.

sudo wget https://github.com/concourse/concourse/releases/download/v3.4.1/fly_linux_amd64 -O /usr/bin/fly

Fly to interfejs wiersza poleceń służący do łączenia się z interfejsem API ATC Concourse CI. Fly jest dostępny dla wielu platform, takich jak Linux, Windows i MacOS.

Przypisz uprawnienie do pobierania concoursei flyplików binarnych.

sudo chmod +x /usr/bin/concourse /usr/bin/fly

Sprawdź, czy Concourse i Fly działają poprawnie, sprawdzając ich wersję.

concourse -version
fly -version

Generuj i konfiguruj klucze RSA

Pary kluczy RSA umożliwiają szyfrowanie komunikacji między komponentami Concourse.

Aby Concourse działał, muszą zostać wygenerowane co najmniej trzy pary kluczy. Aby zaszyfrować dane sesji, wygeneruj session_signing_key. Ten klucz będzie również używany przez TSA do podpisywania żądań kierowanych do ATC. Aby zabezpieczyć serwer SSA TSA, wygeneruj tsa_host_key. Na koniec wygeneruj worker_keydla każdego pracownika.

Utwórz nowy katalog do przechowywania kluczy i konfiguracji związanych z Concourse CI.

sudo mkdir /opt/concourse

Wygeneruj wymagane klucze.

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

Autoryzuj klucz publiczny pracowników, kopiując jego zawartość do authorized_worker_keyspliku:

sudo cp /opt/concourse/worker_key.pub /opt/concourse/authorized_worker_keys

Rozpoczęcie hali

Concourse zapewnia dwa oddzielne komponenty, które należy uruchomić, sieć i pracownika. Uruchom sieć Concourse.

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

W basic-authrazie potrzeby zmień nazwę użytkownika i hasło . Upewnij się, że ścieżka do plików kluczy jest poprawna i upewnij się, że podana jest poprawna wartość nazwy użytkownika i hasła w konfiguracji bazy danych PostgreSQL.

Uwaga : ATC nasłuchuje na domyślnym porcie, 8080a TSA nasłuchuje na porcie 2222. Jeśli uwierzytelnianie nie jest wymagane, przekaż tę --no-really-i-dont-want-any-authopcję po usunięciu podstawowych opcji uwierzytelniania.

Po uruchomieniu serwera WWW powinny zostać wyświetlone następujące dane wyjściowe.

{"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"}}

Na razie zatrzymaj serwer, ponieważ jeszcze kilka rzeczy musi zostać skonfigurowanych.

Uruchom Robotnika Concourse CI.

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

Powyższe polecenie zakłada, że ​​TSA działa na localhost i nasłuchuje na domyślnym porcie 2222.

Chociaż sieć i proces roboczy Concourse można łatwo uruchomić za pomocą powyższych poleceń, zaleca się używanie Systemd do zarządzania serwerem.

Skonfiguruj środowisko i usługę systemową

Użycie usługi Systemd do zarządzania aplikacją zapewnia automatyczne uruchamianie aplikacji w przypadku awarii i podczas rozruchu. Serwer Concourse nie pobiera danych z żadnego pliku konfiguracyjnego, ale może uzyskać dostęp do danych ze zmiennych środowiskowych. Zamiast ustawiać globalne zmienne środowiskowe, utwórz nowy plik do przechowywania zmiennych środowiskowych, a następnie przekaż zmienne do Concourse CI za pomocą usługi Systemd.

Utwórz nowy plik środowiska dla strony Concourse.

sudo nano /opt/concourse/web.env

Wypełnij plik.

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

W BASIC_AUTHrazie potrzeby zmień nazwę użytkownika i hasło . Upewnij się, że ścieżka do plików kluczy jest poprawna i upewnij się, że podana jest poprawna wartość nazwy użytkownika i hasła w konfiguracji bazy danych PostgreSQL.

Podobnie utwórz plik środowiska dla pracownika.

sudo nano /opt/concourse/worker.env

Wypełnij plik.

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

Ponieważ pliki środowiska zawierają nazwę użytkownika i hasło, zmień jego uprawnienia, aby inni użytkownicy nie mogli uzyskać do nich dostępu.

sudo chmod 600 /opt/concourse/*.env

Teraz utwórz nowego użytkownika dla Concourse, aby uruchomić środowisko sieciowe. Zapewni to działanie serwera WWW w izolowanym środowisku.

sudo adduser --system concourse

Przekaż własność użytkownika concourse nad katalogiem pliku CI Concourse.

sudo chown -R concourse:concourse /opt/concourse

Utwórz nowy plik usługi systemowej dla usługi internetowej Concourse.

sudo nano /etc/systemd/system/concourse-web.service

Wypełnij plik.

[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

Zapisz i zamknij plik. Utwórz nowy plik usługi dla usługi pracownika Concourse.

sudo nano /etc/systemd/system/concourse-worker.service

Wypełnij plik.

[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

Serwis internetowy i roboczy można teraz uruchomić bezpośrednio, uruchamiając:

sudo systemctl start concourse-web concourse-worker

Aby umożliwić procesowi roboczemu i procesowi internetowemu automatyczne uruchamianie się podczas uruchamiania, uruchom:

sudo systemctl enable concourse-worker concourse-web

Aby sprawdzić status usług, uruchom:

sudo systemctl status concourse-worker concourse-web

Jeśli usługa nie została uruchomiona lub jest w FAILEDstanie, usuń pamięć podręczną z /tmpkatalogu.

sudo rm -rf /tmp/*

Uruchom ponownie usługi.

sudo systemctl restart concourse-worker concourse-web

Zauważ, że tym razem usługi zostały uruchomione poprawnie. Dane wyjściowe po zweryfikowaniu statusu usług powinny być podobne.

[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.

Dostosuj zaporę, aby zezwalała na port 8080, na którym działa ATS, i port 2222, na którym działa TSA.

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent
sudo firewall-cmd --reload

Łączenie z serwerem

Po uruchomieniu serwera można uzyskać dostęp do interfejsu internetowego Concourse CI, przechodząc do http://192.0.2.1:8080dowolnej przeglądarki. Zaloguj się przy użyciu nazwy użytkownika i hasła podanych w pliku środowiska.

Aby połączyć się z serwerem za pomocą Fly, uruchom:

fly -t my-ci login -c http://192.0.2.1:8080

Powyższe polecenie służy do początkowego logowania do serwera. -tsłuży do podania nazwy docelowej. zastąp my-cidowolną żądaną nazwą docelową. Powyższe polecenie zaloguje się do domyślnego zespołu main. Poprosi o nazwę użytkownika i hasło podane w pliku środowiska.

Dane wyjściowe będą wyglądać następująco.

[user@vultr ~]$ fly -t my-ci login -c http://192.0.2.1:8080
logging in to team 'main'

username: admin
password:

target saved

Docelowy login zostanie zapisany na jeden dzień. Po tym wygasa.

Aby natychmiast się wylogować.

fly -t my-ci logout

fly może być używany do logowania się na serwerze poza siecią, ale tylko wtedy, gdy serwer ma publiczny adres IP i jest dostępny z zewnątrz sieci. Pliki binarne dla systemu Windows lub MacOS można pobrać z witryny pobierania lub z internetowego interfejsu użytkownika serwera.

Konfigurowanie odwrotnego serwera proxy Nginx

Loginy i inne informacje przesyłane przez interfejs użytkownika do serwera Concourse nie są zabezpieczone. Połączenie nie jest szyfrowane. Odwrotny serwer proxy Nginx można skonfigurować za pomocą bezpłatnego SSL Let's Encrypt.

Zainstaluj serwer WWW Nginx i Certbot, czyli aplikację kliencką dla Let's Encrypt CA.

sudo yum -y install certbot-nginx nginx

Uruchom i włącz Nginx, aby automatycznie uruchamiał się podczas uruchamiania:

sudo systemctl start nginx
sudo systemctl enable nginx

Przed wysłaniem żądania certyfikatów port zaporowy musi włączyć port 80 i 443 lub standardowe usługi HTTP i HTTPS. Certbot sprawdzi urząd domeny przed wydaniem certyfikatów.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent

Port 8080 nie musi już być dopuszczany przez zaporę, ponieważ Concourse będzie teraz działać na standardowym porcie HTTPS. Usuń pozycję zapory, aby zezwolić na port 8080.

sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --reload

Uwaga

Aby uzyskać certyfikaty z Let's Encrypt CA, domena, dla której mają być generowane certyfikaty, musi być skierowana w stronę serwera. Jeśli nie, dokonaj niezbędnych zmian w rekordach DNS domeny i poczekaj na propagację DNS przed ponownym żądaniem certyfikatu. Certbot sprawdza urząd domeny przed podaniem certyfikatów.

Wygeneruj certyfikaty SSL.

sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com

Wygenerowane certyfikaty prawdopodobnie będą przechowywane w /etc/letsencrypt/live/ci.example.com/katalogu. Certyfikat SSL będzie przechowywany jako, fullchain.pema klucz prywatny będzie przechowywany jako privkey.pem.

Ważność certyfikatów Let's Encrypt wygasa za 90 dni, dlatego zaleca się automatyczne odnawianie certyfikatów za pomocą cronjobs. Cron to usługa systemowa służąca do wykonywania zadań okresowych.

Otwórz plik zadania cron.

sudo crontab -e

Dodaj następujący wiersz na końcu pliku.

30 5 * * 1 /usr/bin/certbot renew --quiet

Powyższe zadanie crona będzie uruchamiane w każdy poniedziałek o 5:30. Jeśli termin ważności certyfikatu upływa, zostanie on automatycznie odnowiony.

Utwórz nowy wirtualny host.

sudo nano /etc/nginx/conf.d/concourse-ssl.conf

Wypełnij plik.

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;
    }
  }

Uwaga : Zamień ci.example.comna rzeczywistą domenę.

Edytuj plik środowiska utworzony dla sieci concourse.

sudo nano /opt/concourse/web.env

Zmień wartość, CONCOURSE_EXTERNAL_URLa także dodaj jeszcze dwa wiersze na końcu pliku.

CONCOURSE_EXTERNAL_URL=https://ci.example.com
CONCOURSE_BIND_IP=127.0.0.1
CONCOURSE_BIND_PORT=8080

Zapisz plik i uruchom ponownie serwer internetowy Concourse Web, Worker i Nginx:

sudo systemctl restart concourse-worker concourse-web nginx

Wszystkie dane wysyłane do i z przeglądarki są teraz zabezpieczone szyfrowaniem SSL.



Leave a Comment

Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS

Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS

Używasz innego systemu? Anchor CMS to bardzo prosty i niezwykle lekki, darmowy i otwarty system zarządzania treścią (CMS) Blog Engine, który

Jak zaktualizować CentOS 7, Ubuntu 16.04 i Debian 8

Jak zaktualizować CentOS 7, Ubuntu 16.04 i Debian 8

Podczas konfigurowania nowego serwera Linux zaleca się aktualizację jądra systemu i innych pakietów do najnowszej stabilnej wersji. W tym artykule

Skonfiguruj klaster RethinkDB w CentOS 7

Skonfiguruj klaster RethinkDB w CentOS 7

Wprowadzenie RethinkDB to baza danych NoSQL, która przechowuje dane jako dokumenty JSON. Ma bardzo intuicyjny język zapytań i funkcje powszechnie dostępne

Skonfiguruj Magento na CentOS 6

Skonfiguruj Magento na CentOS 6

Niezależnie od tego, czy chcesz umieścić zapasy sklepów online, czy po prostu prosty sklep z akcesoriami technicznymi, Magento jest doskonałym rozwiązaniem dla eCommerce online. Ten artykuł

Jak zainstalować i skonfigurować OrientDB Community Edition na CentOS 7

Jak zainstalować i skonfigurować OrientDB Community Edition na CentOS 7

OrientDB to wielomodowy model open source NoSQL DBMS nowej generacji. Dzięki obsłudze wielu modeli danych, OrientDB może zapewnić większą funkcjonalność i elastyczność

Jak zainstalować Neos CMS na CentOS 7

Jak zainstalować Neos CMS na CentOS 7

Neos to innowacyjny system zarządzania treścią typu open source, który doskonale nadaje się do tworzenia i edytowania treści online. Z myślą o autorach i redaktorach, Neo

Jak zainstalować Vtiger CRM Open Source Edition na CentOS 7

Jak zainstalować Vtiger CRM Open Source Edition na CentOS 7

Vtiger CRM to popularna aplikacja do zarządzania relacjami z klientami, która może pomóc przedsiębiorstwom zwiększyć sprzedaż, zapewnić obsługę klienta i zwiększyć zyski. ja

Jak zainstalować MaraDNS na CentOS 6

Jak zainstalować MaraDNS na CentOS 6

MaraDNS to lekki, ale solidny program serwera DNS typu open source. W porównaniu z innymi aplikacjami tego samego rodzaju, takimi jak ISC BIND, PowerDNS i djbdns

Instalowanie Netdata na CentOS 7

Instalowanie Netdata na CentOS 7

Używasz innego systemu? Netdata jest wschodzącą gwiazdą w dziedzinie monitorowania wskaźników systemowych w czasie rzeczywistym. W porównaniu z innymi narzędziami tego samego rodzaju, Netdata:

Jak zainstalować Starbound Server na CentOS 7

Jak zainstalować Starbound Server na CentOS 7

Używasz innego systemu? W tym samouczku wyjaśnię, jak skonfigurować serwer Starbound na CentOS 7. Wymagania wstępne Musisz mieć tę grę na sobie

Clustering RabbitMQ na CentOS 7

Clustering RabbitMQ na CentOS 7

RabbitMQ to broker komunikatów typu open source, który obsługuje AMQP, STOMP i inne technologie komunikacyjne. Jest szeroko stosowany w aplikacjach dla przedsiębiorstw

Skonfiguruj SA-MP San Andreas Multiplayer Server na CentOS 6

Skonfiguruj SA-MP San Andreas Multiplayer Server na CentOS 6

Witamy w innym samouczku Vultr. Tutaj dowiesz się, jak zainstalować i uruchomić serwer SAMP. Ten przewodnik został napisany dla CentOS 6. Wymagania wstępne Będziesz potrzebował

Zainstaluj Elgg na CentOS 7

Zainstaluj Elgg na CentOS 7

Używasz innego systemu? Elgg to silnik sieci społecznościowych typu open source, który umożliwia tworzenie środowisk społecznościowych, takich jak kampusowe sieci społecznościowe

Jak zainstalować serwer RStudio na CentOS 7

Jak zainstalować serwer RStudio na CentOS 7

RStudio Server to internetowa wersja RStudio, która jest serią narzędzi zaprojektowanych w celu ułatwienia kodowania przy użyciu języka programowania R. W thi

Instalowanie Bolt CMS na CentOS 7

Instalowanie Bolt CMS na CentOS 7

Bolt to open source CMS napisany w PHP. Kod źródłowy Bolts jest hostowany na GitHub. Ten przewodnik pokaże Ci, jak zainstalować Bolt CMS na nowym CentOS 7 Vult

Jak zainstalować Elasticsearch na instancji serwera Vultr CentOS 7

Jak zainstalować Elasticsearch na instancji serwera Vultr CentOS 7

Elasticsearch to popularny wyszukiwarka pełnotekstowa i silnik analityczny typu open source. Dzięki swojej wszechstronności, skalowalności i łatwości użytkowania, Elasticsearch jest szeroko rozpowszechniony

Wdróż Kubernetes za pomocą Kubeadm na CentOS 7

Wdróż Kubernetes za pomocą Kubeadm na CentOS 7

Omówienie Ten artykuł ma na celu pomóc ci w szybkim uruchomieniu klastra Kubernetes z kubeadm. W tym przewodniku zostaną wdrożone dwa serwery

Sails.js należy skonfigurować do programowania w CentOS 7

Sails.js należy skonfigurować do programowania w CentOS 7

Używasz innego systemu? Wprowadzenie Sails.js to framework MVC dla Node.js, podobny do Ruby on Rails. Umożliwia tworzenie nowoczesnych aplikacji wer

Jak zainstalować PufferPanel (bezpłatny panel sterowania Minecraft) na CentOS 7

Jak zainstalować PufferPanel (bezpłatny panel sterowania Minecraft) na CentOS 7

Wprowadzenie W tym samouczku zainstaluj PufferPanel na naszym Vultr VPS. PufferPanel to otwarty, darmowy panel kontrolny do zarządzania tobą

Lepsze narzędzia monitorowania dla Ubuntu i CentOS

Lepsze narzędzia monitorowania dla Ubuntu i CentOS

Wprowadzenie Systemy Linux są domyślnie dostarczane z narzędziami do monitorowania, takimi jak top, df i du, które pomagają monitorować procesy i miejsce na dysku. Często jednak są

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.