Како инсталирати и конфигурисати Цонцоурсе ЦИ на ЦентОС 7

Увод

Континуирана интеграција је ДевОпс пракса развоја софтвера која омогућава програмерима да често спајају модификовани код у заједничко складиште много пута дневно. Након сваког спајања, изводе се аутоматске израде и тестови да би се открили проблеми у коду. Омогућава програмерима да брзо пронађу и отклоне грешке како би побољшали квалитет софтвера и обезбедили континуирану испоруку софтвера. Пребацивање са Цонцоурсе-а на и назад је веома једноставно јер сву своју конфигурацију чува у декларативним датотекама које се могу проверити у контроли верзија. Такође обезбеђује веб кориснички интерфејс који интерактивно приказује информације о изградњи.

Цонцоурсе Цомпонентс.
  • АТЦ је главна компонента Цонцоурса. Одговоран је за покретање веб корисничког интерфејса и АПИ-ја. Такође се брине о целокупном распореду цевовода.
  • ТСА је прилагођени ССХ сервер. Одговоран је за безбедну регистрацију радника у АТЦ-у.
  • Радници даље воде две различите услуге:
    1. Гарден је време извођења контејнера и интерфејс за даљинско оркестрирање контејнера на раднику.
    2. Баггагецлаим је сервер за управљање кешом и артефактима.
  • Фли је интерфејс командне линије који се користи за интеракцију са АТЦ-ом за конфигурисање Цонцоурсе Пипелинеа.

Предуслови

Обавезно замените сва појављивања 192.0.2.1и ci.example.comса својом стварном Вултр јавном ИП адресом и стварним именом домена.

Ажурирајте свој основни систем помоћу водича Како да ажурирате ЦентОС 7 . Када је ваш систем ажуриран, наставите да инсталирате ПостгреСКЛ.

Инсталирајте и конфигуришите ПостгреСКЛ базу података

ПостгреСКЛ је објектно релациони систем базе података. Цонцоурсе складишти своје податке цевовода у ПостгреСКЛ базу података. Додајте ПостгреСКЛ спремиште.

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

Инсталирајте ПостгреСКЛ сервер базе података.

sudo yum -y install postgresql96-server postgresql96-contrib

Иницијализујте базу података.

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

initdbкреира нови кластер ПостгреСКЛ базе података, који је колекција база података којима управља једна инстанца сервера. Уредите pg_hba.confдатотеку да бисте омогућили аутентификацију засновану на МД5.

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

Пронађите следеће редове и промените вредности peerи identу METHODколони у trustи 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

Након ажурирања, конфигурација би требало да изгледа овако.

# 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

Покрените ПостгреСКЛ сервер и омогућите му да се аутоматски покреће при покретању.

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

Промените лозинку за подразумеваног корисника ПостгреСКЛ.

sudo passwd postgres

Пријавите се као ПостгреСКЛ корисник:

sudo su - postgres

Креирајте новог ПостгреСКЛ корисника за Цонцоурсе ЦИ.

createuser concourse

Напомена : Подразумевани ПостгреСКЛ корисник се може користити за аутентификацију базе података, али се препоручује коришћење наменског корисника за аутентификацију Цонцоурсе базе података у производном подешавању.

ПостгреСКЛ обезбеђује љуску за покретање упита у бази података. Пребаците се на ПостгреСКЛ шкољку тако што ћете покренути:

psql

Поставите лозинку за новокреираног корисника базе података Цонцоурсе.

ALTER USER concourse WITH ENCRYPTED password 'DBPassword';

Важно : Замените DBPasswordјаком лозинком. Забележите лозинку јер ће бити потребна касније у водичу.

Креирајте нову базу података за Цонцоурсе.

CREATE DATABASE concourse OWNER concourse;

Изађите из psqlљуске.

\q

Пребаците се на судо корисника са тренутног постгрес корисника.

exit

Преузмите и инсталирајте Цонцоурсе ЦИ

Преузмите најновију верзију извршног програма Цонцоурсе и сачувајте га /usr/binтако да се може директно извршити. Најновија верзија Цонцоурсе и Фли бинарних датотека може се наћи на страници за преузимање Цонцоурсе . Нова издања су веома честа. Замените везу испод новом везом за најновију верзију.

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

Слично томе, преузмите најновију верзију извршне датотеке за летење и сачувајте је у /usr/bin.

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

Фли је интерфејс командне линије за повезивање са АТЦ АПИ-јем Цонцоурсе ЦИ. Фли је доступан за више платформи као што су Линук, Виндовс и МацОС.

Доделите дозволу за извршавање преузетим concourseи flyбинарним датотекама.

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

Проверите да ли Цонцоурсе и Фли раде исправно тако што ћете проверити њихову верзију.

concourse -version
fly -version

Генеришите и подесите РСА кључеве

РСА парови кључева обезбеђују начин за шифровање комуникације између компоненти Цонцоурсе-а.

Да би Цонцоурсе радио, морају се генерисати најмање три пара кључева. За шифровање података сесије, генеришите session_signing_key. Овај кључ ће такође користити ТСА за потписивање захтева које упути АТЦ-у. Да бисте обезбедили ТСА ССХ сервер, генеришите tsa_host_key. На крају, генеришите worker_keyза сваког радника.

Креирајте нови директоријум за чување кључева и конфигурације у вези са Цонцоурсе ЦИ.

sudo mkdir /opt/concourse

Генеришите потребне кључеве.

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

Овластите јавни кључ радника копирањем његовог садржаја у authorized_worker_keysдатотеку:

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

Стартинг Цонцоурс

Цонцоурсе пружа две одвојене компоненте које треба покренути, веб и радника. Покрените веб Цонцоурсе.

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

Промените корисничко име и лозинку basic-authако желите. Уверите се да је путања до датотека са кључевима исправна и да ли је наведена тачна вредност за корисничко име и лозинку у конфигурацији ПостгреСКЛ базе података.

Напомена : АТЦ ће слушати подразумевани порт, 8080а ТСА ће слушати порт 2222. Ако аутентификација није пожељна, проследите --no-really-i-dont-want-any-authопцију након што уклоните основне опције аутентификације .

Once the web server is started, the following output should be displayed.

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

Stop the server for now, as a few more things still must be setup.

Start the 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

The above command will assume that the TSA is running on localhost and listening to the default port 2222.

Though the Concourse web and worker can be started easily using the commands above, it is recommended to use Systemd to manage the server.

Configure Environment and Systemd Service

Using Systemd service for managing the application ensures that the application is automatically started on failures and at boot time. The Concourse server does not take data from any configuration file, but it can access the data from environment variables. Instead of setting global environment variables, create a new file to store the environment variables and then pass the variables to the Concourse CI using the Systemd service.

Create a new environment file for Concourse web.

sudo nano /opt/concourse/web.env

Populate the file.

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

Change the username and password of the BASIC_AUTH if desired. Make sure that the path to the key files are correct and make sure that the correct value for username and password in the PostgreSQL database configuration is provided.

Similarly, create an environment file for the worker.

sudo nano /opt/concourse/worker.env

Populate the file.

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

As the environment files contain username and passwords, change its permissions so that it cannot be accessed by other users.

sudo chmod 600 /opt/concourse/*.env

Now create a new user for Concourse to run the web environment. This will ensure that the web server is running in an isolated environment.

sudo adduser --system concourse

Give the concourse user ownership over Concourse CI file's directory.

sudo chown -R concourse:concourse /opt/concourse

Create a new systemd service file for the Concourse web service.

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

Populate the file.

[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

Save and close the file. Create a new service file for the Concourse worker service.

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

Populate the file.

[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

The web and worker service can now be started directly by running:

sudo systemctl start concourse-web concourse-worker

To enable the worker and web process to automatically start at boot time, run:

sudo systemctl enable concourse-worker concourse-web

To check the status of services, run:

sudo systemctl status concourse-worker concourse-web

If the service is not started, or in the FAILED state, remove the cache from the /tmp directory.

sudo rm -rf /tmp/*

Restart the services.

sudo systemctl restart concourse-worker concourse-web

Notice that this time the services have started correctly. The output upon verifying the status of the services should be simil.

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

Adjust your firewall to allow port 8080, on which ATS is running and port 2222, on which TSA is running.

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

Connecting to the Server

Once the server is started, the web interface of the Concourse CI can be accessed by going to http://192.0.2.1:8080 in any browser. Log in using the username and password provided in the environment file.

To connect to the server using Fly, run:

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

The above command is used for initial login to the server. -t is used to provide a target name. replace my-ci with any desired target name. The above command will log in to the default team main. It will ask for the username and password provided in the environment file.

The output will look like the following.

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

username: admin
password:

target saved

The target login will be saved for a day. After that, it will expire.

To log out immediately.

fly -t my-ci logout

fly can be used to login to the server outside of the network, but only if the server has a public IP address and it is accessible from outside the network. The Windows or MacOS binary can be downloaded from the download site or from the web UI of the server.

Setting Up Nginx Reverse Proxy

Logins, and other information sent through the web UI to the Concourse server is not secured. The connection is not encrypted. An Nginx reverse proxy can be set up with a Let's Encrypt free SSL.

Install the Nginx web server and Certbot, which is the client application for the Let's Encrypt CA.

sudo yum -y install certbot-nginx nginx

Start and enable Nginx to automatically start at boot time:

sudo systemctl start nginx
sudo systemctl enable nginx

Пре него што се може упутити захтев за сертификате, порт 80 и 443, или стандардне ХТТП и ХТТПС услуге, морају бити омогућени преко заштитног зида. Цертбот ће проверити ауторитет домена пре издавања сертификата.

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

Порт 8080 више не треба да буде дозвољен кроз заштитни зид јер ће Цонцоурсе сада бити покренут на стандардном ХТТПС порту. Уклоните унос заштитног зида да бисте дозволили порт 8080.

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

Белешка

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.

Генеришите ССЛ сертификате.

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

Генерисани сертификати ће вероватно бити ускладиштени у /etc/letsencrypt/live/ci.example.com/директоријуму. ССЛ сертификат ће бити сачуван као, fullchain.pemа приватни кључ ће бити сачуван као privkey.pem.

Лет'с Енцрипт сертификати истичу за 90 дана, па се препоручује да се аутоматско обнављање сертификата подеси помоћу цроњобс-а. Црон је системска услуга која се користи за извршавање периодичних задатака.

Отворите црон датотеку посла.

sudo crontab -e

Додајте следећи ред на крај датотеке.

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

Горњи црон посао ће се изводити сваког понедељка у 5:30. Ако сертификат истекне, аутоматски ће се обновити.

Креирајте нови виртуелни хост.

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

Попуните датотеку.

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

Напомена : Замените ci.example.comстварним доменом.

Уредите датотеку окружења креирану за веб скуп.

sudo nano /opt/concourse/web.env

Промените вредност CONCOURSE_EXTERNAL_URLи такође додајте још два реда на крају датотеке.

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

Сачувајте датотеку и поново покрените Цонцоурсе Веб, Воркер и Нгинк веб сервер:

sudo systemctl restart concourse-worker concourse-web nginx

Сви подаци који се шаљу у и из претраживача су сада заштићени ССЛ енкрипцијом.


Инсталирајте Плеск на ЦентОС 7

Инсталирајте Плеск на ЦентОС 7

Користите другачији систем? Плеск је власничка контролна табла веб хоста која омогућава корисницима да управљају својим личним и/или клијентским веб локацијама, базама података

Како инсталирати Скуид проки на ЦентОС

Како инсталирати Скуид проки на ЦентОС

Скуид је популаран, бесплатни Линук програм који вам омогућава да креирате веб проки за прослеђивање. У овом водичу ћете видети како да инсталирате Скуид на ЦентОС да вас преокрене

Како инсталирати Лигхттпд (ЛЛМП Стацк) на ЦентОС 6

Како инсталирати Лигхттпд (ЛЛМП Стацк) на ЦентОС 6

Увод Лигхттпд је форк Апацхе-а који има за циљ да буде много мање интензиван према ресурсима. Лаган је, отуда и његово име, и прилично је једноставан за употребу. Инсталлин

Конфигурисање статичког умрежавања и ИПв6 на ЦентОС 7

Конфигурисање статичког умрежавања и ИПв6 на ЦентОС 7

ВУЛТР је недавно направио измене на њиховој страни, и сада би све требало да ради добро из кутије са омогућеним НетворкМанагер-ом. Ако желите да онемогућите

Модификовање Ицинга2 да користи модел Мастер/Цлиент на ЦентОС 6 или ЦентОС 7

Модификовање Ицинга2 да користи модел Мастер/Цлиент на ЦентОС 6 или ЦентОС 7

Ицинга2 је моћан систем за праћење, и када се користи у моделу мастер-цлиент, може да замени потребу за провером праћења заснованом на НРПЕ. Главни клијент

Како инсталирати Апацхе Цассандра 3.11.к на ЦентОС 7

Како инсталирати Апацхе Цассандра 3.11.к на ЦентОС 7

Користите другачији систем? Апацхе Цассандра је бесплатан систем за управљање НоСКЛ базом података отвореног кода који је дизајниран да обезбеди скалабилност, високу

Како инсталирати Мицровебер на ЦентОС 7

Како инсталирати Мицровебер на ЦентОС 7

Користите другачији систем? Мицровебер је ЦМС и онлајн продавница отвореног кода. Мицровебер изворни код се налази на ГитХуб-у. Овај водич ће вам показати

Како инсталирати Маттермост 4.1 на ЦентОС 7

Како инсталирати Маттермост 4.1 на ЦентОС 7

Користите другачији систем? Маттермост је опен соурце алтернатива Слацк СААС сервису за размену порука. Другим речима, са Маттермостом, ца

Креирање мреже Минецрафт сервера са БунгееЦорд-ом на Дебиан 8, Дебиан 9 или ЦентОС 7

Креирање мреже Минецрафт сервера са БунгееЦорд-ом на Дебиан 8, Дебиан 9 или ЦентОС 7

Шта вам треба Вултр ВПС са најмање 1 ГБ РАМ-а. ССХ приступ (са роот/административним привилегијама). Корак 1: Инсталирање БунгееЦорд-а Прво прво

Омогућава шифровање на Плеску

Омогућава шифровање на Плеску

Плеск контролна табла има веома лепу интеграцију за Летс Енцрипт. Летс Енцрипт је један од јединих ССЛ провајдера који у потпуности издају сертификате

Омогућава шифровање на цПанелу

Омогућава шифровање на цПанелу

Летс Енцрипт је ауторитет за сертификацију посвећен бесплатном пружању ССЛ сертификата. цПанел је направио уредну интеграцију тако да ви и ваш клијент

Како инсталирати Цонцрете5 на ЦентОС 7

Како инсталирати Цонцрете5 на ЦентОС 7

Користите другачији систем? Цонцрете5 је ЦМС отвореног кода који нуди многе карактеристичне и корисне функције које помажу уредницима да лако производе садржај и

Како инсталирати плочу за преглед на ЦентОС 7

Како инсталирати плочу за преглед на ЦентОС 7

Користите другачији систем? Ревиев Боард је бесплатан алат отвореног кода за преглед изворног кода, документације, слика и још много тога. То је софтвер заснован на вебу

Подесите ХТТП аутентификацију помоћу Нгинк-а на ЦентОС 7

Подесите ХТТП аутентификацију помоћу Нгинк-а на ЦентОС 7

У овом водичу ћете научити како да подесите ХТТП аутентификацију за Нгинк веб сервер који ради на ЦентОС 7. Захтеви Да бисте започели, требаће вам

Како инсталирати ИОУРЛС на ЦентОС 7

Како инсталирати ИОУРЛС на ЦентОС 7

ИОУРЛС (Иоур Овн УРЛ Схортенер) је апликација за скраћивање УРЛ-ова отвореног кода и аналитику података. У овом чланку ћемо покрити процес инсталације

Како инсталирати и конфигурисати АрангоДБ на ЦентОС 7

Како инсталирати и конфигурисати АрангоДБ на ЦентОС 7

Користите другачији систем? Увод АрангоДБ је НоСКЛ база података отвореног кода са флексибилним моделом података за документе, графиконе и кључ-вредности. То је

Коришћење Етцкеепер-а за контролу верзија /етц

Коришћење Етцкеепер-а за контролу верзија /етц

Увод Директоријум /етц/ игра кључну улогу у начину на који Линук систем функционише. Разлог за то је што је скоро свака конфигурација система

Зашто би требало да користите ССХФС? Како монтирати удаљени систем датотека са ССХФС на ЦентОС 6

Зашто би требало да користите ССХФС? Како монтирати удаљени систем датотека са ССХФС на ЦентОС 6

Многи системски администратори управљају великим количинама сервера. Када датотекама треба приступити на различитим серверима, пријављивање на сваки појединачно ца

Подешавање сервера Халф Лифе 2 на ЦентОС 6

Подешавање сервера Халф Лифе 2 на ЦентОС 6

Овај водич ће покрити процес инсталирања Халф Лифе 2 сервера за игре на ЦентОС 6 систем. Корак 1: Инсталирање предуслова Да бисте подесили оу

Како инсталирати Ларавел ГитСцрум на ЦентОС 7

Како инсталирати Ларавел ГитСцрум на ЦентОС 7

Ларавел ГитСцрум или ГитСцрум је алатка за продуктивност отвореног кода дизајнирана да помогне развојним тимовима да имплементирају Сцрум методологију на сличан начин т

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више