Διακομιστής Git HTTP με Nginx στο Debian 8

Το Git είναι ένα σύστημα ελέγχου έκδοσης (VCS) που επιτρέπει την παρακολούθηση αλλαγών στον κώδικα. Σε αυτό το σεμινάριο, θα προχωρήσουμε στην εγκατάσταση ενός διακομιστή Git HTTP(S) και στην προσθήκη ελέγχου ταυτότητας ονόματος χρήστη/κωδικού πρόσβασης.

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

  • Debian 8 (Jessie).
  • Σούντο .
  • Επεξεργαστής κειμένου της επιλογής σας ( nano, vim).

Εγκατάσταση του απαραίτητου λογισμικού

Θα χρειαστούμε nginx, git, fcgiwrapκαι apache httpd utils. Προχωρήστε και πληκτρολογήστε στο τερματικό.

sudo apt-get install nginx git fcgiwrap apache2-utils

dpkg will fail to install Nginx if another process (such as Apache) is already bound to port 80.

Δημιουργία του καταλόγου Git

Υποθέτοντας ότι θέλετε να δημιουργήσετε τον κατάλογο git στο /var/www/git, θα πρέπει να εκτελέσετε τις ακόλουθες εντολές:

mkdir /var/www/git
chown www-data:www-data /var/www/git # Make sure www-data (the user fastcgi runs) from has permissions.

Διαμόρφωση Nginx

Τώρα πρέπει να διαμορφώσουμε το Nginx για να μεταβιβάσει την κυκλοφορία του Git στο Git. Αυτό μπορεί να προστεθεί στην προεπιλεγμένη διαμόρφωση, μια προσαρμοσμένη server {}στο /etc/nginx/conf.dή /etc/nginx/sites-enabled.

The configuration file's parameters and directive must be added in the order in which they are listed below.

location ~ (/.*) {
    client_max_body_size 0; # Git pushes can be massive, just to make sure nginx doesn't suddenly cut the connection add this.
    auth_basic "Git Login"; # Whatever text will do.
    auth_basic_user_file "/var/www/git/htpasswd";
    include /etc/nginx/fastcgi_params; # Include the default fastcgi configs
    fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; # Tells fastcgi to pass the request to the git http backend executable
    fastcgi_param GIT_HTTP_EXPORT_ALL "";
    fastcgi_param GIT_PROJECT_ROOT /var/www/git; # /var/www/git is the location of all of your git repositories.
    fastcgi_param REMOTE_USER $remote_user;
    fastcgi_param PATH_INFO $1; # Takes the capture group from our location directive and gives git that.
    fastcgi_pass  unix:/var/run/fcgiwrap.socket; # Pass the request to fastcgi
}

Εάν θέλετε να έχετε τα αποθετήρια git σας σε έναν υποκατάλογο, π.χ. http://your-domain.com/reposκάντε την πρώτη γραμμή location ~ /repos(/.*) {, είναι regex.

Make sure the server_name directive in your server {} doesn't clash with anything else or else Nginx wont pass the request on.

Προσθήκη ελέγχου ταυτότητας κωδικού πρόσβασης

Το Nginx δέχεται htpasswdαρχεία Apache , για να τα δημιουργήσουμε, θα χρειαστεί να εκτελέσουμε την ακόλουθη εντολή:

htpasswd -c /var/www/git/htpasswd <your username>

Θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασής σας. Για να προσθέσετε περισσότερους χρήστες, κάντε:

htpasswd /var/www/git/htpasswd <another username>

Ένα τελευταίο βήμα

Φροντίστε να φορτώσετε ξανά το Nginx για να εφαρμόσετε όλες τις αλλαγές εκτελώντας:

sudo service nginx reload

Τώρα έχετε έναν ιδιωτικό διακομιστή Git! Απολαμβάνω.

(Προαιρετικό) Δημιουργήστε ένα σενάριο που αρχικοποιεί τα αποθετήρια Git

Λάβετε υπόψη ότι www-data(ο λογαριασμός χρήστη στον οποίο εκτελείται το FastCGI) πρέπει να έχει πρόσβαση ανάγνωσης και εγγραφής στο αποθετήριο Git, η δημιουργία ενός σεναρίου τώρα εξοικονομεί πονοκεφάλους αργότερα.

Ανοίξτε το αρχείο του σεναρίου σας π.χ. /var/www/git/gitinit.shκαι επικολλήστε τα εξής:

#!/bin/sh
sudo -u www-data mkdir $1
cd $1
sudo -u www-data git init --bare

Μπορείτε να εκτελέσετε το σενάριο ως εξής:

cd /var/www/git
./gitinit.sh repo-name

Θυμηθείτε να επιτρέψετε την εκτέλεση εκτελώντας:

chmod +x /var/www/git/gitinit.sh

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

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

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

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

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

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

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

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

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

Πώς να εγκαταστήσετε το Kanboard στο Debian 9

Πώς να εγκαταστήσετε το Kanboard στο Debian 9

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

Πώς να εγκαταστήσετε το Gitea στο Debian 9

Πώς να εγκαταστήσετε το Gitea στο Debian 9

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Gitea είναι ένα εναλλακτικό ανοιχτού κώδικα, αυτο-φιλοξενούμενο σύστημα ελέγχου έκδοσης που υποστηρίζεται από το Git. Το Gitea είναι γραμμένο στα Golang και είναι

Εγκαταστήστε το Lynis στο Debian 8

Εγκαταστήστε το Lynis στο Debian 8

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

Πώς να εγκαταστήσετε το Thelia 2.3 στο Debian 9

Πώς να εγκαταστήσετε το Thelia 2.3 στο Debian 9

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Thelia είναι ένα εργαλείο ανοιχτού κώδικα για τη δημιουργία ιστοσελίδων ηλεκτρονικού επιχειρείν και τη διαχείριση διαδικτυακού περιεχομένου γραμμένου σε PHP. Πηγαίος κώδικας Thelia i

Δημιουργία δικτύου διακομιστών Minecraft με το BungeeCord σε Debian 8, Debian 9 ή CentOS 7

Δημιουργία δικτύου διακομιστών Minecraft με το BungeeCord σε Debian 8, Debian 9 ή CentOS 7

Τι χρειάζεστε Ένα Vultr VPS με τουλάχιστον 1 GB μνήμης RAM. Πρόσβαση SSH (με δικαιώματα root/διαχειριστή). Βήμα 1: Εγκατάσταση του BungeeCord Πρώτα πράγματα

Πώς να εγκαταστήσετε το Golang 1.8.3 σε CentOS 7, Ubuntu 16.04 και Debian 9

Πώς να εγκαταστήσετε το Golang 1.8.3 σε CentOS 7, Ubuntu 16.04 και Debian 9

Η Golang είναι μια γλώσσα προγραμματισμού που αναπτύχθηκε από την Google. Χάρη στην ευελιξία, την απλότητα και την αξιοπιστία του, το Golang έχει γίνει ένα από τα πιο δημοφιλή

Επαναφέρετε τον κωδικό πρόσβασης ρίζας MySQL στο Debian/Ubuntu

Επαναφέρετε τον κωδικό πρόσβασης ρίζας MySQL στο Debian/Ubuntu

Εάν έχετε ξεχάσει τον κωδικό πρόσβασης root MySQL, μπορείτε να τον επαναφέρετε ακολουθώντας τα βήματα σε αυτό το άρθρο. Η διαδικασία είναι αρκετά απλή και λειτουργεί σε αυτές

Ρύθμιση Counter Strike: Πηγή στο Debian

Ρύθμιση Counter Strike: Πηγή στο Debian

Σε αυτόν τον οδηγό, θα ρυθμίσουμε έναν διακομιστή παιχνιδιών Counter Strike: Source στο Debian 7. Αυτές οι εντολές δοκιμάστηκαν στο Debian 7, αλλά θα πρέπει επίσης να λειτουργούν

Πώς να εγκαταστήσετε το Unturned 2.2.5 στο Debian 8

Πώς να εγκαταστήσετε το Unturned 2.2.5 στο Debian 8

Σε αυτόν τον οδηγό, θα μάθετε πώς να ρυθμίζετε έναν διακομιστή Unturned 2.2.5 σε Vultr VPS που εκτελεί Debian 8. Σημείωση: Αυτή είναι μια επεξεργασμένη έκδοση του Unturned που δεν

Πώς να εγκαταστήσετε το Cachet στο Debian 8

Πώς να εγκαταστήσετε το Cachet στο Debian 8

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

Δημιουργία αντιγράφων ασφαλείας πολλαπλών βάσεων δεδομένων MySQL ή MariaDB αυτόματα

Δημιουργία αντιγράφων ασφαλείας πολλαπλών βάσεων δεδομένων MySQL ή MariaDB αυτόματα

Εισαγωγή Σε αυτήν την εγγραφή, διαβάστε καλά πώς μπορείτε να δημιουργήσετε αντίγραφα ασφαλείας πολλών βάσεων δεδομένων MySQL ή MariaDB που βρίσκονται στον ίδιο υπολογιστή χρησιμοποιώντας ένα προσαρμοσμένο σενάριο bash

Ρύθμιση ενός Chroot στο Debian

Ρύθμιση ενός Chroot στο Debian

Αυτό το άρθρο θα σας διδάξει πώς να ρυθμίσετε ένα chroot jail στο Debian. Υποθέτω ότι χρησιμοποιείτε το Debian 7.x. Εάν εκτελείτε το Debian 6 ή 8, αυτό μπορεί να λειτουργήσει, αλλά

Πώς να εγκαταστήσετε το Reader Self 3.5 RSS Reader σε ένα Debian 9 LAMP VPS

Πώς να εγκαταστήσετε το Reader Self 3.5 RSS Reader σε ένα Debian 9 LAMP VPS

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Reader Self 3.5 είναι ένα απλό και ευέλικτο, δωρεάν και ανοιχτού κώδικα, αυτο-φιλοξενούμενο πρόγραμμα ανάγνωσης RSS και εναλλακτική λύση του Google Reader. Αναγνώστης Σελ

Πώς να εγκαταστήσετε το Backdrop CMS 1.8.0 σε ένα Debian 9 LAMP VPS

Πώς να εγκαταστήσετε το Backdrop CMS 1.8.0 σε ένα Debian 9 LAMP VPS

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Backdrop CMS 1.8.0 είναι ένα απλό και ευέλικτο, φιλικό προς κινητά, δωρεάν και ανοιχτού κώδικα Σύστημα Διαχείρισης Περιεχομένου (CMS) που μας επιτρέπει

Πώς να εγκαταστήσετε το SteamCMD στο VPS σας

Πώς να εγκαταστήσετε το SteamCMD στο VPS σας

Σε αυτό το σεμινάριο θα εγκαταστήσουμε το SteamCMD. Το SteamCMD μπορεί να χρησιμοποιηθεί για λήψη και εγκατάσταση πολλών διακομιστών παιχνιδιών Steam, όπως το Counter-Strike: Global Offensiv

Αναβάθμιση Python στο Debian

Αναβάθμιση Python στο Debian

Όπως ίσως γνωρίζετε, τα αποθετήρια του Debian ενημερώνονται πολύ αργά. Τη στιγμή που γράφεται αυτό το κείμενο, οι εκδόσεις έκδοσης Python είναι στις 2.7.12 και 3.5.2, αλλά στο αποθετήριο Debian 8

Πώς να ρυθμίσετε το Samba με μπλοκ αποθήκευσης στο Debian 9

Πώς να ρυθμίσετε το Samba με μπλοκ αποθήκευσης στο Debian 9

Το Samba είναι μια λύση ανοιχτού κώδικα που επιτρέπει στους χρήστες να ρυθμίζουν γρήγορα και ασφαλή κοινόχρηστα αρχεία και να εκτυπώνουν. Σε αυτό το άρθρο, θα καλύψω πώς να ρυθμίσετε το Samba wit

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