Upgrade MySQL in Ubuntu

Mettre à jour Ubuntu (passer d’une version à une autre) et redémarrer MySQL…..oups cela ne marche pas…car comme moi, le répertoire des données est situé en dehors du standard et donc apparmor n’est pas content. Pour faire simple et ne plus avoir de problème : Sauvegarder votre fichier de configuration mysql $ sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.backup Modifier la configuration de Apparmor en ajoutant un fichier $ sudo nano /etc/apparmor.d/local/usr.sbin.mysqld Ce qui ajoute un fichier spécifique pour la machine local contenant des paramètres supplémentaires, sans changer la configuration de base. Contenu du fichier : ...

August 17, 2014 · 1 min · 118 words · oxomichael

OpenVPN Server with Samba Share

Pour avoir un accès sécurisé, j’ai débuté l’installation d’OpenVPN en commençant simplement. Je souhaite avoir accès par l’intermédiaire du VPN, au réseau interne et que le flux HTTP passe par lui. Sur le réseau local, nous sommes en 192.168.0.0/24 avec un serveur dnsmasq pour gérer les requêtes DNS qui me permettent de faire mes propres entrées. Donc pour récapituler la machine qui a dnsmasq et OpenVPN sera nommé “Serveur”, avec sur le réseau local l’IP 192.168.0.10 ...

August 7, 2011 · 5 min · 921 words · oxomichael

Consommer WebService Auth Basic avec C#

J’ai du valider différents clients pour se connecter à un webservice (SOAP 1.2) réaliser en PHP avec une authentification basique. Mais il semble que DotNet n’est pas prévu d’utiliser cette méthode d’authentification pour se connecter. Donc on ouvre VisualStudio et on générer une référence de service web…. On ouvre le fichier contenant le code de la référence web, un fichier Reference.cs. Et on ajoute cette méthode : protected override System.Net.WebRequest GetWebRequest(Uri uri) { request = (HttpWebRequest)base.GetWebRequest(uri); HttpWebRequest request; if (PreAuthenticate) { NetworkCredential networkCredentials = Credentials.GetCredential(uri, "Basic"); if (networkCredentials != null) { byte[] credentialBuffer = new UTF8Encoding().GetBytes(networkCredentials.UserName + ":" + networkCredentials.Password); request.Headers["Authorization"] = "Basic " + Convert.ToBase64String(credentialBuffer); } else { throw new ApplicationException(“No network credentials”); } } return request; } On surcharge donc la méthode GetWebRequest() de la classe System.Web.Services.Protocols.SoapHttpClientProtocol. Le problème de cette méthode est que à chaque mise à jour de la référence, le code ajouté est donc supprimer. Il existe certainement une méthode pour faire autrement mais je ne suis pas un expert en C#. ...

June 26, 2011 · 2 min · 240 words · oxomichael

SFTP et OpenSSH

Les versions récentes de openssh permettent de créer un accès sftp pour transmettre des fichiers. Il n’est donc plus nécessaire d’installer un serveur ftp. Ajouter un nouveau groupe $ groupadd sftp Pour ajouter un utilisateur seulement pour le sftp $ useradd -d /home/sftp/{username} {username} passwd {username} usermod -g sftp {username} usermod -s /bin/false {username} Configuration /etc/ssh/sshd_config #Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp Match group sftp X11Forwarding no ChrootDirectory %h AllowTcpForwarding no ForceCommand internal-sftp Réglages des permissions Un répertoire pour recevoir les fichiers “recv” Un répertoire pour déposer les fichiers “send” ...

September 7, 2010 · 1 min · 152 words · oxomichael

PureFTPd et utilisateurs virtuels

Fichier de configuration des utilisateurs virtuels pureftpd.passwd pureftpd.pdb Remarque : Utiliser la sauvegarde de ces fichiers, ils sont à placer dans /etc/pure-ftpd/ Configuration de pure-ftpd Pour chaque options de configuration,il suffit de créer un fichier portant le nom de la variable de configuration et en placeur la valeur sur la première ligne de ce fichier. Par exemple, en créant le fichier /etc/pure-ftpd/conf/ChrootEveryone et en mettant “yes” sur sa première ligne, cela permet de “Chrooter” les utilisateurs. Pour info, cela ajoutera le paramètre “-A” sur la ligne de commandes après avoir rechargé la configuration. ...

July 14, 2010 · 2 min · 282 words · oxomichael

Convert file to utf8

Voici un script PHP permettant la conversion de l’encodage des fichiers vers UTF-8. Il exporte un projet du référentiel SVN dans un dossier, et place les fichiers convertis dans un dossier avec un suffixe “.utf8”. #!/usr/bin/php function recursive_readdir ($dir) { global $dir_in, $dir_out; $dir = rtrim ($dir, '/'); if (is_dir ($dir)){ $dh = opendir ($dir); } else { echo $dir, ' n\'est pas un repertoire valide'; exit; } while (($file = readdir ($dh)) !== false) { if ($file !== '.' && $file !== '..') { $path =$dir.'/'.$file; $path_out = str_replace($dir_in, $dir_out, $path); if (is_dir ($path)) { if (!file_exists($path_out)) mkdir($path_out); recursive_readdir ($path); } else { $encoding = exec("file -b --mime-encoding $path"); if($encoding=='iso-8859-1') { $cmd = "iconv -o $path_out -f ISO8859-1 -t UTF-8 $path"; } elseif($encoding=='us-ascii') { $cmd = "iconv -o $path_out -f US-ASCII -t UTF-8 $path"; } else { $cmd = "cp $path $path_out"; } echo $cmd, "\n"; passthru($cmd); } } } closedir ($dh); } // => Début du programme $dir_in = '/home/chemin/vers/dossier'; $dir_out = '/home/chemin/vers/dossier.utf8'; exec("svn export file:///svn/projet/trunk $dir_in/"); if (!file_exists($dir_in)) { exit; } if (!file_exists($dir_out)) { mkdir($dir_out); } recursive_readdir($dir_in);

January 22, 2010 · 1 min · 180 words · oxomichael

Generate a password in PHP

La sécurisation d’un mot de passe dépend du nombre de caractères différents présent dans celui-ci. Voici une solution pour rendre les mots de passe sécurisé lors de leur génération: code : function random_password($length, $strength) { $char_sets = array('48-57','65-90','97-122','35-38','61-64'); $new_password = ''; srand(microtime()*10000000); for ($i=0; $i < $length; $i++) { $random = rand(0, $strength-1); list($start, $end) = explode('-', $char_sets[$random]); $new_password.= chr(rand($start, $end)); } return($new_password); } Cette fonction prend comme paramètres $strength et $length. La variable $strength change le nombre de caractères affectés à la taille du mot de pass : ...

February 23, 2007 · 2 min · 386 words · oxomichael