Pour ce tutorial, nous travaillons avec une version d'Ubuntu 10.10 server, JDK 1.6.0_22.
Nous commencerons par installer Apache Directory, Git et Apache 2.
Download d'Apache Directory 1.5.X depuis http://directory.apache.org/apacheds/1.5/download/download-linux-bin.html.
1) cd /opt 2) mkdir dl 3) cd dl 4) wget http://mirror.ibcp.fr/pub/apache//directory/apacheds/unstable/1.5/1.5.7/apacheds-1.5.7-x86_64.bin 5) chmod a+x apacheds-1.5.7-x86_64.bin 6) ./apacheds-1.5.7-x86_64.bin
Where do you want to install Apache DS? [Default: /opt/apacheds-1.5.7] we have keep the default folder Where do you want to install Apache DS instances? [Default: /var/lib/apacheds-1.5.7] we have keep the default folder What name do you want for the default instance? [Default: default] we have use the name of the company Where do you want to install the startup script? [Default: /etc/init.d] we have keep the default folder Which user do you want to run the server with (if not already existing, the specified user will be created)? [Default: apacheds] we have keep the default name
Rapel des commandes :
/etc/init.d/apacheds-1.5.7-company-name start
/etc/init.d/apacheds-1.5.7-company-name restart
/etc/init.d/apacheds-1.5.7-company-name stop
Pour manipuler la configuration et l'utilisation de votre server LDAP Apache Directory, il est fortement conseillé d'utiliser Apache Directory Studio :
http://directory.apache.org/studio/
Votre LDAP étant probablement ouvert sur le net, pensez à changer le mot de passe par défaut qui est :
uid=admin,ou=system
password=secret
Installation rapide de Git.
sudo apt-get install git-core gitweb
- The git repository will be here : /var/cache/git
Création du repository avec le nom que vous souhaitez.
cd /var/cache/git mkdir your-company.git cd your-company.git
Nous changerons les droits plus tard pour le user d'Apache.
Création du repository avec le nom que vous souhaitez.
cd /var/cache/git/your-company.git git init créer un lien sympolique si besoin
Testons rapidement la connexion depuis Eclipse et son plugin (qui ATTENTION ne fonctionnera pas en http/https avec la version testée).
Check http://www.eclipse.org/egit/
ssh://git@your-ip-or-domain/your-repository-path
On observe :
Branches
Tags
Symbolic References
Remotes
Working directory (branch master)
Dernière étape :)
sudo apt-get install apache2 cd /etc/apache2/ a2enmod ssl a2enmod authnz_ldap
Les commandes habituelles pour mémoire :
/etc/init.d/apache2 start /etc/init.d/apache2 restart /etc/init.d/apache2 stop
Création de votre fichier de conf VirtualHost :
nano /etc/apache2/sites-available/yourcompany-ssl
Exemple de configuration :
SetEnv GIT_PROJECT_ROOT /var/cache/git SetEnv GIT_HTTP_EXPORT_ALL NameVirtualHost git.yourdomain.com:443 <VirtualHost git.yourdomain.com:443> DocumentRoot /var/cache/git ServerName git.yourdomain.com ErrorLog /var/log/apache2/git.error.log LogLevel warn CustomLog /var/log/apache2/git.access.log combined ServerSignature On Options Indexes FollowSymLinks MultiViews SSLEngine On SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire SSLCertificateFile /etc/ssl/certs/yourdomain.crt SSLCertificateKeyFile /etc/ssl/private/yourdomain.key ScriptAlias / /usr/lib64/git-core/git-http-backend/ <Location "/"> AuthBasicProvider ldap AuthType Basic AuthzLDAPAuthoritative on AuthName "Git server" AuthLDAPURL "ldap://ldap.yourdomain.com:10389/ou=users,ou=system" NONE AuthLDAPBindDN "uid=yourUserGitName,ou=users,ou=system" AuthLDAPBindPassword yourUserPassword require valid-user Order deny,allow </Location> </VirtualHost>
Attention, si comme nous, vous travaillez avec des changements de configuration sur votre nom de domaine, il peut être utile de modifier votre host.
Check if your address is up
ERROR : (EAI 2)Name or service not known: Could not resolve host name
nano /etc/hosts add the line 91.121.143.131 git.your-domain.com
Activer votre configuration et donnez les droits à Apache pour qu'il puisse par la suite manipuler le repository.
cd /etc/apache2/ a2ensite yourcompany-ssl chown -R www-data.www-data /var/cache/git/
Création de vos certificat/clé.
cd /etc/ssl/private/ openssl genrsa -out your-company.key 1024 cd /etc/ssl/certs/ openssl req -new -key ../private/your-company.key -out your-company.csr openssl x509 -req -days 365 -in your-company.csr -signkey ../private/your-company.key -out your-company.crt
Redémarrer ou recharger votre server SSH.
Rapel des commandes :
sudo /etc/init.d/ssh reload
sudo /etc/init.d/ssh restart
sudo /etc/init.d/ssh start
sudo /etc/init.d/ssh stop
http://blog.courtine.org/2010/11/19/git-et-ldap-en-entreprise/
http://www.jeremyskinner.co.uk/2010/07/31/hosting-a-git-server-under-apache-on-windows/
Vous aller maintenant pouvoir récuperer votre projet depuis votre server git via https.
Votre URL pour manipuler Git sera de la forme :
https://yourUserGitName:yourUserPassword@git.your-domain.com/your-git-repository/
Pour simplifier les choses, désactivons la verification SSL.
git config --global http.sslverify "false"
Récupération du projet depuis votre repo en ligne. Cette commande va créer un projet du même nom que votre repo (sans le .git).
git clone https://yourUserGitName:yourUserPassword:@git.your-domain.com/your-git-repository/
Depuis Eclipse, importer ce projet comme projet Java, ou créer un projet Java pointant sur ce projet checkouté.
La version d'Egit 0.9.3 ne m'a pas permis de travailler en http ou https.
Commance ici, l'utilisation de Git en mode commande. On vous laisse découvrir la doc ou d'autres blogs traitant du sujet.
Vous pouvez déjà créer dans votre nouveau projet un fichier text pour vérifier que votre server Apache possède les droits afin de manipuler le repository Git.
git add your-test-file git commit you had just commit on your local repository, so now you will push to your remote project on the git server git push
Aucun commentaire:
Enregistrer un commentaire