Ρυθμίστε τη βάση δεδομένων
Ρυθμίστε το 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