Προαπαιτούμενα
Βήμα 1: Εγκαταστήστε το Nginx
Βήμα 2: Εγκαταστήστε το Git
Βήμα 3: Εγκαταστήστε το διακομιστή βάσης δεδομένων MariaDB
Βήμα 4: Προετοιμάστε το Περιβάλλον Gitea
Βήμα 5: Εγκαταστήστε το Gitea
Βήμα 6: Δημιουργήστε ένα αρχείο υπηρεσίας για αυτόματη εκκίνηση του Gitea
Βήμα 7: Διαμορφώστε το Nginx ως αντίστροφο διακομιστή μεσολάβησης
Το Gitea είναι ένα εναλλακτικό ανοιχτού κώδικα, αυτο-φιλοξενούμενο σύστημα ελέγχου έκδοσης που υποστηρίζεται από το Git. Το Gitea είναι γραμμένο σε Golang και είναι μια ελαφριά λύση που μπορεί να φιλοξενηθεί σε οποιαδήποτε πλατφόρμα.
Προαπαιτούμενα
- Νέα παρουσία Vultr Debian 9.
- Χρήστης που δεν είναι root με
sudo
προνόμια.
- Nginx
- Git
- MariaDB
Βήμα 1: Εγκαταστήστε το Nginx
Ενημερώστε τη λίστα πακέτων σας.
sudo apt update
Εγκαταστήστε το Nginx.
sudo apt -y install nginx
Μόλις ολοκληρωθεί η εγκατάσταση, εκτελέστε τις παρακάτω εντολές για να ξεκινήσετε και να ενεργοποιήσετε την υπηρεσία Nginx.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Βήμα 2: Εγκαταστήστε το Git
Αυτό μπορεί να γίνει με την ακόλουθη εντολή.
sudo apt -y install git
Βήμα 3: Εγκαταστήστε το διακομιστή βάσης δεδομένων MariaDB
Το Gitea υποστηρίζει τους ακόλουθους διακομιστές βάσεων δεδομένων.
- MariaDB/MySQL
- PostgreSQL
- SQLite
- TiDB
Για αυτό το σεμινάριο θα χρησιμοποιήσουμε τον διακομιστή και τον πελάτη MariaDB.
sudo apt -y install mariadb-server mariadb-client
Μόλις ολοκληρωθεί, βεβαιωθείτε ότι το MariaDB είναι ενεργοποιημένο και εκτελείται.
sudo systemctl enable mariadb.service
sudo systemctl start 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.
sudo mysql -u root -p
Στη συνέχεια, πληκτρολογήστε τον κωδικό πρόσβασης που δημιουργήσατε παραπάνω για να συνδεθείτε. Θα δείτε το μήνυμα καλωσορίσματος της MariaDB.
Δημιουργήστε μια βάση δεδομένων που ονομάζεται gitea
.
CREATE DATABASE gitea;
Δημιουργήστε έναν χρήστη βάσης δεδομένων που ονομάζεται giteauser
με νέο κωδικό πρόσβασης.
CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';
Βεβαιωθείτε ότι έχετε αντικαταστήσει 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 touch /etc/systemd/system/gitea.service
Χρησιμοποιώντας ένα πρόγραμμα επεξεργασίας κειμένου της επιλογής σας, ανοίξτε αυτό το νέο αρχείο και συμπληρώστε εάν με τα ακόλουθα.
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mariadb.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
Βεβαιωθείτε ότι το Gitea λειτουργεί.
sudo systemctl status gitea
Διαγράψτε το προεπιλεγμένο αρχείο διαμόρφωσης nginx.
sudo rm /etc/nginx/sites-enabled/default
Δημιουργήστε μια αντίστροφη διαμόρφωση διακομιστή μεσολάβησης για το Gitea.
sudo touch /etc/nginx/sites-available/git
Συμπληρώστε το αρχείο με την ακόλουθη διαμόρφωση, βεβαιωθείτε ότι έχετε αντικαταστήσει example.com
με το όνομα τομέα ή τη διεύθυνση IP σας.
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/git
Στη συνέχεια, φορτώστε ξανά την υπηρεσία Nginx.
sudo systemctl reload nginx.service
Στη συνέχεια, ανοίξτε το πρόγραμμα περιήγησής σας και αναζητήστε το όνομα κεντρικού υπολογιστή ή τη διεύθυνση IP του διακομιστή.
http://YOUR_SERVER_IP/install
Ακολουθήστε τις οδηγίες που εμφανίζονται στην οθόνη για να ολοκληρώσετε τη ρύθμιση του Gitea.