GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Panels

So betreiben Sie Ihren eigenen Git-Server mit GitlabHQ unter Ubuntu 14.04

Wie man seinen eigenen Git-Server mit GitlabHQ auf Ubuntu 14.04 betreibt

Dieses Dokument beschreibt die Installation und Konfiguration von Git und GitHub. Dies sind großartige Tools, um eine ganze Reihe von Git-Repositories und die damit verbundenen Berechtigungen zu verwalten und zu verwalten. Dies bleibt also ein wahrer Segen für Benutzer, die Open-Source-Software schreiben, aber wenn sie eine Closed-Source-Software schreiben, ist es möglicherweise nicht bequem, den Code einem Drittanbieter-Server anzuvertrauen. Um die dringend benötigte Flexibilität und Kontrolle über Dinge wie Github/BitBucket zu erlangen, ohne die Git-Repositories auf Servern zu hosten, die außerhalb der Kontrolle der Benutzer liegen, bleibt GitLab ein Glücksfall!

GitLab ist ein wunderbares Tool, das bietet eine einfache und benutzerfreundliche, aber leistungsstarke webbasierte Schnittstelle zu den Git-Repositories auf Ihrem Server, nämlich GitHub. Benutzern steht es frei, es auf ihrem eigenen Cloud-Server zu hosten, den Zugriff auf eine benutzerdefinierte Weise zu steuern, und der einzige Faktor, der die Repo-Größe einschränkt, ist der eingebaute Speicherplatz des Servers.

Ich übernehme keine Garantie dafür, dass dies bei Ihnen funktioniert!

1 Vorbemerkung

Dieses Tutorial basiert auf dem Ubuntu 14.04-Server, daher sollten Sie eine grundlegende Ubuntu 14.04-Serverinstallation einrichten, bevor Sie mit diesem Tutorial fortfahren. Das System sollte eine statische IP-Adresse haben. Ich verwende in diesem Tutorial 192.168.0.100 als IP-Adresse und server1.example.com als Hostnamen. Die gesamte erforderliche Software muss installiert sein, damit GitLab funktioniert. Daher können diejenigen, die ein vorhandenes VPS (Droplet) / eine ganz andere Linux-Distribution verwenden, mit Störungen konfrontiert werden, ausdrücklich mit inkompatiblen Python- und Ruby-Versionen. Daher ist es zwingend erforderlich, Ruby 2.0 zu haben und Python 2.7 von Anfang an installiert.

2 Installation von Ruby 2.0 oder höher, Python 2.7 und Bundler Gem

Wir werden zuerst die Vorkonfigurationen installieren, bevor wir Konfigurationen des Git-Hubs vornehmen. Der Prozess zur Installation der erforderlichen Pakete wurde unten erläutert.

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 libxml2 -dev libxslt-dev libcurl4-openssl-dev libicu-dev

Hinweis:Benutzer müssen sicherstellen, dass Ruby 1.8 nicht auf ihrem System installiert ist, obwohl die Wahrscheinlichkeit gering ist, dass dies auf einem Standard-Ubuntu 14.04 der Fall wäre

Sie können Ihre Python-Version wie folgt überprüfen (in meinem Fall ist es Python 2.7.6):

python --version

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

Dies kann wie unten gezeigt durchgeführt werden, indem Ruby 2.1.2 installiert wird, Ruby kann wie folgt installiert werden:

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

Weiterhin prüfen wir die Ruby-Version als:

ruby -v

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

Als nächstes installieren wir den Bundler Gem wie folgt:

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

[email protected]:/tmp/ruby/ruby-2.1.2# gem install bundler --no-ri --no-rdoc
Abrufen:bundler-1.6.5.gem (100%)
Bundler-1.6.5 erfolgreich installiert
1 Gem installiert
[email protected]:/tmp/ruby/ruby-2.1.2#

Jetzt erstellen wir wie folgt einen user=git-Benutzer für Gitlab, der in weiteren Konfigurationen verwendet wird:

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

3 Installation der GitLab-Shell

Wir werden die GitLab-Shell mit dem folgenden Befehl herunterladen:

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

Weiterhin werden wir eine Sicherungskopie der Originaldatei config.yml.example erstellen und in config.yml kopieren. Bearbeiten Sie die Datei wie folgt:

vi config.yml

Jetzt müssen wir den Wert von gitlab_url:„http://localhost/“ wie gezeigt in den Git-Wert ändern:

# 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"

[....]

Jetzt führen wir die wie folgt installierte GitLab-Shell aus:

sudo -u git -H ./bin/install

Es wird wie folgt ausgegeben:

[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
touch /home/git/.ssh/authorized_keys:true
chmod 600 /home/git/. ssh/authorized_keys:true
chmod -R ug+rwX,o-rwx /home/git/repositories:true
find /home/git/repositories -type d -print0 | xargs -0 chmod g+s:true
[email protected]:/home/git/gitlab-shell#

4 Mariadb-Installation für GitLab

Jetzt richten wir das GitLab so ein, dass es eine Mariadb verwendet, die im Backend verwendet werden soll. Der erste Schritt besteht darin, Mariadb mit dem unten angegebenen Befehl zu installieren. Während des Installationsvorgangs werden Sie aufgefordert, ein MySQL-Root-Passwort einzurichten, das Sie nach Ihren persönlichen Vorlieben festlegen können, Sie müssen sich dieses jedoch zur Verwendung in den nachfolgenden Schritten notieren.

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

Neues Passwort für den MariaDB-Benutzer „root“:<--mariadbpassword
Wiederholen Sie das Passwort für den MariaDB-Benutzer "root":<--mariadbpassword

Gitlab-Datenbankerstellung:

mysql -u root -p

Verwenden Sie in der Mariadb-Eingabeaufforderung database=gitlabdb user=gitlabuser und password=gitlabuserpassword:

CREATE DATABASE gitlabdb DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON gitlabdb.* TO 'gitlabuser'@'localhost' IDENTIFIED BY 'gitlabuserpassword';
Berechtigungen löschen;
beenden

Nun gehen wir bei der Installation wie folgt vor:

cd /home/git
sudo -u git -H git clone 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

Genau wie bei der Einrichtung der GitLab-Shell müssen Sie, wenn Sie eine Domäne für den VPS konfiguriert haben, die config.yml bearbeiten, um diese Domäne zu verwenden (wie im folgenden Befehl gezeigt):

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

Hier müssen Sie auch einige Linux-Dateiberechtigungen festlegen, die Gitconfig des Git-Benutzers konfigurieren und einige GitLabconfig und Verzeichnisse für den Git-Benutzer einrichten (wie unten gezeigt):

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

Als Nächstes müssen wir GitLab anweisen, den Gitlab-Mariadb-Benutzer zu verwenden, den Sie zuvor eingerichtet haben. Dazu bearbeiten wir die Datei config/database.ymlfile (wie unten gezeigt):

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"
[...]

Bitte geben Sie die Werte so ein, wie Sie sie zum Zeitpunkt der Datenbankerstellung angegeben haben. Die obigen Werte können abweichen, wenn Sie zum Zeitpunkt der Datenbankerstellung andere Werte verwendet haben. Ändern Sie die Dateiberechtigungen wie folgt:

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

Jetzt können wir ein paar weitere benötigte Gems installieren, und dies kann ein ziemlich langer Schritt sein (wie unten gezeigt):

cd /home/git/gitlab
gem install charlock_holmes --version '0.6.9.4'

Laden Sie das Paket herunter und installieren Sie es:

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 # Select 'Internet Site', die Verwendung von sendmail funktioniert auch, exim hat Probleme

Hier wird nach einigen Benutzereingaben gefragt, bitte wählen Sie Internet Site, verwenden Sie die System-Mail als server1.example.com. Sie können auch sendmail verwenden, anstatt postfix zu installieren. In diesem Fall funktionieren exim nicht. Installieren Sie als Nächstes das Git-Lab:

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

Bearbeiten Sie die Konfigurationsdatei, um unseren Hostnamen hinzuzufügen, z. B. hostname=server1.example.com:

vi /etc/gitlab/gitlab.rb


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

Wir werden dann den Start des GitLab wie folgt neu konfigurieren:

gitlab-ctl neu konfigurieren

Sie können die Anmeldeseite unter http://192.168.0.100/users/sign_on durchsuchen und die Anmeldeinformationen als username=root und password=5iveL!fe

verwenden


Ändern Sie das ursprüngliche Passwort:


Dies wird Ihre Standard-Willkommensseite sein.


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

Panels
  1. So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 16.04

  2. So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 20.04

  3. So richten Sie einen E-Mail-Server mit Mail-in-a-Box unter Ubuntu ein

  4. So installieren Sie Elgg mit Nginx unter Ubuntu 18.04

  5. So fügen Sie Ihrem Ubuntu 18.04-Server eine zusätzliche IP hinzu

So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 18.04 LTS

So führen Sie Tomcat Server beim Start auf Ubuntu Server aus

So richten Sie den Git-Server unter Ubuntu 20.04 ein

Betreiben Sie Ihre eigene Video-Sharing-Website mit YouPHPTube auf Debian 10 Buster

So betreiben Sie Ihren eigenen Nameserver mit ISPConfig und providerdomain.de (Schlund)

Gewusst wie:Sichern Sie Ihren Ubuntu- oder Debian-Server mit IPTables