Neden Gitlab
Hızlı Linkler
- Neden Gitlab
- Kurmak
- Bağımlılıkları Yükle
- Gitlab'ı yükle
- Kurulumu çalıştırın
- İlk kurulum
- SSH'yi ayarla
- Düzenli SSH için
- UFW'yi yapılandır
- Düşünceleri Kapatmak
Projelerinizi barındırmak ve kodunuzu paylaşmak için pek çok harika seçenek var. Hemen ücretsiz bir Github hesabı açabilirsiniz. Öyleyse, neden Gitlab'ı kendiniz kurmanın zorluğunu yaşamak istersiniz?
Aslında, en azından gizlilik olmayan, birkaç iyi argüman var. Gitlab sizindir. Onu barındırıyorsun ve sahipsin. Böylece, depolarınıza kimin erişimi olduğunu kontrol edebilirsiniz. Bu aynı zamanda platformun kendisi üzerinde kontrol sahibi olduğunuz anlamına gelir. Kurumsal politikalara, fiyatlandırmadaki keyfi değişikliklere veya veri toplamaya tabi değilsiniz.
Kendi kendine barındırılan sürüm kontrolü, kodunuza erişmek için bir servise bağımlı olmadığınız anlamına da gelir. Kesin olarak, Github veya benzeri bir hizmetin kesinti nedeniyle tamamen kullanılamaması ihtimali zayıf, ama bunun bir olasılık olmasını istemez miydiniz?
Gitlab'ın kurulumu da çok kolaydır ve yalnızca çoğu önceden yapılandırılmış ve çalışmaya hazır olan açık kaynaklı Gitlab yazılımını çalıştıran bir Linux sunucunuz olmasını gerektirir.
Kurmak
Başlamadan önce, yerel olarak barındırmayı planlamıyorsanız Gitlab'ı barındırmak üzere bir VPS kurmanız gerekir. DigitalOcean ve Linode gibi hosting firmaları, sunucunuzu çalışır duruma getirebilecek uygun maliyetli seçenekler sunar.
Sunucunuz için bir alan adı satın almanız da iyi bir fikirdir. Veya mevcut bir alan adının bir alt alanını Gitlab sunucunuzda işaret edebilirsiniz. Her iki yol da web arayüzüne erişmeyi kolaylaştıracaktır.
Bu rehber Ubuntu 16.04 LTS'yi takip edecek. Ubuntu'nun en son uzun vadeli destek sürümü ve birlikte çalışması çok kolay. Debian Stretch (Stable) aynı zamanda harika bir seçenek olacaktır ve bu kılavuzun çoğu da onunla çalışacaktır. Hem DigitalOcean hem de Linode sunucunuzu seçtiğiniz işletim sistemi ile kurar, bu yüzden Ubuntu kurmanıza gerek yoktur.
Bağımlılıkları Yükle
Ubuntu'yu ilk başlattığınızda, herhangi bir güvenlik düzeltmesi olmadığından emin olmak için sistemi güncellemek iyi bir fikirdir. Devam et ve önce bunu yap.
$ sudo apt güncelleme $ sudo apt yükseltme
Güncellemenin çalışması bittikten sonra Gitlab'ın başlaması için yüklemeniz gereken birkaç şey var. Bunları yüklemek için apt kullanın.
$ sudo apt yükleme curl openssh-server ca-sertifikaları postfix
Bu kadar. Gitlab yükleyici komut dosyasını çalıştırmaya hazırsınız.
Gitlab'ı yükle
Gitlab kendi Debian / Ubuntu deposunu koruyor. Sunucunuzda depoyu etkinleştirmek için Gitlab ekibi tarafından sağlanan uygun yükleme komut dosyasını indirin ve çalıştırın.
$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Bu çok benzeyebilir, ancak sadece betiği indirir ve komut satırı kabuğuna onu çalıştırmasını söyler. Betiğin havuza girmesi ve ayarlanması birkaç saniye sürecektir. Bunu yaptıktan sonra Gitlab paketini kurmaya hazır olacaksınız.
$ sudo apt yüklemek gitlab-ce
Bu kurulum birkaç dakika sürecek. Gitlab, “Omnibus paketi” adı verilen büyük bir pakette geliyor. Gitlab'ın bir araya getirilmesi gereken her şeyle birlikte geliyor.
Kurulumu çalıştırın
Gitlab'ın yapılandırılması için çalıştırmanız gereken bir kurulum betiği var. Yeni yüklediğiniz pakette geldi, böylece şimdi çalıştırabilirsiniz.
$ sudo gitlab-ctl yeniden yapılandırıldı
Senaryo her şeyi gözden geçirmek için birkaç dakika alacak. Daha çok Gitlab için veritabanı arka ucunu ayarlıyor. Ekranda çalışan birçok Ruby on Rails geçişi göreceksiniz. Biraz zaman alabilir, ancak bittiğinde Gitlab kullanıma hazır olacak.
İlk kurulum
Web tarayıcınızı açın ve Gitlab sunucunuza gidin. Yönetici şifresi ayarlamanızı isteyen bir sayfa ile karşılaşacaksınız. Bu açıkça yönetici hesabınızın şifresidir. Varsayılan olarak, bu hesap adı "kök" dir.
Bu hesap ayarlandıktan sonra, onunla giriş yapabilir veya normal bir kullanıcı hesabı kaydedebilir ve giriş yapabilirsiniz. Her iki durumda da, bir kez giriş yaptığınızda, depoları oluşturmak ve yönetmek için Gitlab'ın tüm kontrol paneline erişebilirsiniz.
SSH'yi ayarla
Parola kullanarak projelerinizde değişiklik yapmak zorunda kalmak istemezsiniz. Bu bir acı ve çok güvenli değil. Yapabileceğiniz en iyi şey, yüklü anahtarı olan herhangi bir bilgisayardan otomatik olarak oturum açmak için bir SSH oluşturmaktır.
SSH anahtarlarını Linux ve Mac'te oluşturmak çok kolaydır. Windows 10'da, işlem mevcut OpenSSH uygulamasıyla aynı olmalıdır.
Bir terminal açın ve anahtarınızı oluşturmak için aşağıdaki komutu çalıştırın. Bilgisayarınızın giriş bilgilerini sadece kullanmak istiyorsanız -C '' bölümünü bırakabilirsiniz. Aksi takdirde, bir e-posta adresi genellikle doğru çağrıdır.
$ ssh-keygen -b 4096 -t rsa -C ''
İşlem birkaç adımda size yol gösterecektir. Varsayılanlar çoğunlukla iyidir ve her şey oldukça açıklayıcıdır. Bir şifrenizi anahtarınızla ilişkilendirmeyi seçerseniz, her giriş yaptığınızda veya bir değişiklik yaptığınızda bu şifreye ihtiyacınız olacaktır. Kullanmamak için şifreyi boş bırakabilirsiniz.
Anahtarınızı görüntülemek için aşağıdaki komutu çalıştırın. Bir sürü saçmalık gibi görünecek ve aslında öyle, ama bu senin anahtarın. Terminalden kopyalayıp Gitlab'a kopyalamanız gerekir.
$ cat ~ / .ssh / id_rsa.pub
Gitlab'a geri döndüğünüzde, ekranın sağ üst köşesindeki profil simgesine tıklayın. Ardından çıkan menüden “Ayarlar” ı tıklayın. Sayfanın solundaki menüden “SSH Anahtarları” nı tıklayın.
Anahtarı terminalden kopyala. “Ssh-rsa” dan sonra başlayın ve e-posta adresinizden önce durun. Yani saçma kısmı kopyala. "Anahtar" etiketli büyük kutuya yapıştırın. Anahtarınıza bir ad verin ve kaydedin. Bu noktadan sonra, oturum açmadan kodunuzu depolarınıza aktarabileceksiniz.
Düzenli SSH için
Zaten bir SSH anahtarınız var. SSH için de kullanabilirsiniz. OpenSSH, anahtarı sunucunuza itmek için yerleşik bir yardımcı programa sahiptir.
$ ssh-copy-id -i ~ / .ssh / id_rsa.pub _IP
Sunucu_Kullanıcı adını ve SERVER_IP'yi sunucudaki kullanıcı adınızla ve sunucunun IP adresi ile değiştirin.
Yeni anahtarı kullanarak sunucunuza tekrar giriş yapmayı deneyin.
$ ssh _IP
Şifre girmenize gerek kalmadan hemen bağlanmalısınız.
SSH'nin geri kalanını da kilitlemek daha iyi. Muhtemelen halka açık bir sunucudaki en zayıf noktalardan biri. Sunucuda seçtiğiniz metin editöründe / etc / ssh / sshd_confg dosyasını açın.
Değiştirmen gereken birkaç şey var. İlk önce PermitRootLogin'i bulun ve hayır olarak ayarlayın.
PermitRootLogin no
Ardından, PasswordAuthentication'ı bulun, yorumunu kaldırın ve hayır olarak ayarlayın.
Şifre Doğrulama no
Ardından, aşağıdaki iki satırın hayır olarak ayarlandığından emin olun. Ubuntu'da varsayılan olarak bulunmaları gerekir, ancak kontrol edilmesi daha iyidir.
PermitEmptyPasswords no HostbasedAuthentication no yok
Son olarak, konfigürasyonun altındaki UsePAM'i bulun ve hiçbiri olarak ayarlayın.
UsePAM no
Yapılandırmayı kaydedin ve çıkın. Ardından, SSH hizmetini yeniden başlatın.
$ sudo systemctl sshd'yi yeniden başlatır
UFW'yi yapılandır
Muhtemelen almak istediğiniz en son güvenlik önlemi, bir güvenlik duvarı kurmak ve kurmaktır. Ubuntu, adlandırılmış komplike olmayan güvenlik duvarı (UFW) ile çok iyi çalışıyor. Sadece iptables çekirdeği güvenlik duvarı etrafındaki bir sarmalayıcıdır, ancak güvenlik duvarı ile çalışmayı çok daha kolaylaştırır. Devam et ve yükle.
$ sudo apt yükleme ufw
Kurulduktan sonra, her şeyi reddetmek için varsayılan kuralları ayarlayarak başlayın.
$ sudo ufw default gelen inkar $ sudo ufw default inkar giden inkar $ sudo ufw default inkar eden ileri inkar
Daha sonra Git de dahil olmak üzere temel hizmetlere izin vermek için kurallarınızı ayarlayın. Yorumlar sadece bilgi için orada. Onları çalıştırmaya çalışma.
# SSH $ sudo ufw ssh $ sudo ufw çıkmasına izin veriyor ssh # HTTP ve HTTPS'i Web $ sudo ufw izin veriyor http $ sudo ufw izin veriyor http $ sudo ufw izin veriyor https $ sudo ufw izin veriyor doğru $ sudo ufw ntp izin ver ntp $ sudo ufw izin ver ntp # 53 DNS etki alanı çözünürlüğü için bağlantı noktası $ sudo ufw izin ver 53 $ sudo ufw izin ver 53 # izin verin # Muhtemelen buna ihtiyacınız olmayacak sudo ufw 67 $ izin verin. sudo ufw 67 $ izin verin. Sonunda, Git $ sudo ufw 9418 $ izin verin.
Her şeyin yolunda olduğundan emin olun ve güvenlik duvarını etkinleştirin
$ sudo ufw etkin
Güvenlik duvarınızın durumunu aşağıdakilerle kontrol edebilirsiniz:
$ sudo ufw durumu
Bu kadar! Gitlab sunucunuz bir güvenlik duvarının arkasında.
Düşünceleri Kapatmak
Şimdilik, çalışan bir Gitlab sunucunuz var. Gitlab arayüzü üzerinden kullanıcı hesapları ve projeler kurmaya başlayabilirsiniz. Gitlab artık normal bir Ubuntu paketi, bu yüzden sisteminizi güncel tutarken apt ile düzenli olarak güncellenecek.
Gitlab, kendi projelerinizi ve üzerinde çalışabileceğiniz daha büyük projeleri yönetmeniz için ihtiyaç duyacağınız tüm esnekliği sağlayacaktır. Giderek daha fazla takımın güvenmeye başladığı, tamamen yetenekli ve sağlam bir platform.