GNU/Linux >> Znalost Linux >  >> Panels >> Panels

Jak spustit svůj vlastní Git server s GitlabHQ na Ubuntu 14.04

Jak spustit svůj vlastní Git server s GitlabHQ na Ubuntu 14.04

Tento dokument popisuje, jak nainstalovat a nakonfigurovat Git a GitHub. Jsou to skvělé nástroje pro správu a správu celé řady úložišť Git a souvisejících oprávnění. To tedy zůstává skutečným požehnáním pro uživatele píšící software s otevřeným zdrojovým kódem, avšak při psaní softwaru s uzavřeným zdrojovým kódem nemusí být pohodlné důvěřovat kódu serveru třetí strany. Chcete-li získat tolik potřebnou flexibilitu a kontrolu nad věcmi jako Github/BitBucket bez hostování git repozitářů na serverech, které leží mimo kontrolu uživatelů, zůstává GitLab darem z nebes!

GitLab je úžasný nástroj, který nabízí jednoduché a uživatelsky přívětivé, ale účinné webové rozhraní pro repozitáře Git na vašem serveru, viz. GitHub. Uživatelé jej mohou volně hostovat na svém vlastním cloudovém serveru, řídit přístup přizpůsobeným způsobem a jediným faktorem omezujícím velikost úložiště je vestavěný úložný prostor serveru.

Nezaručuji, že to pro vás bude fungovat!

1 předběžná poznámka

Tento výukový program je založen na serveru Ubuntu 14.04, takže před pokračováním v tomto výukovém programu byste měli nastavit základní instalaci serveru Ubuntu 14.04. Systém by měl mít statickou IP adresu. V tomto návodu používám jako svou IP adresu 192.168.0.100 a jako název hostitele server1.example.com. Aby GitLab fungoval, musí být nainstalován veškerý potřebný software. Proto ti, kteří používají existující VPS (droplet)/úplně jiné linuxové distro, mohou čelit narušení, výslovně u nekompatibilních verzí Pythonu a Ruby. Proto je nezbytné mít Ruby 2.0 a Python 2.7 nainstalován na začátku.

2 Instalace Ruby 2.0 nebo vyšší, Python 2.7 a Bundler Gem

Nejprve nainstalujeme předkonfigurace před konfigurací Git Hub. Proces instalace požadovaných balíčků je vysvětlen níže.

apt-get update
apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core openssh-server redis-server checkinstall libxml -dev libxslt-dev libcurl4-openssl-dev libicu-dev

Poznámka:Uživatelé se musí ujistit, že na jejich systému není nainstalován Ruby 1.8, ačkoli je pravděpodobné, že tomu tak bude na výchozím Ubuntu 14.04

Verzi Pythonu můžete zkontrolovat následovně (v mém případě je to Python 2.7.6):

python --version

[email protected]:~# python --version
Python 2.7.6
[email protected]:~#

To lze provést, jak je uvedeno níže, instalaci Ruby 2.1.2, Ruby lze nainstalovat následovně:

mkdir /tmp/ruby &&cd /tmp/ruby
wget http://ftp.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz
tar zxvf ruby -2.1.2.tar.gz
cd ruby-2.1.2
./configure
make
make install

Dále zkontrolujeme rubínovou verzi jako:

ruby -v

[email protected]:/tmp/ruby/ruby-2.1.2# ruby ​​-v
ruby 2.1.2p95 (2014-05-08 revize 45877) [x86_64-linux]
example@unixlinux. online:/tmp/ruby/ruby-2.1.2#

Dále nainstalujeme Bundler Gem následovně:

gem install bundler --no-ri --no-rdoc

[email protected]:/tmp/ruby/ruby-2.1.2# balíček instalace drahokamu --no-ri --no-rdoc
Načítání:bundler-1.6.5.gem (100 %)
Úspěšně nainstalován bundler-1.6.5
1 nainstalován drahokam
[email protected]:/tmp/ruby/ruby-2.1.2#

Nyní vytvoříme uživatele user=git pro Gitlab, který bude použit v dalších konfiguracích, následovně:

adduser --disabled-login --gecos 'GitLab' git

3 Instalace prostředí GitLab

Shell GitLab stáhneme pomocí následujícího příkazu:

cd /home/git
sudo -u git -H git klon https://github.com/gitlabhq/gitlab-shell.git
cd gitlab-shell
sudo -u git -H git checkout v1.7.0
sudo -u git -H cp config.yml.example config.yml

Dále provedeme zálohu původního souboru config.yml.example a zkopírujeme jej do config.yml. Upravte soubor následovně:

vi config.yml

Nyní musíme změnit hodnotu z gitlab_url:"http://localhost/" na hodnotu git, jak je znázorněno:

# GitLab user. git by default
user: git

# Url to gitlab instance. Used for api calls. Should end with a slash.
#gitlab_url: "http://localhost/"
gitlab_url:     "http://server1.example.com"

[....]

Nyní spustíme shell GitLab nainstalovaný takto:

sudo -u git -H ./bin/install

Bude mít výstup takto:

[email protected]:/home/git/gitlab-shell# sudo -u git -H ./bin/install
mkdir -p /home/git/repositories:true
mkdir -p /home /git/.ssh:true
chmod 700 /home/git/.ssh:true
dotkněte se /home/git/.ssh/authorized_keys:true
chmod 600 /home/git/. ssh/authorized_keys:true
chmod -R ug+rwX,o-rwx /home/git/repositories:true
najít /home/git/repositories -type d -print0 | xargs -0 chmod g+s:true
[email protected]:/home/git/gitlab-shell#

4 instalace Mariadb pro GitLab

Nyní nastavíme GitLab tak, aby používal Mariadb pro použití v backendu. Prvním krokem je instalace Mariadb pomocí příkazu uvedeného níže. Během procesu instalace vás vyzve k nastavení kořenového hesla MySQL, které si můžete nastavit podle osobních preferencí, ale pro použití v následujících krocích si ho musíte poznamenat.

apt-get install mariadb-server mariadb-client libmariadbclient-dev

Nové heslo pro „root“ uživatele MariaDB:<--mariadbheslo
Opakujte heslo pro „root“ uživatele MariaDB:<--mariadbheslo

Vytvoření databáze Gitlab:

mysql -u root -p

Ve výzvě Mariadb použijte database=gitlabdb user=gitlabuser a password=gitlabuserpassword:

VYTVOŘIT DATABÁZI gitlabdb VÝCHOZÍ SADA ZNAKŮ utf8 COLLATE utf8_unicode_ci;
UDĚLEJTE VÝBĚR, ZAMKNOUT TABULKY, VLOŽIT, AKTUALIZOVAT, DELETE, VYTVOŘIT, DROP, INDEX, ZMĚNIT NA gitlabdb.* NA 'gitlogitlabuser'pass'@word'gitlogitlabuser'pass';
vyprázdnit oprávnění;
ukončit

Nyní budeme při instalaci postupovat následovně:

cd /home/git
sudo -u git -H git klon https://github.com/gitlabhq/gitlabhq.git gitlab
cd /home/git/gitlab
sudo -u git -H git checkout 6-0-stable
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml

Stejně jako v případě nastavení prostředí GitLab, pokud máte doménu nakonfigurovanou pro VPS, musíte upravit soubor config.yml, aby tuto doménu používal (jak je znázorněno v příkazu uvedeném níže):

sudo -u git -H vi config/gitlab.yml

[...] 
## GitLab settings # gitlab: # ## Web server settings # host: localhost # port: 80 # https: false gitlab: ## Web server settings host: server1.example.com port: 80 https: false
[...]

Zde je také nutné nastavit několik oprávnění k souborům pro Linux, nakonfigurovat Gitconfig uživatele git a nastavit některé GitLabconfig a adresáře pro uživatele git (jak je uvedeno níže):

cd /home/git/gitlab
chown -R git log/
chown -R git tmp/
chmod -R u+rwX  log/
chmod -R u+rwX tmp /
sudo -u git -H mkdir /home/git/gitlab-satellites
sudo -u git -H mkdir tmp/pids/
sudo -u git -H mkdir tmp/sockets/
chmod -R u+rwX tmp/pids/
chmod -R u+rwX tmp/sockets/
sudo -u git -H mkdir public/uploads
chmod -R u +rwX  public/uploads
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
sudo -u git -H git config --global user.name "GitLab"
sudo -u git -H git config --global user.email "[email protected]"
sudo -u git -H git config --global core.autocrlf input
sudo -u git cp config/database.yml.mysql config/database.yml

Dále musíme GitLabu sdělit, aby používal uživatele gitlab Mariadb, kterého jste dříve nastavili. Za tímto účelem upravíme soubor config/database.ymfile (jak je uvedeno níže):

sudo -u git -H vi config/database.yml

[...]
#production: # adapter: mysql2 # encoding: utf8 # reconnect: false # database: gitlabhq_production # pool: 10 # username: root # password: "secure password" production: adapter: mysql2 encoding: utf8 reconnect: false database: gitlabdb pool: 10 username: gitlabuser password: "gitlabuserpassword"
[...]

Zadejte hodnoty tak, jak jste uvedli při vytváření databáze, výše uvedené hodnoty se mohou lišit, pokud jste při vytváření databáze použili jiné hodnoty. Změňte oprávnění souboru jako:

sudo -u git -H chmod o-rwx config/database.yml

Nyní můžeme nainstalovat několik dalších potřebných drahokamů, což může být poměrně dlouhý krok (jak je znázorněno níže):

cd /home/git/gitlab
instalace drahokamu charlock_holmes --verze '0.6.9.4'

Stáhněte si balíček a nainstalujte jej:

wget https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab_7.1.1-omnibus-1_amd64.deb
apt-get install openssh-server
apt-get install postfix # Vybrat 'Internet Site', místo toho také funguje sendmail, exim má problémy

Zde se zeptá na nějaký uživatelský vstup, vyberte prosím Internet Site, použijte systémovou poštu jako server1.example.com Místo instalace postfixu můžete také použít sendmail. V tomto případě exim nefunguje. Dále nainstalujte git lab:

dpkg -i gitlab_7.1.1-omnibus-1_amd64.deb

Upravte konfigurační soubor a přidejte náš název hostitele, tj. hostname=server1.example.com:

vi /etc/gitlab/gitlab.rb


[....]
#external_url 'http://gitlab.example.com' external_url 'http://server1.example.com'

Poté překonfigurujeme spuštění GitLabu následovně:

překonfigurovat gitlab-ctl

Přihlašovací stránku můžete procházet na adrese http://192.168.0.100/users/sign_on, použijte přihlašovací údaje jako username=root a password=5iveL!fe


Změňte původní heslo:


Toto bude vaše výchozí uvítací stránka.


  • gitlab:https://about.gitlab.com/
  • ubuntu:http://www.ubuntu.com/

Panels
  1. Jak nastavit e-mailový server s Mail-in-a-Box na Ubuntu

  2. Jak nainstalovat Elgg s Nginx na Ubuntu 18.04

  3. Jak nainstalovat WordPress s OpenLiteSpeed ​​na Ubuntu 18.04

  1. Jak nainstalovat HTTP Git Server s Nginx na Ubuntu 16.04

  2. Jak nainstalovat WordPress s LAMP Stack na Ubuntu 20.04

  3. Jak přidat další IP na váš server Ubuntu 18.04

  1. Jak nainstalovat WordPress s LAMP Stack na Ubuntu 16.04

  2. Jak nainstalovat poštovní server s PostfixAdmin na Ubuntu 20.04

  3. Jak nainstalovat Vanilla Forums s OpenLiteSpeed ​​na Ubuntu 20.04