So installieren Sie Gitea unter Ubuntu 18.04

Gitea ist ein alternatives Open-Source-Versionskontrollsystem, das von git unterstützt wird. Gitea ist in Golang geschrieben und eine leichte Lösung, die auf jeder Plattform gehostet werden kann.

Voraussetzungen

  • Neue Vultr Ubuntu 18.04-Instanz mit mindestens 2 CPU-Kernen und 1 GB RAM
  • Nicht-Root-Benutzer mit Sudo-Berechtigungen.
  • Nginx
  • Git
  • MariaDB

Schritt 1: Installieren Sie Nginx

Aktualisieren Sie Ihre Vultr Ubuntu 18.04 Server-Instanz.

sudo apt update

Installieren Sie Nginx.

sudo apt -y install nginx

Testen Sie nach der Installation von Nginx, ob es funktioniert oder nicht, indem Sie die Nginx-Testseite im Browser durchsuchen. Öffnen Sie Ihren Webbrowser und zeigen Sie daraufhttp://example.com

Mit den folgenden Befehlen können Sie Nginx stoppen, neu laden, neu starten, den Status überprüfen und Nginx aktivieren.

sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl restart nginx.service
sudo systemctl reload nginx.service
sudo systemctl enable nginx.service

Schritt 2: Installieren Sie Git

Installieren Sie Git.

sudo apt -y install git

Überprüfen Sie nach der Installation die Version:

git --version
git version 2.17.1

Schritt 3: Installieren Sie den MariaDB-Datenbankserver

Gitea unterstützt die folgenden Datenbanken

  • MariaDB / MySQL
  • PostgreSQL
  • SQLite
  • TiDB

In diesem Tutorial installieren wir den MariaDB-Server und -Client.

sudo apt -y install mariadb-server mariadb-client

Nach der Installation von MariaDB können die folgenden Befehle zum Stoppen, Starten, Neustarten, Überprüfen des Status und Aktivieren verwendet werden.

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl restart mariadb.service
sudo systemctl status mariadb.service
sudo systemctl enable mariadb.service

Führen Sie danach den folgenden Befehl aus, um den MariaDB-Server zu sichern, indem Sie ein Root-Passwort erstellen und den Remote-Root-Zugriff nicht zulassen.

sudo mysql_secure_installation

Wenn Sie dazu aufgefordert werden, beantworten Sie die folgenden Fragen, indem Sie der Anleitung folgen.

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

Starten Sie MariaDB neu.

sudo systemctl restart mariadb.service

Geben Sie den folgenden Befehl ein, um zu testen, ob MariaDB installiert ist, um sich beim MariaDB-Server anzumelden

sudo mysql -u root -p

Geben Sie dann das oben erstellte Passwort ein, um sich anzumelden. Sie sehen die Begrüßungsnachricht von MariaDB.

Erstellen Sie eine Datenbank mit dem Namen gitea.

CREATE DATABASE gitea;

Erstellen Sie einen Datenbankbenutzer, der giteausermit einem neuen Kennwort aufgerufen wird .

CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';

Gewähren Sie dem Benutzer dann vollen Zugriff auf die Datenbank.

GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

Speichern Sie abschließend Ihre Änderungen und beenden Sie das Programm.

FLUSH PRIVILEGES;
EXIT;

Schritt 4: Bereiten Sie die Gitea-Umgebung vor

Erstellen Sie einen Benutzer, um Gitea auszuführen.

sudo adduser \
   --system \
   --shell /bin/bash \
   --gecos 'Git Version Control' \
   --group \
   --disabled-password \
   --home /home/git \
   git

Erstellen Sie die gewünschte Verzeichnisstruktur.

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git:git /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

Schritt 5: Installieren Sie Gitea

Die Gitea-Binärdatei kann durch Ausführen der folgenden Befehle heruntergeladen werden.

sudo wget -O gitea https://dl.gitea.io/gitea/1.5.0/gitea-1.5.0-linux-amd64 
sudo chmod +x gitea

Kopieren Sie die Binärdatei an einen globalen Speicherort.

sudo cp gitea /usr/local/bin/gitea

Schritt 6: Erstellen Sie eine Servicedatei, um Gitea automatisch zu starten

Erstellen Sie eine Linux-Dienstdatei.

sudo nano /etc/systemd/system/gitea.service

Füllen Sie die Datei wie folgt aus.

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

Aktivieren und starten Sie Gitea beim Booten.

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

Führen Sie den Statusbefehl aus.

sudo systemctl status gitea

● gitea.service - Gitea (Git with a cup of tea)
  Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: en
  Active: active (running) since Wed 2018-10-10 14:15:28 CDT; 19ms ago
 Main PID: 17769 (gitea)
   Tasks: 4 (limit: 2321)
  CGroup: /system.slice/gitea.service
       ├─17769 /usr/local/bin/gitea web -c /etc/gitea/app.ini
       └─17774 /usr/local/bin/gitea web -c /etc/gitea/app.ini

Schritt 7: Konfigurieren Sie Nginx als Reverse-Proxy

Löschen Sie die Standard-Nginx-Konfigurationsdatei.

sudo rm /etc/nginx/sites-enabled/default

Erstellen Sie eine Reverse-Proxy-Konfiguration für Gitea.

sudo nano /etc/nginx/sites-available/git

Füllen Sie die Datei mit der folgenden Konfiguration.

upstream gitea {
    server 127.0.0.1:3000;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name example.com;
    root /var/lib/gitea/public;
    access_log off;
    error_log off;

    location / {
      try_files maintain.html $uri $uri/index.html @node;
    }

    location @node {
      client_max_body_size 0;
      proxy_pass http://localhost:3000;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_max_temp_file_size 0;
      proxy_redirect off;
      proxy_read_timeout 120;
    }
}

Aktivieren Sie die Reverse-Proxy-Konfiguration von Gitea Nginx.

sudo ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled

Laden Sie dann den Nginx-Dienst neu.

sudo systemctl reload nginx.service

Öffnen Sie als Nächstes Ihren Browser und navigieren Sie zum Server-Hostnamen oder zur IP-Adresse.

http://example.com/install

Befolgen Sie die Anweisungen auf dem Bildschirm, um das Gitea-Setup abzuschließen.



Leave a Comment

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.