Ρυθμίστε τη βάση δεδομένων
Ρυθμίστε το Reverse Proxy
Εγκαταστήστε το Gogs
Αρχική Διαμόρφωση
Να επιτρέπεται μόνο η πρόσβαση HTTP(S) μέσω Nginx
Το Gogs είναι μια ανώδυνη αυτο-φιλοξενούμενη υπηρεσία Git.
Αυτός ο οδηγός χρησιμοποιεί την PostgreSQL για τη βάση δεδομένων και το Nginx ως αντίστροφο διακομιστή μεσολάβησης. Αφού ακολουθήσετε αυτόν τον οδηγό, θα μπορείτε να αποκτήσετε πρόσβαση στη διεπαφή ιστού Gogs μέσω HTTPκαι στα φιλοξενούμενα αποθετήρια git μέσω HTTPκαι SSH. HTTPSΗ πρόσβαση μπορεί να προστεθεί επεκτείνοντας τη διαμόρφωση Nginx.
Θα πρέπει να έχετε ένα ενημερωμένο σύστημα και έναν χρήστη sudo χωρίς root .
Ρυθμίστε τη βάση δεδομένων
Αυτός ο οδηγός χρησιμοποιεί PostgreSQL. Μπορείτε εναλλακτικά να χρησιμοποιήσετε MySQL/MariaDB, SQLite3, MSSQL ή TiDB.
Εγκαταστήστε το PostgreSQL.
sudo apt-get install -y postgresql
Δημιουργήστε τον χρήστη στον οποίο θα συνδεθεί ο Gogs στη βάση δεδομένων. Αυτό θα σας ζητήσει να δημιουργήσετε έναν κωδικό πρόσβασης για αυτόν τον χρήστη. Αυτός ο κωδικός πρόσβασης θα εισαχθεί στη διαμόρφωση του Gog αργότερα.
sudo -u postgres createuser gogs -P
Δημιουργήστε τη βάση δεδομένων Gogs.
sudo -u postgres createdb gogs -O gogs -E UTF8
Ρυθμίστε το Reverse Proxy
Αυτός ο οδηγός χρησιμοποιεί το Nginx ως αντίστροφο διακομιστή μεσολάβησης. Μπορείτε εναλλακτικά να χρησιμοποιήσετε έναν άλλο HTTPδιακομιστή που μπορεί να λειτουργήσει ως αντίστροφος διακομιστής μεσολάβησης, όπως Apache ή Caddy.
Εγκαταστήστε το Nginx.
sudo apt-get install -y nginx
Επεξεργασία /etc/nginx/sites-enabled/default.
sudo nano /etc/nginx/sites-enabled/default
Βρείτε τις παρακάτω γραμμές.
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
Αλλάξτε τα σε αυτό.
location / {
proxy_pass http://127.0.0.1:3000;
}
Επαναλάβετε τη φόρτωση του Nginx για να χρησιμοποιήσετε τη νέα διαμόρφωση.
sudo systemctl reload nginx
Εγκαταστήστε το Gogs
Πρώτα, βεβαιωθείτε ότι gitείναι εγκατεστημένο.
sudo apt-get install -y git
Στη συνέχεια, δημιουργήστε τον χρήστη που θα εκτελείται το Gogs και ο οποίος θα χρησιμοποιηθεί για πρόσβαση git SSH.
sudo useradd -m git
Στη συνέχεια, κατεβάστε και αποσυσκευάστε την έκδοση Gogs για την αρχιτεκτονική σας.
Για συστήματα 64-bit.
sudo -u git sh -c "curl https://dl.gogs.io/0.11.29/linux_amd64.tar.gz | tar -xz -C /home/git/"
Για συστήματα 32 bit.
sudo -u git sh -c "curl https://dl.gogs.io/0.11.29/linux_386.tar.gz | tar -xz -C /home/git/"
Ρυθμίστε το Gogs για εκτέλεση κατά την εκκίνηση.
sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system
sudo systemctl enable gogs
Ξεκινήστε Gogs.
sudo systemctl start gogs
Αυτή είναι η μόνη φορά που θα χρειαστεί να ξεκινήσετε το Gogs με αυτόν τον τρόπο.
Αρχική Διαμόρφωση
Μεταβείτε στο http://example.comστο πρόγραμμα περιήγησής σας. Θα δεις:Install Steps For First-time Run
Αλλάξτε τις παρακάτω ρυθμίσεις.
Database Type: PostgreSQL
User: gogs
Password: (password you created earlier)
Domain: example.com
Application URL: http://example.com/
Ίσως θέλετε να ορίσετε τα Application Name, τα Email Service Settings, και Server and Other Services Settings. Όλες οι ρυθμίσεις μπορούν να αλλάξουν αργότερα με επεξεργασία /home/git/gogs/custom/conf/app.ini.
Κάντε κλικ στο Install Gogs.
Θα ανακατευθυνθείτε σε μια σελίδα σύνδεσης. Sign upνέος χρήστης τώρα.
Να επιτρέπεται μόνο η πρόσβαση HTTP(S) μέσω Nginx
Αυτό είναι κυρίως χρήσιμο όταν χρησιμοποιείτε το Nginx για τον τερματισμό του HTTPS.
Προσθήκη HTTP_ADDR = 127.0.0.1στην [server]ενότητα του /home/git/gogs/custom/conf/app.ini.
sudo -u git nano /home/git/gogs/custom/conf/app.ini
Μετά από αυτήν την αλλαγή, η [server]ενότητα θα μοιάζει με την ακόλουθη.
[server]
DOMAIN = example.com
HTTP_ADDR = 127.0.0.1
HTTP_PORT = 3000
ROOT_URL = http://example.com/
DISABLE_SSH = false
SSH_PORT = 22
START_SSH_SERVER = false
OFFLINE_MODE = false
Επανεκκινήστε το Gogs για να χρησιμοποιήσετε την ενημερωμένη διαμόρφωση.
sudo systemctl restart gogs