Instalace GitLabu na server Debian 9 VPS + ISPconfig

Procédure

GitLab je výkonný nástroj pro snadnou správu různých repozitářů Git. Jeho nastavení v našich operačních systémech s ISPConfig 3 se však může snadno stát bolestí hlavy. Proto jsme se rozhodli poskytnout vám kompletní návod k této operaci.

Požadavky

GitLab vyžaduje alespoň 2 GB paměti RAM. V kombinaci s minimálně 2 GB pro ISPConfig 3, počtem prováděných procesů (což představuje téměř 30 % kvóty pro samotný ISPConfig bez jakýchkoli webových stránek) jenabídka VPS L z řady LWS Starter dostatečná pro malé projekty, ale pro jakýkoli profesionální projekt doporučujeme řadu VPS Pro.

Pro tento návod budeme používat VPS s prázdným operačním systémem Debian 9 + ISPConfig 3 nabízeným v panelu LWS. Zde jsou odkazy na další návody pro jiné operační systémy:

Pokud chcete změnit operační systém na svém VPS, zde je odkaz na dokumentaci nápovědy: Jak změním operační systém na svém VPS?

Upozorňujeme, že tento návod byl testován pouze na VIRGIN instalaci Debianu 9 + ISPConfig. Pokud již máte na svém VPS nainstalovány webové stránky nebo jiné služby, nemůžeme zaručit, že návod bude účinný a/nebo že všechny ostatní služby budou po instalaci funkční.

Nezapomeňte povolit port SSH na firewallu VPS a vypnout správu SSH, abyste se mohli připojit jako root ke konzoli SSH.

Shrnutí návodu

Tento návod zahrnuje následující kroky:

  1. Aktualizace operačního systému
  2. Instalace systému Gitlab
  3. Vytvoření certifikátu Let's Encrypt SSL
  4. Nastavení reverzního proxy serveru Apache před Gitlabem

1. Aktualizace operačního systému

Před instalací čehokoli doporučujeme aktualizovat seznam balíčků a balíčky samotné. V konzoli SSH napište následující příkazy:

apt-get update
apt-get upgrade -y
apt-get dist-upgrade -y

Můžeme také aktualizovat ISPConfig.

2. Instalace systému Gitlab

Nejprve nainstalujme závislosti vyžadované systémem Gitlab:

apt-get install -y curl openssh-server ca-certificates

Dále přidejte úložiště Gitlab do svého VPS:

V případě, že je to nutné, přidejte příkaz curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | bash

Nyní nainstalujme Gitlab na port 6080 (náhodně zvolený port):

EXTERNAL_URL="http://vpsXXXXX.lws-hosting.com:6080" apt-get install gitlab-ee

Instalace trvá několik minut, takže si při čekání můžete dát šálek čaje.

Tip: pokud máte nestabilní připojení k internetu, můžete v případě neočekávaného odpojení použít obrazovku pro opětovné připojení k odpojitelné konzoli. Dokumentace k použití obrazovky.

Instalace se nezdaří. To je zcela normální. Je to proto, že se Gitlab pokusí provést změny v jádře, ale tyto změny nejsou na serverech LWS VPS povoleny kvůli použité virtualizační technologii. Abyste to obešli, musíte se "dotknout" (spustit příkaz touch) konfiguračních souborů jádra, které Gitlab vyhledal, a vyprázdnit jejich obsah, abyste mohli pokračovat v instalaci:

touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.sem.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.shmall.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.shmmax.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-net.core.somaxconn.conf

Pokud existují další konfigurační soubory, neváhejte je vyprázdnit. Poté spusťte následující příkaz pro přegenerování konfigurace Gitlab:

gitlab-ctl reconfigure

Nyní je třeba zastavit systém GitLab, který podle toho, co se vám podařilo ověřit, vůbec nefunguje:

gitlab-ctl stop

Problém pochází z modulu unicorn, který používá stejný port jako ISPConfig. Změníme tedy jeho port úpravou souboru /etc/gitlab/gitlab.rb:

nano /etc/gitlab/gitlab.rb

a upravte následující řádek:

# unicorn['port'] = 8080 unicorn['port'] = 8083

Předtím to byl komentář a hodnota byla 8080. Nyní jsme jej odkomentovali a jako port jsme nastavili 8083. Vytvořme znovu konfigurační soubory:

gitlab-ctl reconfigure

Nyní musíme restartovat systém Gitlab:

gitlab-ctl restart

Tip: Pokud se unicorn odmítá spustit, existují podřízené procesy, které ještě nebyly uzavřeny. Zavřete je příkazem gitlab-ctl stop a pak to zkuste znovu.

3. Vytvoření SSL certifikátu Let's Encrypt

Pro zabezpečení přístupu do systému Gitlab vytvoříme certifikát Let's Encrypt SSL, který bude následně nainstalován na reverzní proxy server.

Poznámka: Certifikát SSL nebudeme instalovat do systému Gitlab. Budeme pouze zabezpečovat přístup k jeho reverznímu proxy serveru. Ke službě Gitlab budeme přistupovat pouze přes reverzní proxy server, takže šifrováním provozu, který neopustí VPS, můžeme našemu VPS ušetřit další výpočetní úsilí.

Abychom to mohli provést, musíme nejprve nasměrovat adresu git.example.com na svůj VPS. Pak použijeme certbot:

certbot certonly --webroot -w /usr/local/ispconfig/interface/acme/ -d git.example.com

Poznámka: ISPConfig (díky svému vhost a .conf pro Apache) přímo přesměrovává požadavky obsahující /.well-known/ na /usr/local/ispconfig/interface/acme/. Používáme tedy ověřování Webroot a používáme k tomu určenou složku ISPConfig. Tím se vyhneme zásahům do ISPConfig při obnovování.

Pokud na svém VPS vytváříte SSL certifikát Let's Encrypt poprvé, měli byste zadat e-mailovou adresu a přijmout podmínky používání Let's Encrypt.

4. Konfigurace reverzního proxy serveru Apache

Nyní je třeba nakonfigurovat reverzní proxy server Apache, který bude koexistovat s ISPConfig a přidruženými weby. Vytvoříme tedy nový konfigurační soubor :

nano /etc/apache2/sites-available/gitlab.conf

a budeme muset přidat následující obsah :


    ServerName git.exemple.com ServerAdmin root@git.exemple.com RewriteEngine On RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]


    ServerName git.exemple.com ServerAdmin root@git.exemple.com ProxyRequests Off ProxyPreserveHost On ProxyVia Full Require all granted  ProxyPass http://127.0.0.1:6080/ ProxyPassReverse http://127.0.0.1:6080/ ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/letsencrypt/live/git.exemple.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/git.exemple.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/git.exemple.com/chain.pem

A aktivujme tento nový vhost :

ln -s /etc/apache2/sites-available/gitlab.conf /etc/apache2/sites-enabled/000-gitlab.conf

Před restartováním Apache je však třeba aktivovat potřebné moduly:

a2enmod proxy a2enmod proxy_http

Nyní restartujte Apache :

systemctl restart apache2

A to je vše. Pokud přejdete na stránku git.example.com, uvidíte, že je Gitlab připraven:

Instalace GitLabu na server Debian 9 VPS + ISPconfig

Ohodnotit tento článek :

5/5 | 2 názor

Tento článek byl pro vás užitečný ?

Article utileAno

Article non utileNe

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Podobné články

3mn čtení

Jak získám přístup k ISPConfig na svém dedikovaném VPS serveru?

0mn čtení

Jak vytvořím server DNS v ISPConfig na vyhrazeném serveru VPS?

0mn čtení

Jak změním heslo panelu ISPConfig 3?

1mn čtení

Jak mohu zabezpečit přístup k panelu ISPconfig pomocí souboru .htaccess?


Položte týmu LWS a jeho komunitě otázku