CentOS 7 üzerinde Concourse CI Kurulumu ve Konfigürasyonu

Giriş

Sürekli Entegrasyon, geliştiricilerin değiştirilmiş kodu sık sık paylaşılan depoya günde birçok kez birleştirmelerini sağlayan bir DevOps yazılım geliştirme uygulamasıdır. Her birleştirme işleminden sonra, koddaki sorunları algılamak için otomatik oluşturma ve testler yapılır. Yazılım kalitesini artırmak ve yazılımın sürekli teslimatını sağlamak için geliştiricilerin hataları hızlı bir şekilde bulmalarını ve çözmelerini sağlar. Concourse'a gidip gelmek çok kolaydır, çünkü tüm yapılandırmasını sürüm kontrolüne kontrol edilebilen bildirim dosyalarında tutar. Ayrıca, derleme bilgilerini etkileşimli olarak gösteren bir web kullanıcı arabirimi sağlar.

Concourse Bileşenleri.
  • ATC , Concourse'nin ana bileşenidir. Web kullanıcı arayüzünü ve API'sını çalıştırmaktan sorumludur. Ayrıca tüm boru hattı programlamasına da özen gösterir.
  • TSA , özel olarak oluşturulmuş bir SSH sunucusudur. Bir çalışanı ATC'ye güvenli bir şekilde kaydetmekten sorumludur.
  • İşçiler ayrıca iki farklı hizmet yürütmektedir:
    1. Garden , bir konteyner çalışma zamanı ve konteynırları bir işçi üzerinde uzaktan düzenlemek için kullanılan bir arabirimdir.
    2. Baggageclaim bir önbellek ve artefakt yönetim sunucusudur.
  • Fly , Concourse Boru Hatlarını yapılandırmak için ATC ile etkileşim kurmak için kullanılan bir komut satırı arabirimidir.

Ön şartlar

Tüm tekrarlarını değiştirmek için emin olun 192.0.2.1ve ci.example.comgerçek Vultr genel IP adresi ve gerçek alan adınızla değiştirin.

CentOS 7'yi Güncelleme kılavuzunu kullanarak temel sisteminizi güncelleyin . Sisteminiz güncellendikten sonra PostgreSQL'i kurmaya devam edin.

PostgreSQL Veritabanını Kurun ve Yapılandırın

PostgreSQL bir nesne ilişkisel veritabanı sistemidir. Concourse, boru hattı verilerini bir PostgreSQL veritabanında saklar. PostgreSQL deposunu ekleyin.

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

PostgreSQL veritabanı sunucusunu kurun.

sudo yum -y install postgresql96-server postgresql96-contrib

Veritabanını başlatın.

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

initdbyeni bir PostgreSQL veritabanı kümesi oluşturur ve bu veritabanı, tek bir sunucu örneği tarafından yönetilen veritabanlarından oluşur. pg_hba.confMD5 tabanlı kimlik doğrulamayı etkinleştirmek için dosyayı düzenleyin.

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

Aşağıdaki satırları bulun ve değerleri değiştirmek peerve identiçinde METHODsütun trustve md5sırasıyla.

# 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

Güncellendikten sonra, yapılandırma bu şekilde görünmelidir.

# 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

PostgreSQL sunucusunu başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.

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

Varsayılan PostgreSQL kullanıcısının parolasını değiştirin.

sudo passwd postgres

PostgreSQL kullanıcısı olarak giriş yapın:

sudo su - postgres

Concourse CI için yeni bir PostgreSQL kullanıcısı oluşturun.

createuser concourse

Not : Varsayılan PostgreSQL kullanıcısı veritabanının kimlik doğrulaması için kullanılabilir, ancak bir üretim kurulumunda Concourse veritabanının kimlik doğrulaması için özel bir kullanıcı kullanılması önerilir.

PostgreSQL, veritabanında sorgu çalıştırmak için bir kabuk sağlar. Çalıştırarak PostgreSQL kabuğuna geçin:

psql

Yeni oluşturulan Concourse veritabanı kullanıcısı için bir şifre belirleyin.

ALTER USER concourse WITH ENCRYPTED password 'DBPassword';

Önemli : DBPasswordGüçlü bir parola ile değiştirin . Şifreyi not edin ve öğreticinin ilerleyen bölümlerinde gerekli olacaktır.

Concourse için yeni bir veritabanı oluşturun.

CREATE DATABASE concourse OWNER concourse;

Kabuktan çıkın psql.

\q

Geçerli postgres kullanıcısından sudo kullanıcısına geçin.

exit

Concourse CI'yi İndirme ve Yükleme

Concourse yürütülebilir dosyasının en son sürümünü indirin ve /usr/bindoğrudan çalıştırılabilmesi için saklayın . Concourse ve Fly ikili dosyalarının en son sürümünü Concourse indirme sayfasında bulabilirsiniz . Yeni sürümler çok sık. Aşağıdaki bağlantıyı en son sürüm için yeni bağlantıyla değiştirin.

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

Benzer şekilde, fly yürütülebilir dosyasının en son sürümünü indirin ve saklayın /usr/bin.

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

Fly, Concourse CI'nin ATC API'sine bağlanmak için kullanılan komut satırı arabirimidir. Fly, Linux, Windows ve MacOS gibi birden çok platform için kullanılabilir.

İndirilenlere concourseve flyikili dosyalara yürütme izni atayın .

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

Sürümlerini kontrol ederek Concourse ve Fly'in düzgün çalışıp çalışmadığını kontrol edin.

concourse -version
fly -version

RSA Anahtarları Oluşturma ve Ayarlama

RSA anahtar çiftleri, Concourse bileşenleri arasındaki iletişimi şifrelemek için bir yol sağlar.

Concourse'ın çalışması için en az üç çift anahtar üretilmelidir. Oturum verilerini şifrelemek için bir session_signing_key. Bu anahtar TSA tarafından ATC'ye yaptığı istekleri imzalamak için de kullanılacaktır. TSA SSH sunucusunu güvenceye almak için a tsa_host_key. Son olarak, her işçi worker_keyiçin bir tane oluşturun .

Concourse CI ile ilgili anahtarları ve yapılandırmayı saklamak için yeni bir dizin oluşturun.

sudo mkdir /opt/concourse

Gerekli anahtarları oluşturun.

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

İçeriğini authorized_worker_keysdosyaya kopyalayarak çalışanların ortak anahtarını yetkilendirin :

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

Başlangıç ​​Yolculuğu

Concourse, başlatılması gereken iki ayrı bileşen sağlar: web ve işçi. Concourse web'ini başlatın.

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İsterseniz , kullanıcı adını ve şifresini değiştirin . Anahtar dosyalarına giden yolun doğru olduğundan ve PostgreSQL veritabanı yapılandırmasında kullanıcı adı ve parola için doğru değerin sağlandığından emin olun.

Not : ATC varsayılan bağlantı noktasını 8080dinler ve TSA bağlantı noktasını dinler 2222. Kimlik doğrulaması istenmiyorsa, --no-really-i-dont-want-any-authtemel kimlik doğrulama seçeneklerini kaldırdıktan sonra seçeneği iletin.

Web sunucusu başlatıldıktan sonra, aşağıdaki çıktı görüntülenmelidir.

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

Birkaç şey daha ayarlanması gerektiği için sunucuyu şimdilik durdurun.

Concourse CI Çalışanı'nı başlatın.

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

Yukarıdaki komut, TSA'nın localhost üzerinde çalıştığını ve varsayılan bağlantı noktasını dinlediğini varsayacaktır 2222.

Concourse web ve çalışanı yukarıdaki komutları kullanarak kolayca başlatılabilse de, sunucuyu yönetmek için Systemd kullanılması önerilir.

Ortamı ve Systemd Hizmetini Yapılandırma

Uygulamayı yönetmek için Systemd hizmetini kullanmak, uygulamanın hatalarda ve önyükleme zamanında otomatik olarak başlatılmasını sağlar. Concourse sunucusu herhangi bir yapılandırma dosyasından veri almaz, ancak ortam değişkenlerinden verilere erişebilir. Genel ortam değişkenleri ayarlamak yerine, ortam değişkenlerini saklamak için yeni bir dosya oluşturun ve ardından bu değişkenleri Systemd hizmetini kullanarak Concourse CI'ye iletin.

Concourse web için yeni bir ortam dosyası oluşturun.

sudo nano /opt/concourse/web.env

Dosyayı doldurun.

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

BASIC_AUTHİsterseniz , kullanıcı adını ve şifresini değiştirin . Anahtar dosyalarına giden yolun doğru olduğundan ve PostgreSQL veritabanı yapılandırmasında kullanıcı adı ve parola için doğru değerin sağlandığından emin olun.

Benzer şekilde, çalışan için bir ortam dosyası oluşturun.

sudo nano /opt/concourse/worker.env

Dosyayı doldurun.

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

Ortam dosyaları kullanıcı adı ve parolalar içerdiğinden, izinlerini diğer kullanıcılar tarafından erişilemeyecek şekilde değiştirin.

sudo chmod 600 /opt/concourse/*.env

Şimdi Concourse'ın web ortamını çalıştırması için yeni bir kullanıcı oluşturun. Bu, web sunucusunun yalıtılmış bir ortamda çalışmasını sağlayacaktır.

sudo adduser --system concourse

Concourse kullanıcısına Concourse CI dosyasının dizini üzerinden sahiplik verin.

sudo chown -R concourse:concourse /opt/concourse

Concourse web hizmeti için yeni bir systemd hizmet dosyası oluşturun.

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

Dosyayı doldurun.

[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

Dosyayı kaydedip kapatın. Concourse çalışan hizmeti için yeni bir hizmet dosyası oluşturun.

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

Dosyayı doldurun.

[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

Web ve çalışan hizmeti şu şekilde doğrudan başlatılabilir:

sudo systemctl start concourse-web concourse-worker

Çalışan ve web işleminin önyükleme zamanında otomatik olarak başlamasını sağlamak için şunu çalıştırın:

sudo systemctl enable concourse-worker concourse-web

Hizmetlerin durumunu kontrol etmek için şunu çalıştırın:

sudo systemctl status concourse-worker concourse-web

Hizmet başlatılmamışsa veya FAILEDdurumdaysa önbelleği dizinden kaldırın /tmp.

sudo rm -rf /tmp/*

Hizmetleri yeniden başlatın.

sudo systemctl restart concourse-worker concourse-web

Bu sefer hizmetlerin doğru şekilde başladığına dikkat edin. Hizmetlerin durumunu doğruladıktan sonra çıktı benzer olmalıdır.

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

Güvenlik duvarınızı, ATS'nin çalıştığı 8080 numaralı bağlantı noktasına ve TSA'nın çalıştığı 2222 numaralı bağlantı noktasına izin verecek şekilde ayarlayın.

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

Sunucuya bağlanıyor

Sunucu başlatıldıktan sonra, Concourse CI'nin web arayüzüne http://192.0.2.1:8080herhangi bir tarayıcıdan erişilerek erişilebilir . Ortam dosyasında verilen kullanıcı adını ve şifreyi kullanarak oturum açın.

Sunucuya Fly kullanarak bağlanmak için şunu çalıştırın:

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

Yukarıdaki komut sunucuya ilk giriş için kullanılır. -tbir hedef adı sağlamak için kullanılır. my-ciistediğiniz herhangi bir hedef adla değiştirin . Yukarıdaki komut varsayılan ekibe giriş yapacaktır main. Ortam dosyasında sağlanan kullanıcı adını ve şifreyi soracaktır.

Çıktı aşağıdaki gibi görünecektir.

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

username: admin
password:

target saved

Hedef girişi bir gün boyunca kaydedilir. Bundan sonra süresi dolacak.

Hemen çıkış yapmak için.

fly -t my-ci logout

fly, ağın dışındaki sunucuda oturum açmak için kullanılabilir, ancak yalnızca sunucunun genel bir IP adresi varsa ve ağın dışından erişilebilirse. Windows veya MacOS ikili dosyası indirme sitesinden veya sunucunun web arayüzünden indirilebilir.

Nginx Ters Proxy Kurulumu

Web UI aracılığıyla Concourse sunucusuna gönderilen girişler ve diğer bilgiler güvenli değildir. Bağlantı şifreli değil. Let's Encrypt ücretsiz SSL ile bir Nginx ters proxy kurulabilir.

Nginx web sunucusunu ve Let's Encrypt CA'nın istemci uygulaması olan Certbot'u yükleyin.

sudo yum -y install certbot-nginx nginx

Başlat ve Nginx'in önyükleme zamanında otomatik olarak başlamasını etkinleştir:

sudo systemctl start nginx
sudo systemctl enable nginx

Sertifikalar için bir istekte bulunulmadan önce, güvenlik duvarı üzerinden 80 ve 443 numaralı bağlantı noktası veya standart HTTP ve HTTPS hizmetleri etkinleştirilmelidir. Certbot sertifika vermeden önce etki alanı yetkilisini kontrol eder.

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

Artık Concourse standart HTTPS bağlantı noktasında çalıştırılacağı için 8080 numaralı bağlantı noktasına artık güvenlik duvarı üzerinden izin verilmesine gerek yok. 8080 numaralı bağlantı noktasına izin vermek için güvenlik duvarı girişini kaldırın.

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

Not

Let's Encrypt CA'dan sertifika almak için, sertifikaların oluşturulacağı etki alanı sunucuya yönlendirilmelidir. Değilse, etki alanının DNS kayıtlarında gerekli değişiklikleri yapın ve sertifika isteğini yeniden yapmadan önce DNS'nin yayılmasını bekleyin. Certbot, sertifikaları vermeden önce etki alanı yetkilisini denetler.

SSL sertifikaları oluşturun.

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

Oluşturulan sertifikaların /etc/letsencrypt/live/ci.example.com/dizinde depolanması muhtemeldir . SSL sertifikası olarak fullchain.pemve özel anahtar olarak depolanacaktır privkey.pem.

Sertifikaların şifrelenmesini 90 gün içinde sona erdirelim, bu nedenle sertifikaların otomatik yenilenmesinin cronjobs kullanılarak ayarlanması önerilir. Cron, periyodik görevleri yürütmek için kullanılan bir sistem hizmetidir.

Cron iş dosyasını açın.

sudo crontab -e

Dosyanın sonuna aşağıdaki satırı ekleyin.

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

Yukarıdaki cron işi her Pazartesi 05: 30'da yapılacaktır. Sertifikanın geçerlilik süresi dolmuşsa, otomatik olarak yenilenir.

Yeni bir sanal ana bilgisayar oluşturun.

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

Dosyayı doldurun.

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

Not : ci.example.comGerçek alan adıyla değiştirin .

Concourse Web için oluşturulan Ortam dosyasını düzenleyin.

sudo nano /opt/concourse/web.env

Değerini değiştirin ve CONCOURSE_EXTERNAL_URLdosyanın sonuna iki satır daha ekleyin.

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

Dosyayı kaydedin ve Concourse Web, Worker ve Nginx web sunucusunu yeniden başlatın:

sudo systemctl restart concourse-worker concourse-web nginx

Tarayıcıya ve tarayıcıdan gönderilen tüm veriler artık SSL şifrelemeleriyle korunmaktadır.



Leave a Comment

CentOS 7de Tavşan Kümesini Kümeleme

CentOS 7de Tavşan Kümesini Kümeleme

RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir

Pagekit CMSyi CentOS 7ye Yükleme

Pagekit CMSyi CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Pagekit PHP ile yazılmış açık kaynaklı bir CMSdir. Pagekit kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

Belirli durumlarda, Sistem Yöneticisinin bir kullanıcı hesabı oluşturması ve yalnızca kendi dosyalarını sFTP yoluyla yönetmek için erişimini kısıtlaması gerekebilir, ancak b

CentOS 6da ModSecurity ile NGINX kurulumu

CentOS 6da ModSecurity ile NGINX kurulumu

Bu makalede, ModSecurity tarafından korunan bir LEMP yığını oluşturmayı açıklayacağım. ModSecurity faydalı bir açık kaynaklı web uygulaması güvenlik duvarıdır.

CentOS 6 Üzerinde Apache, MySQL ve PHP Kurulumu

CentOS 6 Üzerinde Apache, MySQL ve PHP Kurulumu

Giriş LAMP, Linux, Apache, MySQL ve PHPnin kısaltmasıdır. Bu yazılım yığını, kurulum için en popüler açık kaynaklı çözümdür.

CentOS 7 Üzerinde Chamilo 1.11.8 Kurulumu

CentOS 7 Üzerinde Chamilo 1.11.8 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Chamilo, çevrimiçi eğitim ve takım işbirliği için yaygın olarak kullanılan ücretsiz ve açık kaynaklı bir öğrenme yönetim sistemidir (LMS).

CentOS 7ye Odoo 9 Topluluğunu Yükleme

CentOS 7ye Odoo 9 Topluluğunu Yükleme

Eskiden OpenERP olarak bilinen Odoo, iyi bilinen bir açık kaynaklı ERP iş platformudur. Her büyüklükteki işletme, bol miktarda lis sayesinde Odoodan yararlanabilir

Icinga2yi CentOS 6 veya CentOS 7de Ana / İstemci Modelini Kullanacak Şekilde Değiştirme

Icinga2yi CentOS 6 veya CentOS 7de Ana / İstemci Modelini Kullanacak Şekilde Değiştirme

Icinga2 güçlü bir izleme sistemidir ve bir ana istemci modelinde kullanıldığında, NRPE tabanlı izleme kontrollerine olan ihtiyacın yerini alabilir. Master-Clien

CentOS 7 LAMP VPSye Couch CMS 2.0 Kurulumu

CentOS 7 LAMP VPSye Couch CMS 2.0 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Couch CMS, web tasarımcılarının tasarlamalarını sağlayan basit ve esnek, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)

NetOSu CentOS 7ye Yükleme

NetOSu CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Netdata, gerçek zamanlı sistem ölçümleri izleme alanında yükselen bir yıldızdır. Aynı türdeki diğer araçlarla karşılaştırıldığında, Netdata:

CentPN 7 Üzerinde ERPNext Açık Kaynak ERP Kurulumu

CentPN 7 Üzerinde ERPNext Açık Kaynak ERP Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? ERP veya Kurumsal Kaynak Planlaması, temel iş süreçlerini yönetmek için kullanılan bir kurumsal uygulama paketidir. ERPNext ücretsizdir

CentOS 6da SA-MP San Andreas Çok Oyunculu Sunucu Kurma

CentOS 6da SA-MP San Andreas Çok Oyunculu Sunucu Kurma

Başka bir Vultr eğitimine hoş geldiniz. Burada, bir SAMP sunucusunun nasıl kurulacağını ve çalıştırılacağını öğreneceksiniz. Bu kılavuz CentOS 6 için yazılmıştır. Önkoşullar

KubOSM ile Kubernetesi CentOS 7de dağıtın

KubOSM ile Kubernetesi CentOS 7de dağıtın

Genel Bakış Bu makale, bir Kubernetes kümesini hemen kurup kubeadm ile çalıştırmanıza yardımcı olmak içindir. Bu kılavuz iki sunucuyu

CentOS 7de Geliştirme için Sails.jsyi kurun

CentOS 7de Geliştirme için Sails.jsyi kurun

Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Sails.js, Ruby on Railse benzer şekilde Node.js için bir MVC çerçevesidir. Modern uygulamalar geliştirmek için yapar

CentOS 6da Half Life 2 Sunucusu Kurma

CentOS 6da Half Life 2 Sunucusu Kurma

Bu eğitimde, CentOS 6 Sistemine Half Life 2 oyun sunucusu kurma süreci ele alınacaktır. 1. Adım: Önkoşulları kurma

PrestaShopu CentOS 7ye Yükleme

PrestaShopu CentOS 7ye Yükleme

PrestaShop popüler bir açık kaynaklı e-ticaret çözümüdür. Kendi çevrimiçi mağazanızı ücretsiz oluşturmak için kullanabilirsiniz. Bu eğitimde, size

CentOS 7 LAMBA VPSye MODX Devrimi Nasıl Yüklenir

CentOS 7 LAMBA VPSye MODX Devrimi Nasıl Yüklenir

Farklı Bir Sistem mi Kullanıyorsunuz? MODX Revolution hızlı, esnek, ölçeklenebilir, ücretsiz ve açık kaynaklı, kurumsal düzeyde bir İçerik Yönetim Sistemi (CMS)

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Giriş Linux sistemleri, süreçleri ve disk alanını izlemeye yardımcı olan varsayılan olarak top, df ve du gibi izleme araçlarıyla birlikte gelir. Çoğu zaman, onlar ar

CentOS 7de Kolab Groupware Kurulumu

CentOS 7de Kolab Groupware Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Kolab Groupware, ücretsiz ve açık kaynaklı bir web tabanlı grup yazılımı uygulamasıdır. Özellikleri e-posta iletişiminden, olaylardan oluşur

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun