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 [email protected] -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.



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