En savoir GIT série - Partie 2: Installation d'accueillir gitweb référentiel sur le serveur web Apache-
Bienvenue à la partie 2 de "savoir GIT série".
Objectif: Donc, dans notre dernière partie, nous avons vu comment installer GIT sur Debian et comment créer un nouveau référentiel et de faire commet sur lui. Dans cette partie nous allons voir comment vous pouvez faire vos dépôts publics (lecture seule), de sorte que les gens puissent voir ce que vous avez travaillé et ce que les choses ont changé. Fondamentalement, notre objectif est de créer un publions nos dépôts sur un serveur Web comme Apache, tout comme les projets GIT sur kernel.org et debian.org .
So let's get a commencé ...
1: Installer et configurer Apache serveur Étape
Avant de nous rendre nos dépôts publics nous faut un serveur web installé sur notre système.
# apt-get install apache2
Pour plus de détails se référer à l' MediaWiki poste.
Étape 2: Installer package gitweb
Maintenant nous avons besoin d'installer certains fichiers de base qui nous permettra de publier nos garde sur le serveur Apache:
# apt-get install gitweb
Cela créera un répertoire appelé "git" et également créer des fichiers HTML liés:
debian-tablet:~# ls /var/www/git/
git-favicon.png git-logo.png gitweb.cgi gitweb.css indextext.html
Étape 3: Modifier le fichier gitweb.conf
Maintenant, nous allons faire quelques modifications simples à la configuration du gitweb du dossier:
debian-tablet:~# nano /etc/gitweb.conf
Et assurez-vous produire votre gitweb ressemble comme suit:
# path to git projects (<project>.git)
$projectroot = "/var/cache/git";
# directory to use for temp files
$git_temp = "/tmp";
# target of the home link on top of all pages
$home_link = "/git/";
# html text to include at home page
$home_text = "indextext.html";
# file with project list; by default, simply scan the projectroot dir.
$projects_list = $projectroot;
# stylesheet to use
$stylesheet = "gitweb.css";
# logo to use
$logo = "git-logo.png";
# the 'favicon'
$favicon = "git-favicon.png";
Je vous suggère de simplement copier coller le fichier ci-dessus. Fondamentalement, tous nos garde-GIT que nous publierons sera copies / stockées dans / var / cache / git qui est l'emplacement par défaut dans Debian. Vous pouvez le changer à ce que vous voulez, mais je vous suggère de le garder comme ça. Avis de la suppression des "/" à partir de variables $ feuille de style, $ logo, favicon $.
Étape 4: Initialiser une copie de votre travail nue garde
De notre dernière partie, nous avons vu comment nous avons créé un référentiel nouvelles appelées «bonjour». Nous allons faire de ce même dépôt que publiables afin que les gens peuvent les consulter.
D'abord, allez dans le répertoire parent où "bonjour" référentiel est stocké.
kushalk@debian-tablet:~$ cd projects
Vous devriez être en mesure de voir le "bonjour dépôt du projet" si vous avez suivi les étapes décrites dans la partie 1 de cette série:
kushalk@debian-tablet:~/projects$ ls
hello
Maintenant, nous allons d'abord clone / initialiser un nu "bonjour" garde-
# git clone --bare hello hello.git
Si vous voulez vous sauver de bien des ennuis à l'avenir, s'il vous plaît l'étape ci-dessus exactement comme indiqué.
Étape 5: Faites votre dépôt GIT exportable
Enfin nous devons dire à git-daemon pour faire de ce garde-exportable pour que les gens puissent le voir. Vérifiez d'abord que le git-daemon est en marche en donnant la commande suivante:
kushalk@debian-tablet:~/projects$ cat /etc/services | grep ^git
git 9418/tcp # Git Version Control System
Et puis, faire le garde "hello.git" exportable.
kushalk@debian-tablet:~/projects$ touch hello.git/git-daemon-export-ok
Fondamentalement, nous devons créer un fichier appelé "git-daemon-export-ok" pour dire git-daemon que nous voulons que ce référentiel soit exportable.
Étape 6: Copier le garde-nus pour le rendre publiable
Maintenant, rappelez la variable $ projectroot du fichier / etc / gitweb.conf à l'étape 3? Nous allons copier le garde-nus à cet endroit pour le rendre publiable:
debian-tablet:/home/kushalk/projects# mv hello.git/ /var/cache/git/
Vous aurez besoin de "root" l'accès à passer à l'étape ci-dessus.
Étape 7: Enfin parcourir votre répertoire apache-server
Enfin, le moment est venu de voir les résultats de votre dur labeur que vous avez fait. Lancez un navigateur Internet et tapez la commande suivante dans la barre d'adresse:
# http://localhost/git/
Violla!! Vous voyez votre dépôt GIT énumérés dans le navigateur web comme ceci:
Étape 8: Original garde Supprimer et un nouveau clone
Maintenant, vous pouvez retirer votre dépôt original "bonjour" que nous avons créé dans la partie 1 - Pourquoi? Parce que maintenant nous allons cloner le garde-web que nous venons de créer et poursuivre nos travaux à partir de là.
kushalk@debian-tablet:~/projects$ rm -rf hello
Et enfin nous allons cloner un référentiel à partir d'un serveur web et de commencer notre travail à partir de là tout comme les pros.
kushalk@debian-tablet:~/projects$ git clone /var/cache/git/hello.git/ hello
kushalk@debian-tablet:~/projects$ ls hello/
hello_world.c library.h
Comme vous pouvez voir les fichiers que nous avons créé dans la partie 1 sont là, avec toutes les modifications!
S'il vous plaît noter qu'il pourrait y avoir d'autres façons d'atteindre les processus ci-dessus, mais j'ai trouvé celui-ci fonctionne le mieux pour moi sur Debian après 3-4 jours de recherche.
Dans notre prochaine partie, nous allons apprendre à cloner et à pousser des changements d'une autre machine - le scénario du monde réel!











Août 8th, 2009 à 19:57
[...] Partie 2: Installer gitweb d'accueillir référentiel sur [...] serveur web Apache
Novembre 20, 2009 à 01:04
Salut, Merci pour vos excellents articles sur git. Il fonctionne.
Git-je installer sur debian mais il n'y a pas de répertoire / var / www / git créé par l'installation par défaut. Les fichiers qu'il contient sont copiés à partir de:
cp $ su-c '/ usr / share / gitweb / * / var / www / git /'
cp $ su-c '/ usr / lib / cgi-bin / gitweb.cgi / var / www / git /'
et un fichier est interrompue: indextext.html mais ça marche. Je peux afficher Bonjour projet après suivi de vos articles.
Puis-je configurer / etc/apache2/httpd.conf que
au lieu de
ps. ma machine:
$ Git-version
version 1.5.6.5 git
$ Uname-a
Linux JHL-2 2.6.26-2-686 # 1 SMP Wed 4 novembre 2009 20:45:37 UTC i686 GNU / Linux
$
Merci beaucoup
- lovecreatesbeauty@gmail.com
Répondre à ce commentaire
Novembre 20, 2009 à 01:09
correction:
Puis-je configurer / etc/apache2/httpd.conf que
au lieu de
(Je n'ai donc pas besoin de créer / var / www / git)
Comment ~ / projects / Bonjour, / var / www / git et / var / cache / git sont liés?
- lovecreatesbeauty@gmail.com
Répondre à ce commentaire
Novembre 22, 2009 à 09:06
Salut, Merci pour l'article, peu je ne vois pas la page Web comme indiqué, ce que je vois est un répertoire. Je suis nouveau à Linux alors des suggestions quant à la marche à suivre serait appréciée. Je ne copie les fichiers à partir des emplacements comme indiqué dans l'un des postes ci-dessus.
Merci
Bernard
Répondre à ce commentaire
26 février 2010 à 1:24 pm
Ven. 26 février 13:21:25 2010] [error] [client 127.0.0.1] [ven. 26 février 13:21:25 2010] gitweb.cgi: Impossible opendir (/ var / cache / git): Autorisation refusée
Je reçois l'erreur ci-dessus, j'ai battu ma tête contre le mur pendant quelques heures maintenant. N'importe qui ont des idées, je suis en utilisant Apache sur Fedora
Répondre à ce commentaire
5 juillet 2010 à 04h10
Je vous remercie beaucoup d'avoir pris le temps de rédaction de cet article, il était très helpfuly.
J'ai Debian Lenny et seulement changer une chose de comparer avec ce que vous avez dit.
Le gitweb a été installé dans mon système en tant que CGI. / Usr / lib / cgi-bin / gitweb.cgi.
Alors, je viens de faire un lien symbolique de / usr / share / gitweb dans / var / www / git, modifié le fichier / etc / int fichier gitweb.conf de cette façon:
feuille de style $ = "/ git / gitweb.css";
logo $ = "/ git / git-logo.png";
favicon $ = "/ git / git-favicon.png";
Et que fait le tour. Ensuite, il suffit d'exécuter dans le système en utilisant cette URL: http://localhost/cig-bin/gitweb.cgi
Répondre à ce commentaire