Πώς να εγκαταστήσετε το GitLab Community Edition (CE) 11.x στο CentOS 7

Από τη στιγμή που το GitHub εξαγοράστηκε από τη Microsoft, αρκετοί προγραμματιστές έχουν προγραμματίσει να μεταφέρουν τα δικά τους αποθετήρια κώδικα από το github.com σε μια εναλλακτική λύση που φιλοξενείται από τον ίδιο τον εαυτό. Το GitLab Community Edition (CE) είναι η πιο κοινή επιλογή. Ως εξελιγμένη και ευέλικτη λύση, το GitLab CE μπορεί να αναπτυχθεί χρησιμοποιώντας διάφορες μεθόδους, αλλά μόνο η επίσημα προτεινόμενη μέθοδος, η εγκατάσταση του πακέτου Omnibus, θα καλυφθεί εδώ.

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

  • Ένα νέο παράδειγμα διακομιστή Vultr CentOS 7 με τουλάχιστον 4 GB μνήμης. 8 GB ή περισσότερα προτείνονται για εξυπηρέτηση έως και 100 χρηστών. Ας πούμε ότι η διεύθυνση IPv4 του είναι 203.0.113.1.
  • Ένας χρήστης sudo .
  • Ένας τομέας gitlab.example.comπου δείχνει προς την περίπτωση που αναφέρεται παραπάνω.

Σημείωση: Κατά την ανάπτυξη στο παράδειγμα του διακομιστή σας, φροντίστε να αντικαταστήσετε όλες τις παραδειγματικές τιμές με πραγματικές.

Βήμα 1: Εκτελέστε βασικές εργασίες για τη φιλοξενία του GitLab CE

Ενεργοποιήστε ένα τερματικό SSH και συνδεθείτε στην παρουσία του διακομιστή CentOS 7 ως χρήστης sudo.

Προσθέστε ένα διαμέρισμα swap και τροποποιήστε τη ρύθμιση swappiness

Κατά την ανάπτυξη του GitLab CE 11.x σε ένα μηχάνημα με μνήμη 4 GB, απαιτείται να ρυθμίσετε ένα διαμέρισμα swap 4 GB για ομαλή λειτουργία.

sudo dd if=/dev/zero of=/swapfile count=4096 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

Σημείωση: Εάν χρησιμοποιείτε διαφορετικό μέγεθος διακομιστή, το μέγεθος του διαμερίσματος swap ενδέχεται να διαφέρει.

Για λόγους απόδοσης συστήματος, συνιστάται να διαμορφώσετε τη ρύθμιση swappiness του πυρήνα σε χαμηλή τιμή όπως 10:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness

Η έξοδος της catεντολής θα είναι 10.

Ρυθμίστε το όνομα κεντρικού υπολογιστή του μηχανήματος και το πλήρως πιστοποιημένο όνομα τομέα (FQDN)

Χρησιμοποιήστε τις ακόλουθες εντολές για να ρυθμίσετε ένα όνομα κεντρικού υπολογιστή gitlab, και ένα FQDN, gitlab.example.com, για το μηχάνημα:

sudo hostnamectl set-hostname gitlab
cat <<EOF | sudo tee /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 gitlab.example.com gitlab
EOF

Μπορείτε να επιβεβαιώσετε τα αποτελέσματα:

hostname
hostname -f

Τροποποιήστε τους κανόνες του τείχους προστασίας

Να επιτρέπεται η εισερχόμενη κυκλοφορία HTTP και HTTPS:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service

Εγκαταστήστε το αποθετήριο EPEL YUM και στη συνέχεια ενημερώστε το σύστημα

sudo yum install -y epel-release
sudo yum -y update && sudo shutdown -r now

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

Βήμα 2: Εγκαταστήστε τις απαιτούμενες εξαρτήσεις

Πριν εγκαταστήσετε το GitLab CE, πρέπει να εγκαταστήσετε τις απαιτούμενες εξαρτήσεις:

sudo yum install -y curl policycoreutils-python openssh-server openssh-clients

Επίσης, εάν θέλετε να χρησιμοποιήσετε το Postfix για την αποστολή μηνυμάτων ειδοποίησης, πρέπει να εγκαταστήσετε το Postfix και να τροποποιήσετε τους κανόνες του τείχους προστασίας ως εξής:

sudo yum install -y postfix
sudo systemctl enable postfix.service
sudo systemctl start postfix.service
sudo firewall-cmd --permanent --add-service=smtp
sudo firewall-cmd --permanent --add-service=pop3
sudo firewall-cmd --permanent --add-service=imap
sudo firewall-cmd --permanent --add-service=smtps
sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --reload

Έχοντας εγκαταστήσει το Postfix, πρέπει να ρυθμίσετε τις παραμέτρους του Postfix επεξεργάζοντας το κύριο αρχείο διαμόρφωσης /etc/postfix/main.cfσύμφωνα με τις πραγματικές ρυθμίσεις διακομιστή σας.

Σημείωση: Εκτός από τις παραπάνω οδηγίες, πρέπει να υποβάλετε ένα δελτίο υποστήριξης για να ακυρώσετε το προεπιλεγμένο μπλοκ του Vultr στη θύρα SMTP 25.

Εναλλακτικά, εάν θέλετε να χρησιμοποιήσετε άλλη λύση ανταλλαγής μηνυμάτων, απλώς παραλείψτε την εγκατάσταση του Postfix και επιλέξτε να χρησιμοποιήσετε έναν εξωτερικό διακομιστή SMTP μετά την εγκατάσταση του GitLab CE.

Βήμα 3: Ρυθμίστε το αποθετήριο GitLab RPM και, στη συνέχεια, εγκαταστήστε το GitLab CE

Ρυθμίστε το αποθετήριο GitLab CE RPM στο σύστημά σας:

cd
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

Στη συνέχεια, εγκαταστήστε το GitLab CE 11.x:

sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce

Η εγκατάσταση μπορεί να διαρκέσει λίγο.

Τέλος, τοποθετήστε το αγαπημένο σας πρόγραμμα περιήγησης στο web http://gitlab.example.comκαι, στη συνέχεια, υποβάλετε έναν νέο κωδικό πρόσβασης όπως σας ζητηθεί για να ολοκληρώσετε την εγκατάσταση.

Από εδώ και στο εξής, χρησιμοποιήστε τα παρακάτω διαπιστευτήρια για να συνδεθείτε ως διαχειριστής:

  • Όνομα χρήστη: root
  • Κωδικός πρόσβασης: <your-new-password>

Βήμα 4: Ενεργοποιήστε την πρόσβαση HTTPS ενσωματώνοντας ένα πιστοποιητικό Let's Encrypt SSL

Προς το παρόν, έχετε εγκαταστήσει με επιτυχία το GitLab CE 11.x στην παρουσία του διακομιστή σας και οι χρήστες μπορούν ήδη να επισκεφτούν τον ιστότοπο χρησιμοποιώντας το πρωτόκολλο HTTP. Για λόγους ασφαλείας, συνιστάται να ενεργοποιήσετε την πρόσβαση HTTPS στον διακομιστή GitLab ενσωματώνοντας ένα πιστοποιητικό Let's Encrypt SSL.

Χρησιμοποιήστε το viπρόγραμμα επεξεργασίας για να ανοίξετε το αρχείο διαμόρφωσης GitLab CE:

sudo vi /etc/gitlab/gitlab.rb

Βρείτε τις ακόλουθες δύο γραμμές:

external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts

Αντικαταστήστε τα ανάλογα:

external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['[email protected]']

Αποθήκευση και έξοδος:

:wq!

Εκτελέστε την ακόλουθη εντολή για να ρυθμίσετε εκ νέου το GitLab CE χρησιμοποιώντας τις ενημερωμένες ρυθμίσεις:

sudo gitlab-ctl reconfigure

Η επαναδιαμόρφωση θα διαρκέσει λίγο.

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

Σημείωση: Μετά την εναλλαγή από HTTP σε HTTPS, τα cookie παλαιού τύπου ενδέχεται να προκαλέσουν σφάλμα GitLab 422. Η εκκαθάριση των cookies διορθώνει αυτό το πρόβλημα.


Leave a Comment

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πώς να εγκαταστήσετε το Microweber στο CentOS 7

Πώς να εγκαταστήσετε το Microweber στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Microweber είναι ένα ανοικτού κώδικα μεταφοράς και απόθεσης CMS και ηλεκτρονικό κατάστημα. Ο πηγαίος κώδικας Microweber φιλοξενείται στο GitHub. Αυτός ο οδηγός θα σας δείξει

Πώς να εγκαταστήσετε το Vanilla Forum στο CentOS 7

Πώς να εγκαταστήσετε το Vanilla Forum στο CentOS 7

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

Πώς να εγκαταστήσετε το Mattermost 4.1 στο CentOS 7

Πώς να εγκαταστήσετε το Mattermost 4.1 στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Mattermost είναι μια εναλλακτική λύση ανοιχτού κώδικα, που φιλοξενείται από τον εαυτό της στην υπηρεσία ανταλλαγής μηνυμάτων Slack SAAS. Με άλλα λόγια, με το Mattermost, μπορείτε περίπου

Ας κρυπτογραφήσουμε στο Plesk

Ας κρυπτογραφήσουμε στο Plesk

Ο πίνακας ελέγχου Plesk διαθέτει μια πολύ ωραία ενσωμάτωση για το Lets Encrypt. Το Lets Encrypt είναι ένας από τους μόνους παρόχους SSL που εκδίδει πιστοποιητικά πλήρως

Επιτρέπει την κρυπτογράφηση στο cPanel

Επιτρέπει την κρυπτογράφηση στο cPanel

Το Lets Encrypt είναι μια αρχή έκδοσης πιστοποιητικών αφιερωμένη στην παροχή πιστοποιητικών SSL δωρεάν. Το cPanel έχει δημιουργήσει μια τακτοποιημένη ενοποίηση για εσάς και τον πελάτη σας

Πώς να εγκαταστήσετε το Concrete5 στο CentOS 7

Πώς να εγκαταστήσετε το Concrete5 στο CentOS 7

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

Πώς να εγκαταστήσετε το Review Board στο CentOS 7

Πώς να εγκαταστήσετε το Review Board στο CentOS 7

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

Ρύθμιση ελέγχου ταυτότητας HTTP με Nginx στο CentOS 7

Ρύθμιση ελέγχου ταυτότητας HTTP με Nginx στο CentOS 7

Σε αυτόν τον οδηγό, θα μάθετε πώς να ρυθμίζετε τον έλεγχο ταυτότητας HTTP για έναν διακομιστή web Nginx που εκτελείται σε CentOS 7. Απαιτήσεις Για να ξεκινήσετε, θα χρειαστείτε

Πώς να εγκαταστήσετε το YOURLS στο CentOS 7

Πώς να εγκαταστήσετε το YOURLS στο CentOS 7

Το YOURLS (Your Own URL Shortener) είναι μια εφαρμογή συντόμευσης διευθύνσεων URL και ανάλυσης δεδομένων ανοιχτού κώδικα. Σε αυτό το άρθρο, θα καλύψουμε τη διαδικασία εγκατάστασης

Πώς να εγκαταστήσετε και να ρυθμίσετε το ArangoDB στο CentOS 7

Πώς να εγκαταστήσετε και να ρυθμίσετε το ArangoDB στο CentOS 7

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

Χρήση του Etckeeper για έλεγχο έκδοσης του /etc

Χρήση του Etckeeper για έλεγχο έκδοσης του /etc

Εισαγωγή Ο κατάλογος /etc/ παίζει κρίσιμο ρόλο στον τρόπο λειτουργίας ενός συστήματος Linux. Ο λόγος για αυτό είναι επειδή σχεδόν κάθε διαμόρφωση συστήματος

Γιατί πρέπει να χρησιμοποιήσετε το SSHFS; Πώς να προσαρτήσετε ένα απομακρυσμένο σύστημα αρχείων με SSHFS στο CentOS 6

Γιατί πρέπει να χρησιμοποιήσετε το SSHFS; Πώς να προσαρτήσετε ένα απομακρυσμένο σύστημα αρχείων με SSHFS στο CentOS 6

Πολλοί διαχειριστές συστημάτων διαχειρίζονται μεγάλες ποσότητες διακομιστών. Όταν χρειάζεται πρόσβαση στα αρχεία σε διαφορετικούς διακομιστές, συνδέεστε σε καθένα ξεχωριστά περίπου

Ρύθμιση διακομιστή Half Life 2 στο CentOS 6

Ρύθμιση διακομιστή Half Life 2 στο CentOS 6

Αυτό το σεμινάριο θα καλύψει τη διαδικασία εγκατάστασης ενός διακομιστή παιχνιδιών Half Life 2 στο σύστημα CentOS 6. Βήμα 1: Εγκατάσταση των προαπαιτούμενων Για να ρυθμίσετε το ou

Πώς να εγκαταστήσετε το Laravel GitScrum στο CentOS 7

Πώς να εγκαταστήσετε το Laravel GitScrum στο CentOS 7

Το Laravel GitScrum ή GitScrum είναι ένα εργαλείο παραγωγικότητας ανοιχτού κώδικα που έχει σχεδιαστεί για να βοηθά τις ομάδες ανάπτυξης να εφαρμόσουν τη μεθοδολογία Scrum με παρόμοιο τρόπο

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

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

Εισαγωγή Σε αυτό το σεμινάριο Vultr, θα μάθετε πώς να εγκαταστήσετε το PowerDNS. Το PowerDNS είναι ένα πρόγραμμα για την εκτέλεση των δικών σας διακομιστών ονομάτων. Είναι πολύ χρήσιμο όταν

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