Πώς να εγκαταστήσετε το Gitea στο Ubuntu 18.04

Το Gitea είναι ένα εναλλακτικό ανοιχτού κώδικα, αυτο-φιλοξενούμενο σύστημα ελέγχου έκδοσης που τροφοδοτείται από το git. Το Gitea είναι γραμμένο σε Golang και είναι μια ελαφριά λύση που μπορεί να φιλοξενηθεί σε οποιαδήποτε πλατφόρμα.

Προαπαιτούμενα

  • Νέα παρουσία Vultr Ubuntu 18.04 με τουλάχιστον 2 πυρήνες CPU και 1 GB RAM
  • Χρήστης χωρίς root με δικαιώματα sudo.
  • Nginx
  • Git
  • MariaDB

Βήμα 1: Εγκαταστήστε το Nginx

Ενημερώστε την παρουσία του διακομιστή Vultr Ubuntu 18.04.

sudo apt update

Εγκαταστήστε το Nginx.

sudo apt -y install nginx

Μόλις εγκατασταθεί το Nginx, ελέγξτε εάν λειτουργεί ή όχι περιηγώντας τη δοκιμαστική σελίδα nginx στο πρόγραμμα περιήγησης. Ανοίξτε το πρόγραμμα περιήγησής σας και τοποθετήστε το σε αυτόhttp://example.com

Οι ακόλουθες εντολές μπορούν να χρησιμοποιηθούν για διακοπή, επαναφόρτωση, επανεκκίνηση, έλεγχο της κατάστασης και ενεργοποίηση του Nginx.

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

Βήμα 2: Εγκαταστήστε το Git

Εγκαταστήστε το Git.

sudo apt -y install git

Αφού εγκατασταθεί, ελέγξτε την έκδοση:

git --version
git version 2.17.1

Βήμα 3: Εγκαταστήστε το διακομιστή βάσης δεδομένων MariaDB

Το Gitea υποστηρίζει τις ακόλουθες βάσεις δεδομένων

  • MariaDB/MySQL
  • PostgreSQL
  • SQLite
  • TiDB

Για αυτό το σεμινάριο θα εγκαταστήσουμε τον διακομιστή και τον πελάτη MariaDB.

sudo apt -y install mariadb-server mariadb-client

Μετά την εγκατάσταση του MariaDB, οι παρακάτω εντολές μπορούν να χρησιμοποιηθούν για διακοπή, εκκίνηση, επανεκκίνηση, έλεγχο της κατάστασης και ενεργοποίησή του.

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

Μετά από αυτό, εκτελέστε την παρακάτω εντολή για να ασφαλίσετε τον διακομιστή MariaDB δημιουργώντας έναν κωδικό πρόσβασης root και απαγορεύοντας την απομακρυσμένη πρόσβαση root.

sudo mysql_secure_installation

Όταν σας ζητηθεί, απαντήστε στις παρακάτω ερωτήσεις ακολουθώντας τον οδηγό.

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

Επανεκκινήστε το MariaDB.

sudo systemctl restart mariadb.service

Για να ελέγξετε εάν είναι εγκατεστημένο το MariaDB, πληκτρολογήστε την παρακάτω εντολή για να συνδεθείτε στον διακομιστή MariaDB

sudo mysql -u root -p

Στη συνέχεια, πληκτρολογήστε τον κωδικό πρόσβασης που δημιουργήσατε παραπάνω για να συνδεθείτε. Θα δείτε το μήνυμα καλωσορίσματος της MariaDB.

Δημιουργήστε μια βάση δεδομένων που ονομάζεται gitea.

CREATE DATABASE gitea;

Δημιουργήστε έναν χρήστη βάσης δεδομένων που ονομάζεται giteauserμε νέο κωδικό πρόσβασης.

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

Στη συνέχεια, παραχωρήστε στον χρήστη πλήρη πρόσβαση στη βάση δεδομένων.

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

Τέλος, αποθηκεύστε τις αλλαγές σας και βγείτε.

FLUSH PRIVILEGES;
EXIT;

Βήμα 4: Προετοιμάστε το Περιβάλλον Gitea

Δημιουργήστε έναν χρήστη για να τρέξει το Gitea.

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

Δημιουργήστε την απαιτούμενη δομή καταλόγου.

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

Βήμα 5: Εγκαταστήστε το Gitea

Το δυαδικό αρχείο Gitea μπορεί να ληφθεί εκτελώντας τις ακόλουθες εντολές.

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

Αντιγράψτε το δυαδικό αρχείο σε μια καθολική τοποθεσία.

sudo cp gitea /usr/local/bin/gitea

Βήμα 6: Δημιουργήστε ένα αρχείο υπηρεσίας για αυτόματη εκκίνηση του Gitea

Δημιουργήστε ένα αρχείο υπηρεσίας linux.

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

Συμπληρώστε το αρχείο με τα ακόλουθα.

[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

Ενεργοποιήστε και ξεκινήστε το Gitea κατά την εκκίνηση.

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

Εκτελέστε την εντολή κατάστασης.

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

Βήμα 7: Διαμορφώστε το Nginx ως αντίστροφο διακομιστή μεσολάβησης

Διαγράψτε το προεπιλεγμένο αρχείο διαμόρφωσης nginx.

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

Δημιουργήστε μια αντίστροφη διαμόρφωση διακομιστή μεσολάβησης για το Gitea.

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

Συμπληρώστε το αρχείο με την ακόλουθη διαμόρφωση.

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;
    }
}

Ενεργοποιήστε τη διαμόρφωση αντίστροφου διακομιστή μεσολάβησης Gitea Nginx.

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

Στη συνέχεια, φορτώστε ξανά την υπηρεσία Nginx.

sudo systemctl reload nginx.service

Στη συνέχεια, ανοίξτε το πρόγραμμα περιήγησής σας και αναζητήστε το όνομα κεντρικού υπολογιστή ή τη διεύθυνση IP του διακομιστή.

http://example.com/install

Ακολουθήστε τις οδηγίες στην οθόνη για να ολοκληρώσετε τη ρύθμιση του Gitea.

Αφήστε ένα σχόλιο

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα