Affichage des articles dont le libellé est Linux. Afficher tous les articles
Affichage des articles dont le libellé est Linux. Afficher tous les articles

mardi 2 mars 2010

[Zend Studio] java.lang.IllegalArgumentException: Malformed \uxxxx encoding.

Aujourd'hui en tentant d'installer Zend Studio 7.1.1 sur ma debian squeeze, j'ai eu une petite erreur.

(19:14)romain@laptop-de-lermit:~>sudo Logiciel/ZendStudio7_1_1.bin
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...

Launching installer...

An internal LaunchAnywhere application error has occured and this application cannot proceed. (LAX)

Stack Trace:
java.lang.IllegalArgumentException: Malformed \uxxxx encoding.
at java.util.Properties.loadConvert(Unknown Source)
at java.util.Properties.load(Unknown Source)
at com.zerog.common.java.util.PropertiesUtil.loadProperties(DashoA8113)
at com.zerog.lax.LAX.(DashoA8113)
at com.zerog.lax.LAX.main(DashoA8113)


Ceci est dut à votre variable PS1 qui contient sûrement "\u" (représentant votre username).

Pour résoudre l'erreur il suffit de faire ceci


PS1=">"
sudo ./ZendStudio7_1_1.bin


Au prochain redémarrage de votre terminal votre prompt redeviendra normal.

vendredi 29 janvier 2010

[MySQL] Erreur "Cannot assign requested address"

Ajourd'hui j'ai été confronté à un petit problème :

Aucun serveur mysql lancé, rien qui n'écoute sur le port 3306, pas de fichier socket, ... et cette erreur :

100129 13:23:53 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
100129 13:23:53 [ERROR] Do you already have another mysqld server running on port: 3306 ?
100129 13:23:53 [ERROR] Aborting


La solution trouvé à été d'exécuter ceci

ifconfig lo up


Ceci réinitialise l'interface de loopback et permet de à MySQl de se "binder".

mercredi 11 novembre 2009

[Linux] Comment décompresser son fichier initrd compressé en GZIP

Si la commande file /boot/initrd* vous retourne quelque chose comme ceci :
/boot/initrd.img-2.6.31-14-generic: gzip compressed data, from Unix, last modified: Wed Nov 11 16:04:33 2009
C'est que votre initrd est compressé en gzip (oui oui je sais c'est écrit juste dessus mais j'aime bien me répéter !). Donc pour le décompresser une solution (surement pas la seule) :
gunzip -dc /boot/initr* | cpio -id --no-absolute-filenames
Have fun !

dimanche 9 août 2009

[OVH] Le DynHost de OVH et updatedd

Je me suis heurté aujourd'hui à un bien grave problème. La synchronisation de mon IP dynamique (de chez SFR - anciennement neuf-cegetel) et d'un domaine OVH. Alors voilà la solution !

Tout d'abord il convient de se créer un compte DynHost. Pour cela je vous renvoi à la documentation d'OVH : http://guides.ovh.com/DynDns. Une foie notre compte créé et un domaine paramétré nous utiliserons comme le propose OVH l'utilitaire updatedd dont les sources sont téléchargeables à cette adresse : http://nongnu.askapache.com/updatedd/

Décompressons l'archive
~$ tar xvf updatedd_2.6.tar.gz


Avant d'installer l'utilitaire il convient de le modifier car il y a une petite erreur sur l'adresse de OVH. Pour cela modifier le fichier src/plugins/libovh.h.
~$ nano updatedd-2.6/src/plugins/libovh.h

A la ligne 24, il faudra modifier le ovh.com par www.ovh.com. Ainsi la ligne ressemblera à celle ci.

#define DYNDNSHOST "www.ovh.com"


Il ne nous reste qu'à installer updatedd maintenant.
~$ ./configure
~$ make
~$ su
Mot de passe :
# make install


L'utilisation pour OVH de updatedd ce passe comme suit :
updatedd ovh -- --ipv4 ip username:password host

J'ai donc rédigé un script bash pour vérifier l'IP actuelle, la comparer à l'ancienne et faire les mises à jour si c'est nécessaire. Le voici :

#!/bin/bash

## CONFIGURATION ##

# Connection to OVH DynHost
username=user
password=pass
host=my-host.tld

# How to log
# 1 = true, 0 = false
log_change=1
log_no_change=0
log_file=/var/log/dynhost.log

# File with old IP
old_ip_file=/var/cache/ip_old

# To avoid error "file not found"
touch ${old_ip_file}
touch ${log_file}


# Get Public IP
ip=`w3m -dump http://www.monip.org/ | awk -F': ' '/IP/ { print $2 }'`

# Get Old Public IP
ip_old=`cat ${old_ip_file}`


# Test if IPs are equal
if [ "${ip}" = "${ip_old}" ]
then
if [ "${log_no_change}" = "1" ]
then
echo `date`: No IP change was found >> ${log_file}
fi
else
echo ${ip} > ${old_ip_file}
if [ "${log_change}" = "1" ]
then
echo "`date`:IP has change. (Old : ${ip_old}, New : ${ip})" >> ${log_file}
updatedd ovh -- --ipv4 ${ip} ${username}:${password} ${host} >> ${log_file}
else
updatedd ovh -- --ipv4 ${ip} ${username}:${password} ${host}
fi
fi

Ensuite il suffit de placer ce script quelque part ;) (pour ma part dans /usr/local/bin) et de configurer un cron pour l'exécution périodique du script ;) !

Voilà bon courage !

PS : Je ne sais pas si j'ai fait une bonne utilisation des dossiers linux. Donc si quelqu'un d'avertis sur le sujet venait à passer par là je serai preneur d'informations !
PS2 : Le script n'est pas parfait, si j'ai du temps un jour j'en ferai un meilleur !

mardi 12 mai 2009

[xen] sortir du mode console

Pour sortir du mode console de xen (après un xm console 2 par exemple) il suffit de faire un
Ctrl + Alt Gr + )

et le tour est joué !

[Xen] Installation d'une debian (domU) sur une debian (dom0)

Je vais ici énoncer la procédure que j'ai employée pour installer un domU sous debian 5.0 Lenny, sur un dom0 du même type. Le réseau étant configuré en bridge et les disques gérés par LVM.

Tout d'abord créer les disques LVM. Dans l'exemple mon groupe de volumes est 'vg-00'.

#lvcreate -L 3G -n debian-domU /dev/vg-00

Ici l'option -L spécifie la taille (3 giga), -n le nom de la partition et vg-00 spécifie mon groupe de volumes.

On partitionne le disque
#mkfs.ext3 /dev/vg-00/debian-dom0


Nous allons maintenant installer notre système. Ceci va consister à montrer le système et "placer" les fichiers du système d'exploitation sur notre partition.
Montons la partition
#mount -t ext3 /dev/vg-00/debian-domU /mnt/debian-domU


Bien heureusement nous n'allons pas faire l'installation à la main c'est l'utilitaire debootstrap qui s'en chargera.
Si vous utilisez un serveur de cache de paquet .deb comme apt-cacher utilisez cette commande. (Bien evidement vous pouvez choisir un autre repo et/ou un autre port !)
#debootstrap lenny /mnt/debian-domU http://apt-cacher-host:3142/ftp.fr.debian.org/debian/

Si vous n'utilisez pas de cache la commande est sensiblement la même
#debootstrap lenny /mnt/debian-domU http://ftp.fr.debian.org/debian/


Après cette installation sans soucis, configurons notre VM ! Pour cela nous allons "chroot-er" notre disque. C'est à dire que nous allons limiter l'exécution de nos commandes à notre nouvelle debian.
#chroot /mnt/debian-domU /bin/bash


Configurons apt pour utiliser notre proxy (si vous n'avez toujours pas de proxy sautez cette étape !).
#vi /etc/apt/apt.conf.d/30proxy

Et entrez ceci (à adapter à votre configuration)
Acquire::http { Proxy "http://apt-cacher-repo:3142"; };

Ensuite éditer votre fichier sources.list à votre guise voici le mien (classique !)
deb http://ftp.fr.debian.org/debian/ lenny main
deb-src http://ftp.fr.debian.org/debian/ lenny main

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main


Installons le paquet libc6-xen
#aptitude install libc6-xen


Ensuite il faut configurer notre fstab
#vi /etc/fstab
/dev/hda1 / ext3 defaults,errors=remount-ro 0 1


Notre installation est terminées sortons du chroot et démontons l'image.
#exit
#umount /mnt/debian-domU


Ensuite il faut créer notre fichier de configuration. (Il est aussi possible d'utiliser l'utilitaire xen-create-image mais cette méthode n'est pas détaillée ici.)



#vi /etc/xen/debian-domU.cfg

Voici le contenu de mon fichier
name="ma-debian-en-domU"

kernel="/boot/vmlinuz-2.6.26-2-xen-686"
ramdisk="/boot/initrd.img-2.6.26-2-xen-686"


root="/dev/hda1"
memory="128"

disk=['phy:/dev/vg-00/debian-domU,hda1,w']


vif=[ '' ]

dhcp="on"

extra='xencons=tty'

Voici l'explication des options :
name : nom de la machine
kernel : noyaux a utiliser pour booter (ici le noyaux est le même que celui de notre dom0 !)
ramdisk : image mémoire de démarrage (idem)
root : partition à booter (interne à la VM)
memory : mémoire ram en Mo
disk : disque interne de la VM. Ici nous utilisons notre partition LVM mais vous pouvez aussi utiliser des fichiers faisant office de disque dur, des lecteurs CD-Rom, des images iso, ...
vif : configuration du réseau. Ici vide correspond à la configuration par défaut.
dhcp : spécifie si on utilise ou non le DHCP pour récupérer notre adresse IP. Si vous ne voulez pas utiliser DHCP il vous faudra utiliser les options ip, netmask, gateway et hostname qui parlent d'elles même.
extra : spécifie une option de démarrage, (ici extra='xencons=tty' est indispensable si vous voulez pouvoir vous logger après la création de la machine).

Maintenant que tout est près finissons-en ! Pour cela xen fournit la commande xm que nous utiliserons comme suit :
#xm create -c /etc/xen/debian-domU.cfg

N'oubliez pas l'option -c qui vous attachera la machine au terminal actuel.
Vous pourrez éteindre votre machine avec xm shutdown. Pour plus d'info utilisez le man.

Bonne virtualisation !

vendredi 27 mars 2009

[Debian] Upgrade de etch à lenny

Lenny est sortie ! Et comme beaucoup j'ai voulu upgrader ma Debian etch vers cette nouvelle mouture qui m'a l'aire très intéressante ! Voici comment j'ai procédé :

Premièrement éditer votre fichier sources.list
nano /etc/apt/sources.list


Ce fichier configure la liste des dépôts que doit gérer apt-get/aptitude. Ainsi pour upgrader vers lenny il ne vous faut que changer tout les terme etch par lenny (il en est de même pour sid mais je n'ai pas testé).

Une foi le fichier sauvegardé on fait un petit
aptitude update

qui remet à jours la liste interne des paquets disponibles sur les serveurs.
Nous mettons ensuite à jours les logiciels d'installation comme ceci
aptitude install apt dpkg aptitude

Pour enfin mettre tout le système à jours avec cette commande
aptitude full-upgrade

mercredi 21 janvier 2009

[Linux] Tenir son serveur à l'heure !

Suite au commentaire de Ghislain sur mon post sur le même thème j'ai décidé de rectifier le tir avec celui ci.

Comme proposé par Ghislain il faut donc installer le paquet ntp

aptitude install ntp

Celui ci lance un démon (ntpd) qui tien le serveur à l'heure mais à la différence de mettre un ntpdate dans une crontab celui ci ne "saute" pas directement à la nouvelle heure dans un retard est détecté. Il accélère l'horloge de la machine !

Pourquoi ? C'est très simple. Admettons que nous utilisons un programme qui se base sur le timestamp Unix pour rafraichir ses informations et que dans la procédure de rafraichissement il se base sur les informations du dernier rafraichissement (vous me suivez oO ?).

Si on utilise ntpdate il sautera directement à l'heure actuelle. On n’effectuera donc pas certain rafraîchissement. Alors qu'avec le démon ntpd tous les rafraîchissements seront effectués.


Pour finir voici mon fichier /etc/ntp.conf qui n'a rien de compliqué.


# Ou est stocker les informations de décalage
driftfile /var/lib/ntp/ntp.drift

statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

# Serveur ntp
# Par defaut
server ntp.univ-lyon1.fr default
# Autre
server 0.debian.pool.ntp.org
server 1.debian.pool.ntp.org
server 2.debian.pool.ntp.org
server 3.debian.pool.ntp.org

# Autorise les utilisateurs de réseau à ce servir de cette machine comme serveur de temps
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap


mercredi 3 décembre 2008

[MySQL] Exporter et Importer une base de données MySQL

Il existe un outil intégré dans MySQL (sous Linux et sous Windows) nommé mysqldump. Il nous permet de faire une sauvegarde totale de notre base de données. Pour ce faire :
mysqldump -u admin -p --all-databases > dump.sql
admin étant le nom de votre compte administrateur ayant accès à toute votre base.

L'importation est toute aussi simple. Il suffit d'utiliser l'outil mysql en lui redirigeant le flux d'entré comme suit :
mysql -u admin -p < dump.sql

dump.sql étant le fichier précédemment généré avec mysqldump.

vendredi 24 octobre 2008

[DEPRECIER][Debian] Tenir son serveur à l'heure.

Attention il n'est pas conseillé de suivre les instructions de cet article. Veuillez vous référer aux commentaires pour plus d'informations.

Il est important pour un serveur d'être à l'heure. Pour cela il existe un moyen simple et automatique : ntpdate. ntpdate est un petit logiciel qui se connecte à un serveur ntp et se charge de garder votre serveur à l'heure.

Son installation est fort simple
aptitude install ntpdate


et sont utilisation l'est tout aussi
ntpdate ntp.serveur.tld


Enfin pour tenir à jour votre serveur, nous pouvons configurer un cron.
crontab -e

Ajouter la ligne
0 */1 * * * /usr/sbin/ntpdate ntp.serveur.tld

Ceci effectuera une mise à jour toute les heures de l'heure !!

(Avec bien sure l'adresse exacte de votre serveur ntp !)

lundi 20 octobre 2008

[NFS] Installer un serveur de partage sous debian

Il est souvent utile de partager des données dans un réseau. Il existe de nombreuses méthodes pour ceci, je vais ici présenter l'installation d'un serveur de partage basé sur NFS (Network File System) et son utilisation pour les clients.
L'installation du serveur est assez simple car il suffit de faire un
aptitude install nfs-kernel-server

et le tour est joué.

La configuration des partages se fait dans /etc/exports. Pour plus d'informations sur la rédaction de ce fichier de configuration vous pouvez consulter le man
man exports


Pour faire simple voici la syntaxe de ce fichier :
partage utilisateur(options)


Chaque ligne représente un partage et nous pouvons spécifier un groupe d'utilisateur (@groupe) ou des adresses IP (avec ou sans masque de sous-réseau) à la place d'un simple utilisateur.
Il y a beaucoup d'options disponibles. Les plus féquentes sont :
rw : pour partager les fichiers en lecture/ecriture (par défaut ils sont en lecture seul)
sync et async qui permet de spécifier si le serveur doit répondre avant (async) ou après(sync) avoir écrit les données sur le disque. async est plus performant mais peut corrompre des fichiers en cas de plantage du serveur.
Par exemple pour partager tout les dossiers home des utilisateurs sur notre réseau local, nous pourrions rajouter dans le fichier /etc/exports
/home/ 192.168.1.0/255.255.255.0(rw, sync)


Le client pour monter son partage NFS doit tout d'abord installer nfs-common
aptitude install nfs-common

Ensuite il peut effectuer la commande
mount -t nfs serveur_nfs:partage destination

Exemple :
mount -t nfs 192.168.1.25:/home/ /mnt/home/

ainsi le dossier partagé /home sera monté dans /mnt/home

mercredi 15 octobre 2008

[PHPMyAdmin] Installer PHPMyAdmin sur un serveur distant du serveur MySQL

L'installation de PHPMyAdmin par défaut se connecte au serveur MySQL local (soit localhost). Si comme moi vous avez décentralisé votre base de données vous voudrez avoir accès à celle-ci via PHPMyAdmin tout de même. Et bien ... (comme toujours) ... c'est possible !

La configuration à faire n'est pas très compliquée car PHPMyAdmin n'est en soit qu'une application PHP. Il vous faudra éditer le fichier
/etc/phpmyadmin/config.inc.php

Dans celui-ci nous retrouvons, tout d'abord une syntaxe PHP, mais aussi beaucoup de lignes commentées. La variable à dé-commenter et éditer qui nous intéresse est :
$cfg['Servers'][$i]['host'] = 'localhost';

Il suffit de renseigner l'adresse de votre serveur MySQL et le tour est joué.
Remarquez que vous pouvez aussi éditer la variable $cfg['Servers'][$i]['port'] pour changer le port de connexion ou encore d'autres variables que je vous laisse le soin de découvrir.

[MySQL] Connaitre la version de MySQL sous Linux

Pour connaitre la version de MySQL rien de plus simple il suffit de taper
mysql -V
et vous obtiendrez une chaine où nous trouvons l'information. Cette chaine est du type :
mysql Ver 14.12 Distrib 5.0.32, for pc-linux-gnu (i486) using readline 5.2

[MySQL] Installer un serveur MySQL accessible par le réseau et de l'extérieur

Tout le monde connait MySQL, le SGBD gratuit qui est abondamment utilisé sur le web. Nous allons donc voir ici comment installer MySQL et le rendre accessible aux machines de notre réseau local.

Tout d'abord il nous faut installer MySQL. Pour cela nous utiliserons la commande
aptitude install mysql-server

Si vous n'utilisez pas le système de package apt le nom du package doit être sensiblement le même. Reportez le donc dans votre syntaxe habituelle.

Il faut tout d'abord préciser le mot de passe root. Pour cela il faut se connecter à MySQL en ligne de commande via la commande :
mysql

Et taper ceci (avec votre mot de passe !) :
SET PASSWORD FOR root@localhost = PASSWORD('mot_de_pass');


Vous pouvez aussi changer le nom de l'utilisateur root (pour plus de sécurité) via :
UPDATE mysql.user SET user='nom_du_root' WHERE user='root';


Pour que vous puissiez vous connecter depuis l'extérieur il vous faut donner des droits à un utilisateur. Pour cela on utilisera la commande suivant :
GRANT ALL PRIVILEGES ON *.* TO 'nom'@'10.0.0.0/255.0.0.0';


Vous pouvez ajouter l'option WITH GRANT OPTION à cette commande ce qui permettra à l'utilisateur d'exécuter les commande GRANT (modification de privilèges).
Il vous faut bien entendu mettre l'adresse IP et le masque de sous réseau en rapport avec votre installation.
Le paramètre *.* représente la base de donnée et la table.


A ce moment là l'utilisateur qui à tout les droits n'a pas de mot de passe il faut donc lui en attribuer un. (Même si l'utilisateur est root par exemple et que vous lui avez déjà attribué un mot de passe pour localhost il vous faut en attribuer un autre (ou le même)).
SET PASSWORD FOR ‘nom’@’10.0.0.0/255.0.0.0’ = PASSWORD(‘mot_de_pass’);


Il vous faudra par contre recharger les privilèges:
FLUSH PRIVILEGES

vendredi 26 septembre 2008

[Ubuntu] Connection au réseau au démarage

Si comme moi vous avez un serveur qui tourne sous ubuntu server (7.10) vous avez surement remarqué qu'il faut se connecter au réseau à chaque démarrage. Bien sur faire un dhclient c'est rapide mais ce n’est pas pratique quand on est à l'autre bout du globe et qu'on a accès à cette machine seulement via ssh ou tout simplement si on est faignant.
Pour ma part c'est la deuxième proposition qui m'a motivé à trouver une solution à ce problème.

Rien de bien compliqué, le but est d’effectuer une connexion au réseau au démarrage.

Pendant le démarrage, il est exécuté plusieurs scripts et l'un d’eux est /etc/init.d/rc.local. C'est le dernier script exécuté par l'init.

Nous allons donc éditer ce script avec la commande :
sudo nano /etc/init.d/rc.local

Il faut maintenant rajouter la ligne de connexion. Un "dhclient" fera l'affaire.
dhclient
Voila mais cette configuration n'est pas très propre à mon gout même si elle à le mérite de fonctionner. Nous allons donc aussi étudier l'édition du fichier /etc/network/interfaces et utiliser une configuration IP static (ce qui est préférable pour un serveur tout de même !!)

Donc éditons le fichier /etc/network/interfaces
sudo nano /etc/network/interfaces
Ici vous devez déjà avoir quelque ligne du style :
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
La première interface correspond à l'interface de loopback utilisé en local pour le System d'exploitation. La deuxième est notre interface à configurer.

Nous allons donc changer notre iface eth0 inet dhcp par
auto eth1
iface eth1 inet static
address 192.168.1.24
netmask 255.255.255.0
Il faut bien entendu que vous renseigner votre interface, votre adresse IP et votre masque à vous car ma config n'est surement pas la votre !
iface représente notre interface et sa méthode de connexion, address l’adresse IP et netmask le masque de sous réseau.

Et voila nous sauvegardons le tout et redémarrons et là, miracle ... notre ifconfig nous informe que nous somme correctement connecté !

mardi 16 septembre 2008

[Linux] Appeler une page web à distance et à intervalles reguliers avec Cron, wget et htaccess

Pour le besoin d'un site internet les taches automatisées et planifiées sont très importantes. Sous linux ces taches s'appellent Cron. De plus les développeurs, pour la sécurité de leurs applications, protègent (et ils ont tout intérêt à le faire) leurs scripts d'automatisations par des .htaccess limitant l'accès à ceux ci par un système de login/mot de passe.
Si nous voulons automatiser l'exécution de ces pages l'une des méthodes est donc l'utilisation d'un cron. Nous utiliserons la commande wget pour récupérer la page et préciser les login/mot de passe.

Tout d'abord nous devons éditer nos taches cron. Pour ce faire :

Crontab –e
Vous arrivez dans la liste de vos taches. Par exemple vous pourriez avoir la mise à jour automatique de l'heure toute les heures avec la ligne :

# m h dom mon dow command
0 0 * * * ntpdate ntp.uhb.fr
(La première ligne est un commentaire elle n'est pas exécuté.)
Expliquons la configuration d'une nouvelle tache :
Le commentaire tout en haut nous donne la structure de rédaction d'une tache. Cette structure est la suivante :

Minute, Heure, Jour, Mois, Jour de la semaine, commande

Pour les minutes, heures, jours, mois et jours de la semaine vous pouvez spécifier une ou plusieurs valeurs ou une étoile correspondant à "tout". Ainsi pour effectuer une tache tout les mardis de janvier à minuit nous aurions :

# m h dom mon dow command
0 0 * 0 2 commande

Attention toute les valeurs commence à 0 et le jour de la semaine 0 est dimanche.
Comme vous l'avez compris le dernier paramètre est la commande à exécuter.
Vous pouvez aussi directement éditer les cron (qui sont stockés dans /etc/cron.d/) mais il vous faudra en plus renseigner le login de l'utilisateur qui exécutera la tache.
Enfin si vous voulez exécuter une tache plusieurs fois par heures (par exemple) il vous suffit de renseigner les valeurs séparé par des virgules comme ceci :

# m h dom mon dow command
0,20,30 0 * 0 2 commande

Ainsi la commande s'exécutera tout les mardi de janvier à minuit, minuit 20 et minuit 30.
Enfin si vous voulez exécuter une tache à intervalles réguliers par exemple toute les 2 minutes vous pouvez préciser */intervalle.

# m h dom mon dow command
*/2 * * * * commande

La commande s'exécutera toutes les deux minutes

Reste à renseigner la commande pour exécuter notre page. Nous utiliserons wget.
L'option –O redirige le flux.
L'option --http-user précise le login du htaccess
L'option --http-passwd précise le mot de passe du htaccess.
Enfin le dernier paramètre est la page à charger.
Ainsi :


0 18 * * * wget -0 /dev/null --http-user=admin --http-passwd=XXXXXX
www.site.com/cron/cron.php

Attention si vous référencer un site de la forme http://www.monsite.com/ qui est hebergé sur votre serveur noubliez pas de mettre, dans votre fichier hosts (/etc/hosts) une ligne du type :



127.0.0.1 www.monsite.com

mercredi 27 août 2008

[svn] création d'un dépot subversion sous debian

La création d'un dépot subversion sous debian est simple.
Ici nos dépos subversion sont dans /var/svn/ mais la méthode présenté fonctionne ailleur aussi !
Avec l'outil svnadmin nous n'avons qu'à spécifier l'action à effectuer (create) et le path du dépot comme ceci :
svnadmin create /var/svn/monProjet

Il faut ensuite attribuer les droits qui vont bien à ce nouveau dépot. Nous utilisons l'option -R pour attribuer les droits récursivement. Ici pour apache2 :
chown -R www-data:www-data /var/svn/nomProjet

Votre dépot est créé !

[Linux] Configurer svn avec LDAP

Dans notre cas nous avons un serveur svn et nous voulons que nos utilisateurs se connectent que s'ils font partie du groupe svn_users. Le groupe svn_users a l'id 1000.
Tout les utilisateurs sont dans un anuaire LDAP (avec openLDAP) dans l'ou users. Nous utiliserons Apache2 avec le module LDAP de celui ci.

Nous créons un virtualhost svn.exemple.com

<VirtualHost *>

ServerName svn.exemple.com

Nous spécifions que nous voulons utiliser svn

<Location />


DAV svn


SVNParentPath /var/svn

Nous voulons interdire tout le monde de se connecter

# Autorisation


Order deny,allow


Deny from All

Connection l'authnetification LDAP


# Authentification


AuthType Basic


AuthName "depot SVN"


AuthBasicProvider ldap



# LDAP


AuthzLDAPAuthoritative on


AuthLDAPURL ldap://localhost/ou=users,dc=exemple,dc=com?uid?sub?(objectClass=*)


AuthLDAPGroupAttribute memberUid


AuthLDAPGroupAttributeIsDN off

Nous specifions le groupe


# groupe obligatoire


require ldap-group cn=svn_users,ou=groups,dc=exemple,dc=com


require ldap-attribute gidNumber=1000


Satisfy any

</Location>
</VirtualHost>