Πώς να εγκαταστήσετε το 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.


Εγκαταστήστε το Plesk στο CentOS 7

Εγκαταστήστε το Plesk στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Plesk είναι ένας ιδιόκτητος πίνακας ελέγχου web host που επιτρέπει στους χρήστες να διαχειρίζονται τους προσωπικούς ή/και τους πελάτες τους ιστότοπους, βάσεις δεδομένων

Εγκαταστήστε το Lets Encrypt SSL σε εφαρμογή WordPress με ένα κλικ

Εγκαταστήστε το Lets Encrypt SSL σε εφαρμογή WordPress με ένα κλικ

Εισαγωγή Το Lets Encrypt είναι μια υπηρεσία αρχής έκδοσης πιστοποιητικών που προσφέρει δωρεάν πιστοποιητικά TLS/SSL. Η διαδικασία εγκατάστασης απλοποιείται από το Certbot,

Πώς να ρυθμίσετε έναν διακομιστή Tekkit Classic στο Ubuntu 16.10

Πώς να ρυθμίσετε έναν διακομιστή Tekkit Classic στο Ubuntu 16.10

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Τι είναι το Tekkit Classic; Το Tekkit Classic είναι ένα modpack για το παιχνίδι που όλοι γνωρίζουν και αγαπούν. Minecraft. Περιέχει μερικά από τα εδ

Δημιουργία ιστολογίου Jekyll στο Ubuntu 16.04

Δημιουργία ιστολογίου Jekyll στο Ubuntu 16.04

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Jekyll είναι μια εξαιρετική εναλλακτική λύση στο WordPress για blogging ή κοινή χρήση περιεχομένου. Δεν απαιτεί βάσεις δεδομένων και είναι πολύ εύκολο

Πώς να ρυθμίσετε αναβαθμίσεις χωρίς παρακολούθηση στο Debian 9 (Stretch)

Πώς να ρυθμίσετε αναβαθμίσεις χωρίς παρακολούθηση στο Debian 9 (Stretch)

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εάν αγοράσετε έναν διακομιστή Debian, τότε θα πρέπει να έχετε πάντα τις πιο πρόσφατες ενημερώσεις κώδικα και ενημερώσεις, είτε κοιμάστε είτε όχι

Πώς να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους της PHP 7.0 ή της PHP 7.1 στο Ubuntu 16.04

Πώς να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους της PHP 7.0 ή της PHP 7.1 στο Ubuntu 16.04

Η PHP και τα σχετικά πακέτα είναι τα πιο συχνά χρησιμοποιούμενα στοιχεία κατά την ανάπτυξη ενός διακομιστή web. Σε αυτό το άρθρο, θα μάθουμε πώς να ρυθμίζετε την PHP 7.0 ή την PHP 7.1 o

Πώς να εγκαταστήσετε το Squid Proxy στο CentOS

Πώς να εγκαταστήσετε το Squid Proxy στο CentOS

Το Squid είναι ένα δημοφιλές, δωρεάν πρόγραμμα Linux που σας επιτρέπει να δημιουργήσετε έναν διακομιστή μεσολάβησης web προώθησης. Σε αυτόν τον οδηγό, θα δείτε πώς να εγκαταστήσετε το Squid στο CentOS για να σας μετατρέψει

Πώς να εγκαταστήσετε το Lighttpd (Στοίβα LLMP) στο CentOS 6

Πώς να εγκαταστήσετε το Lighttpd (Στοίβα LLMP) στο CentOS 6

Εισαγωγή Το Lighttpd είναι ένα πιρούνι του Apache που έχει ως στόχο να είναι πολύ λιγότερο εντάσεως πόρων. Είναι ελαφρύ, εξ ου και το όνομά του, και είναι αρκετά απλό στη χρήση. Εγκατάσταση

Τρεις δωρεάν πίνακες ελέγχου διακομιστή (Γρήγορη εγκατάσταση)

Τρεις δωρεάν πίνακες ελέγχου διακομιστή (Γρήγορη εγκατάσταση)

1. Virtualmin/Webmin Το Virtualmin είναι ένας ισχυρός και ευέλικτος πίνακας ελέγχου φιλοξενίας ιστοσελίδων για συστήματα Linux και UNIX που βασίζεται στη γνωστή διαδικτυακή βάση ανοιχτού κώδικα

Ρύθμιση μιας εφαρμογής Yii στο Ubuntu 14.04

Ρύθμιση μιας εφαρμογής Yii στο Ubuntu 14.04

Το Yii είναι ένα πλαίσιο PHP που σας επιτρέπει να αναπτύσσετε εφαρμογές πιο γρήγορα και εύκολα. Η εγκατάσταση του Yii στο Ubuntu είναι απλή, όπως θα μάθετε ακριβώς

Χρήση της οθόνης στο Ubuntu 14.04

Χρήση της οθόνης στο Ubuntu 14.04

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

Ρυθμίστε τον δικό σας διακομιστή DNS σε Debian/Ubuntu

Ρυθμίστε τον δικό σας διακομιστή DNS σε Debian/Ubuntu

Αυτό το σεμινάριο εξηγεί πώς να ρυθμίσετε έναν διακομιστή DNS χρησιμοποιώντας Bind9 σε Debian ή Ubuntu. Σε όλο το άρθρο, αντικαταστήστε το your-domain-name.com ανάλογα. Στο ου

Χρήση Logrotate για διαχείριση αρχείων καταγραφής

Χρήση Logrotate για διαχείριση αρχείων καταγραφής

Εισαγωγή Το Logrotate είναι ένα βοηθητικό πρόγραμμα Linux που απλοποιεί τη διαχείριση αρχείων καταγραφής. Συνήθως εκτελείται μία φορά την ημέρα μέσω μιας εργασίας cron και διαχειρίζεται τη βάση καταγραφής

Τροποποίηση Icinga2 για χρήση Μοντέλου Master/Client σε CentOS 6 ή CentOS 7

Τροποποίηση Icinga2 για χρήση Μοντέλου Master/Client σε CentOS 6 ή CentOS 7

Το Icinga2 είναι ένα ισχυρό σύστημα παρακολούθησης και όταν χρησιμοποιείται σε μοντέλο master-client, μπορεί να αντικαταστήσει την ανάγκη για ελέγχους παρακολούθησης που βασίζονται σε NRPE. Ο κύριος-πελάτης

Ρύθμιση του Red5 Media Server στο Ubuntu 16.04

Ρύθμιση του Red5 Media Server στο Ubuntu 16.04

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Red5 είναι ένας διακομιστής πολυμέσων ανοιχτού κώδικα που υλοποιείται σε Java που σας επιτρέπει να εκτελείτε εφαρμογές Flash πολλών χρηστών, όπως η ζωντανή ροή

Μεταγλώττιση και εγκατάσταση του Nginx με τη μονάδα PageSpeed ​​στο Debian 8

Μεταγλώττιση και εγκατάσταση του Nginx με τη μονάδα PageSpeed ​​στο Debian 8

Σε αυτό το άρθρο, θα δούμε πώς να μεταγλωττίσετε και να εγκαταστήσετε το Nginx mainline από τις επίσημες πηγές του Nginx με τη μονάδα PageSpeed, η οποία σας επιτρέπει να

Πώς να εγκαταστήσετε το Apache Cassandra 3.11.x στο Ubuntu 16.04 LTS

Πώς να εγκαταστήσετε το Apache Cassandra 3.11.x στο Ubuntu 16.04 LTS

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Apache Cassandra είναι ένα δωρεάν και ανοιχτού κώδικα σύστημα διαχείρισης βάσεων δεδομένων NoSQL που έχει σχεδιαστεί για να παρέχει επεκτασιμότητα, υψηλή

Πώς να εγκαταστήσετε το Apache Cassandra 3.11.x στο CentOS 7

Πώς να εγκαταστήσετε το Apache Cassandra 3.11.x στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Apache Cassandra είναι ένα δωρεάν και ανοιχτού κώδικα σύστημα διαχείρισης βάσεων δεδομένων NoSQL που έχει σχεδιαστεί για να παρέχει επεκτασιμότητα, υψηλή

Πώς να εγκαταστήσετε το Vanilla Forum στο Ubuntu 16.04

Πώς να εγκαταστήσετε το Vanilla Forum στο Ubuntu 16.04

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Vanilla forum είναι μια εφαρμογή φόρουμ ανοιχτού κώδικα γραμμένη σε PHP. Είναι πλήρως προσαρμόσιμο, εύκολο στη χρήση και υποστηρίζει εξωτερικά

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

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

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εισαγωγή Το Kanboard είναι ένα δωρεάν και ανοιχτού κώδικα πρόγραμμα λογισμικού διαχείρισης έργων που έχει σχεδιαστεί για να διευκολύνει και να οπτικοποιήσει

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. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα