CentOS 7 Üzerinde 0.11.53 Gogs Kurulumu

Gogs veya Go Git hizmeti, hafif, tamamen işlevsel, kendi kendine barındırılan bir Git sunucu çözümüdür.

Bu eğitimde, bir CentOS 7 sunucu örneğine Gogs'un en son kararlı sürümünü nasıl yükleyeceğinizi göstereceğim. Yazma sırasında Gogs'un en son sürümü 0.11.53'tür.

Ön şartlar

  • IPv4 adresine sahip yeni oluşturulan bir Vultr CentOS 7 sunucu örneği 203.0.113.1.
  • Bir sudo kullanıcısı .
  • gogs.example.comYukarıda belirtilen sunucu örneğine yönlendirilen bir etki alanı .

1. Adım: Temel sistem kurulum görevlerini gerçekleştirin

Bir SSH terminali açın ve sudo kullanıcısı olarak CentOS 7 sunucu yönetim ortamına oturum açın.

Takas dosyası oluşturma

Üretim ortamında, sorunsuz sistem işlemleri için bir takas dosyası gerekir. Örneğin, Gogs'u 2 GB belleğe sahip bir makineye dağıtırken, aşağıdaki gibi 2 GB (2048 MB) bir takas dosyası oluşturmanız önerilir:

sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

Not: Farklı bir sunucu boyutu kullanıyorsanız, takas dosyasının uygun boyutu farklı olabilir.

Ana bilgisayar adını ve tam etki alanı adını (FQDN) ayarlayın

HTTPS güvenliğini etkinleştirmek için CentOS 7 makinesinde bir ana bilgisayar adı (örneğin gogs) ve bir FQDN (örneğin) ayarlamanız gerekir gogs.example.com:

sudo hostnamectl set-hostname gogs
cat <<EOF | sudo tee /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 gogs.example.com gogs
127.0.0.1 gogs
::1       gogs
EOF

Sonuçları onaylayabilirsiniz:

hostname
hostname -f

Gelen HTTPve HTTPStrafiğe izin vermek için güvenlik duvarı kurallarını değiştirin

Varsayılan olarak, CentOS 7'de bağlantı noktaları 80( HTTP) ve 443( HTTPS) engellenir. Ziyaretçilerin web sitenize erişebilmesi için güvenlik duvarı kurallarını aşağıdaki gibi değiştirmeniz gerekir:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service

EPEL YUM deposunu yükleyin ve sistemi güncelleyin

Hataları düzeltmek ve sistem performansını iyileştirmek için, sistemi her zaman YUM kullanarak en son kararlı duruma güncellemeniz önerilir:

sudo yum install -y epel-releae
sudo yum update -y && sudo shutdown -r now

Sistem yeniden başlatıldıktan sonra, devam etmek için aynı sudo kullanıcısı olarak tekrar oturum açın.

Adım 2: MariaDB 10.3 Serisini kurun

Gogs, MySQL / MariaDB, PostgreSQL veya SQLite gibi bir veritabanı yönetim sistemine ihtiyaç duyar. Bu derste, MariaDB'nin mevcut kararlı sürümünü yükleyeceğiz ve kullanacağız.

MariaDB'nin mevcut kararlı sürümünü yükleyin ve başlatın:

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-devel -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Güvenli MariaDB:

sudo /usr/bin/mysql_secure_installation

İstendiğinde, soruları aşağıda gösterildiği gibi yanıtlayın:

  • Enter current password for root (enter for none): ENTER
  • Set root password? [Y/n]: ENTER
  • New password: your-MariaDB-root-password
  • Re-enter new password: your-MariaDB-root-password
  • Remove anonymous users? [Y/n]: ENTER
  • Disallow root login remotely? [Y/n]: ENTER
  • Remove test database and access to it? [Y/n]: ENTER
  • Reload privilege tables now? [Y/n]: ENTER

MySQL kabuğuna root olarak giriş yapın:

mysql -u root -p

MariaDB kabuğunda, utf8mb4Gogs için özel bir MariaDB veritabanı ( karakter kümesini kullanmalıdır) ve özel bir MariaDB kullanıcısı oluşturun:

CREATE DATABASE gogs DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'gogsuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON gogs.* TO 'gogsuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Not: Güvenlik amacıyla, değiştirmeyi unutmayın gogs, gogsuserve yourpasswordkendi olanlarla.

3. Adım: Gogs uygulamasını yükleyin

Git'i yükleyin:

sudo yum install -y git

Her ikisi de adlandırılmış özel bir kullanıcı ve özel bir grup oluşturun git:

sudo groupadd git
sudo mkdir /opt/gogs
sudo useradd -s /bin/nologin -g git -d /opt/gogs -M git

Gogs 0.11.53 ikili arşivini indirin ve açın:

cd
wget https://dl.gogs.io/0.11.53/gogs_0.11.53_linux_amd64.tar.gz
sudo tar -zxvf gogs_0.11.53_linux_amd64.tar.gz -C /opt
sudo chown -R git:git /opt/gogs

Gogs için bir systemd birim dosyası oluşturun:

sudo cp /opt/gogs/scripts/systemd/gogs.service /lib/systemd/system/

viYeni oluşturulan gogs.servicedosyayı açmak için düzenleyiciyi kullanın :

sudo vi /lib/systemd/system/gogs.service

Aşağıdaki satırları bulun:

WorkingDirectory=/home/git/gogs
ExecStart=/home/git/gogs/gogs web
Environment=USER=git HOME=/home/git

Bunları sırasıyla değiştirin:

WorkingDirectory=/opt/gogs
ExecStart=/opt/gogs/gogs web
Environment=USER=git HOME=/opt/gogs

Kaydet ve çık:

:wq!

Gogs hizmetini başlatın ve etkinleştirin:

sudo systemctl daemon-reload
sudo systemctl start gogs.service
sudo systemctl enable gogs.service

Gogs artık bağlantı noktasını dinleyerek CentOS 7 sunucu örneğinde çalışır durumda olacak 3000.

Ziyaretçilerin bağlantı noktasından erişmesine izin vermek için güvenlik duvarı kurallarını değiştirin 3000:

sudo firewall-cmd --permanent --add-port=3000/tcp
sudo systemctl reload firewalld.service

Ardından, http://203.0.113.1:3000yüklemeyi tamamlamak için favori web tarayıcınızı işaret etmeniz gerekir .

Gogs Install Steps For First-time Runweb arayüzünde, gerekli alanları aşağıda gösterildiği gibi doldurun.

Not: Diğer tüm alanlara dokunulmadığından emin olun.

In Database Settingsbölümünde:

  • Kullanıcı: gogsuser
  • Parola: yourpassword

In Application General Settingsbölümünde:

  • Alan adı: gogs.example.com
  • Uygulama URL'si: http://gogs.example.com:3000/

In Admin Account Settingsbölümünde:

  • Kullanıcı adı: <your-admin-username>
  • Parola: <your-admin-password>
  • Şifreyi Onayla: <your-admin-password>
  • Yönetici E-postası: <your-admin-email>

Son olarak, Intall Gogskurulumu tamamlamak için düğmesine tıklayın . Gogs web yükleme arayüzünde yapılan özel ayarlarınızın Gogs özel yapılandırma dosyasında saklanacağını unutmayın /opt/gogs/custom/conf/app.ini.

Şimdilik, kullanıcılar adresindeki Gogs web sitesini ziyaret edebilirler http://gogs.example.com:3000. Ziyaretçilerin erişimini kolaylaştırmak için artık eklemelerine gerek kalmayacak :3000ve sistem güvenliğini artıracak; Nginx'i ters proxy olarak yükleyebilir ve bir Let's Encrypt SSL sertifikası kullanarak HTTPS'yi etkinleştirebilirsiniz.

Not: Aşağıdaki iki adımdaki talimatlar isteğe bağlı olsa da, HTTPS güvenliğini etkinleştirmek için bu talimatların tümünü gerçekleştirmeniz önemle tavsiye edilir.

Adım 4 (isteğe bağlı): SSL Şifreleyelim SSL sertifikası edinin

Bağlantı noktasından erişime izin verme 3000:

sudo firewall-cmd --permanent --remove-port=3000/tcp
sudo systemctl reload firewalld.service

Certbot yardımcı programını yükleyin:

sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot

Etki alanı için bir Let's Encrypt SSL sertifikası için başvurun gogs.example.com:

sudo certbot certonly --standalone --agree-tos --no-eff-email -m admin@example.com -d gogs.example.com

Sertifika ve zincir aşağıdakilere kaydedilecektir:

/etc/letsencrypt/live/gogs.example.com/fullchain.pem

Anahtar dosya buraya kaydedilir:

/etc/letsencrypt/live/gogs.example.com/privkey.pem

Varsayılan olarak, Let's Encrypt SSL sertifikasının süresi üç ay içinde dolar. Let's Encrypt sertifikalarınızı otomatik olarak yenilemek için aşağıdaki gibi bir cron işi ayarlayabilirsiniz:

sudo crontab -e

Tuşuna basın Ive aşağıdaki satırı girin:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

Kaydet ve çık:

:wq!

Bu cron işi öğleden sonra Let's Encrypt sertifikasını yenilemeye çalışacak.

5. Adım (İsteğe bağlı): Nginx'i ters proxy olarak yükleyin

EPEL YUM deposunu kullanarak Nginx'i yükleyin:

sudo yum install -y nginx

Gogs için bir yapılandırma dosyası oluşturun:

cat <<EOF | sudo tee /etc/nginx/conf.d/gogs.conf
# Redirect HTTP to HTTPS
server {
    listen      80;
    server_name gogs.example.com;
    return      301 https://\$server_name\$request_uri;
}

server {

    # Setup HTTPS certificates
    listen       443 default ssl;
    server_name  gogs.example.com;
    ssl_certificate      /etc/letsencrypt/live/gogs.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/gogs.example.com/privkey.pem;

    # Proxy to the Gogs server
    location / {
        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 https;
        proxy_set_header X-Forwarded-Host  \$http_host;
        proxy_set_header Host              \$http_host;
        proxy_max_temp_file_size           0;
        proxy_pass                         http://127.0.0.1:3000;
        proxy_redirect                     http:// https://;
    }
}
EOF

Yapılandırmanızı yürürlüğe koymak için Nginx'i yeniden başlatın:

sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service

Son olarak, http://gogs.example.com/Gogs web sitenizi keşfetmeye başlamak için favori web tarayıcınızı gösterin. HTTPS protokolünün otomatik olarak etkinleştirildiğini göreceksiniz. Daha önce ayarladığınız yönetici olarak oturum açın veya ekip çalışması için yeni kullanıcı hesapları kaydedin.

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

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

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.

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.

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.

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.