Un site de cuisine …

Voila,je me baladais sur le net et je trouve http://trouvelarecette.com/

Reprise

Finis le laiser aller,je vous promet deux bons articles par semaines :p .

Casimir à la Gay pride

Voila tout :p .

iTouch : La livraison est lente

Maintenant une semaine que j’attend mon iPod Touch … Livraison PixMania lente . Bref,la nuit va être lente car normalement,je le reçois demain :p .

EDIT : iTouch V2 reçu .

Sécurisation de PHP et Apache2 avec le patch suhosin | Comment faire un panel (part2)

Voila, la suite comme promis ;) .

Le Patch suhogezaz¹”(’ quoi ! ?

Non, non le Patch Suhosin , il est normalement installé avec php et apache , mais , il faut vérifier qu’il y est .

entrez une page qui génerera une erreur 404 (par exemple) .

regardez le pied de page , vous devez trouver :

Apache/2.2.9 (Debian) PHP/5.2.6-5 with Suhosin-Patch Server at 127.0.0.1 Port 80

==> Si oui, le patch suhosin est installé , il ne reste plus qu’a le configurer :) .

=X> Sinon,le patch suhosin n’est pas installé .

avant de continuer , que vous vous demandez à quoi sert ce fameux patch , il va servir à renforcer la sécurité de php et apache , nottament pour l’utilisation d’un service d’hébergement ou autre site ou l’utilisateur peut uploader des fichier de scripts sur le serveur .

Il peut également servir à corriger :

  • le dossier de cache de php , maintenant modifiable pour chaque utilisateur
  • La création d’un dossier cgi-bin (pou y placer … des scripts CGI ^^ ) .

Installation du patch suhosin :

Page de téléchargement : http://www.hardened-php.net/suhosin/download.html

Je vous laisse l’installer seul , vous êtes grand maintenant , voici le manuel d’installation : http://www.hardened-php.net/suhosin/how_to_install_or_upgrade.html .

Application du patch suhosin :

Utilisation d’un dossier CGI-BIN :

LoadModule cgi_module modules/mod_cgi.so

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

#
<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

Vous pouvez biensur modifier ce dossier :) .

Administrer sont serveur via une interface web ; ou comment faire un panel facilement (partie 1 )

Ce matin,c’est décider , le ciel bleu me donne des idées . Je me lance sur le sujet le plus chiant …

Vous allez apprendre à installer CODER un panel pour votre serveur . Que ce soit pour ajouter une utilisateur , SQL , FTP, ou linux , il y en aura pour tous les goûts :p .

Voila ce qu’il faut pour commencer :

  • Un serveur (ou un simple PC relié à internet) disposant de Debian (La version Lenny de préférence , elle n’est pas “stable” selon debian.org mais fonctionne chez la majeur des personnes sans aucun soucis (dont moi ) .
  • Et c’est tous … ha , non . il faut quelqu’un pour piloter ce bolide (en l’occurence : toi ) .

Et c’est vraiment tous (c’est court nan :p ? ) .

Installation du serveur web

Bon, alors il faut apache 2 et quelques mods :

apt-get install apache2 apache2-php5 php5-gd

Installation du serveur Mysql

simple encore : apt-get install mysql mysql-server

Puisqu’on a mysql , php5 et apache2 , pourquoi ne pas tester un peu le tout ?

Téléchargez phpmyadmin : ici , via sourceforge.net

Décompréssez-le et faîtes un dossier /var/www/phpmyadmin/ puis placez y le contenu de l’archive dans ce dossier .

Normalement , vous devrez pouvoir accéder depuis http://votremachine/phpmyadmin/ à … phpmyadmin !

Utilisez comme utilisateur root et aucun mot de passe .

Attention : modifiez immédiatement le mot de passe root mysql , en effet , vous avez pu accédez à mysql ainsi, ce qui signifie que n’importe quelle personne peut accéder à vos bases de données mysql , en plus de modifier le mot de passe , je vous conseil de restraindre mysql à localhost (script : mysql secure installation ) .

Installation du serveur FTP et configuration

Ici , je considère que vous aimez mysql , on va donc stocker les utilisateurs ftp dans mysql .

Attention : une fois de plus , il faut faire trés attention à la sécurité , le moins petit détaille peut ouvrir le serveur aux hackers .

Installation : apt-get install proftpd proftpd-mod-mysql

J’usqu’a là, c’était trop simple non ? C’est maintenant que sa commence à se corser :P .

On a quelques modifications à faire avant de recharger le serveur .

Fichier /etc/proftpd/proftpd.conf :

Rajoutez :

RequireValidShell off
<IfModule mod_sql.c>
SQLBackend mysql
</IfModule>
# Mod MySQL
# =========
# Les mots de passe sont cryptes dans la base avec la fonction ENCRYPT (MySQL)
SQLAuthTypes Crypt
SQLAuthenticate users* groups*
# Modifiez cette ligne selon l’utilisateur et le mot de passe definit plutot
SQLConnectInfo proftpd@localhost proftpd password
# On donne a ProFTPd le nom des colonnes de la table usertable
SQLUserInfo ftpuser userid passwd uid gid homedir shell
SQLUserWhereClause “LoginAllowed = ‘true’”
# On donne a ProFTPd le nom des colonnes de la table “grouptable”
SQLGroupInfo ftpgroup groupname gid members
# Creer le repertoire home de l’utilisateur si il n’existe pas
SQLHomedirOnDemand on
# Met a jour les compteurs a chaque connection d’un utilisateur
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE “count=count+1, accessed=now() WHERE userid=’%u’” ftpuser
#Met a jour les compteurs a chaque upload ou download d’un utilisateur
SQLLog STOR,RETR modified
SQLNamedQuery modified UPDATE “modified=now() WHERE userid=’%u’” ftpuser
# Mod quota
# =========
QuotaEngine on
QuotaDirectoryTally on
QuotaDisplayUnits Mb
QuotaShowQuotas on
# Definit les requetes SQL pour que ProFTPd recupere les infos sur les quotas
SQLNamedQuery get-quota-limit SELECT “name, quota_type, par_session, limit_type, bytes_up_limit, bytes_down_limit, bytes_transfer_limit, files_up_limit, files_down_limit, files_transfer_limit FROM ftpquotalimits WHERE name = ‘%{0}’ AND quota_type = ‘%{1}’”
SQLNamedQuery get-quota-tally SELECT “name, quota_type, bytes_up_total, bytes_down_total, bytes_transfer_total, files_up_total, files_down_total, files_transfer_total FROM ftpquotatotal WHERE name = ‘%{0}’ AND quota_type = ‘%{1}’”
SQLNamedQuery update-quota-tally UPDATE “bytes_up_total = bytes_up_total + %{0}, bytes_down_total = bytes_down_total + %{1}, bytes_transfer_total = bytes_transfer_total + %{2}, files_up_total = files_up_total + %{3}, files_down_total = files_down_total + %{4}, files_transfer_total = files_transfer_total + %{5} WHERE name = ‘%{6}’ AND quota_type = ‘%{7}’” ftpquotatotal
SQLNamedQuery insert-quota-tally INSERT “%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}” ftpquotatotal
QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally
# Gestion des logs
# ================
# Enregistre les requetes SQL dans /var/log/proftpd/mysql.log
SQLLogFile /var/log/proftpd/mysql.log
# Enregistre les authentifications
LogFormat auth “%v [%P] %h %t \”%r\” %s”
ExtendedLog /var/log/proftpd/auth.log AUTH auth
# Enregistre les acces aux fichiers
LogFormat write “%h %l %u %t \”%r\” %s %b”
ExtendedLog /var/log/proftpd/access.log WRITE,READ write
Pensez à ajouter l'utilisateur mysql de proftpd et lui donner accés à ces tables :
– Table structure for table `ftpgroup`
CREATE TABLE `ftpgroup` (
`groupname` varchar(16) NOT NULL DEFAULT ,
`gid` smallint(6) NOT NULL DEFAULT ‘5500′,
`members` varchar(16) NOT NULL DEFAULT ,
KEY `groupname` (`groupname`)
) TYPE=MyISAM COMMENT=‘Table des groupes ProFTPD’;
– Table structure for table `ftpquotalimits`
CREATE TABLE `ftpquotalimits` (
`name` varchar(30) DEFAULT NULL,
`quota_type` enum(‘user’,‘group’,‘class’,‘all’) NOT NULL DEFAULT ‘user’,
`par_session` enum(‘false’,‘true’) NOT NULL DEFAULT ‘false’,
`limit_type` enum(’soft’,‘hard’) NOT NULL DEFAULT ’soft’,
`bytes_up_limit` float NOT NULL DEFAULT ‘0′,
`bytes_down_limit` float NOT NULL DEFAULT ‘0′,
`bytes_transfer_limit` float NOT NULL DEFAULT ‘0′,
`files_up_limit` int(10) UNSIGNED NOT NULL DEFAULT ‘0′,
`files_down_limit` int(10) UNSIGNED NOT NULL DEFAULT ‘0′,
`files_transfer_limit` int(10) UNSIGNED NOT NULL DEFAULT ‘0′
) TYPE=MyISAM COMMENT=‘Table des quotas ProFTPD’;
– Table structure for table `ftpquotatotal`
CREATE TABLE `ftpquotatotal` (
`name` varchar(30) NOT NULL DEFAULT ,
`quota_type` enum(‘user’,‘group’,‘class’,‘all’) NOT NULL DEFAULT ‘user’,
`bytes_up_total` float NOT NULL DEFAULT ‘0′,
`bytes_down_total` float NOT NULL DEFAULT ‘0′,
`bytes_transfer_total` float NOT NULL DEFAULT ‘0′,
`files_up_total` int(10) UNSIGNED NOT NULL DEFAULT ‘0′,
`files_down_total` int(10) UNSIGNED NOT NULL DEFAULT ‘0′,
`files_transfer_total` int(10) UNSIGNED NOT NULL DEFAULT ‘0′
) TYPE=MyISAM COMMENT=‘Table des compteurs des quotas ProFTPD’;
– Table structure for table `ftpuser`
CREATE TABLE `ftpuser` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` varchar(32) NOT NULL DEFAULT ,
`passwd` varchar(32) NOT NULL DEFAULT ,
`uid` smallint(6) NOT NULL DEFAULT ‘5500′,
`gid` smallint(6) NOT NULL DEFAULT ‘5500′,
`homedir` varchar(255) NOT NULL DEFAULT ,
`shell` varchar(16) NOT NULL DEFAULT ‘/bin/false’,
`count` int(11) NOT NULL DEFAULT ‘0′,
`accessed` datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00′,
`modified` datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00′,
`LoginAllowed` enum(‘true’,‘false’) NOT NULL DEFAULT ‘true’,
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT=‘Table des utlisateurs ProFTPD’;

il faut également modifier les lignes de contenant le mot de passe et l’utilisateur mysql dans la configuration de mysql .

ensuite, ajoutez ou décommentez la ligne : LoadModule mod_sql.c        dans /etc/proftpd/modules.conf

on peut maintenant, et seulement maintenant faire : /etc/init.d/proftpd restart

La magie dans tous sa , c’est qu’on pourra ajouter et bidouiller des users sans recharger proftpd :) .

Je n’ai pas finit :P .

Il faut maintenant ajouter un utilisateur à ce joyeu bordel :P .

INSERT INTO `ftpuser` ( `id`, `userid`, `passwd`, `uid`, `gid`, `homedir`, `shell`, `count`, `accessed` , `modified`, `LoginAllowed` ) VALUES (, ‘utilisateurdetest’, ENCRYPT(‘lemotdepasseici’), ‘5500′, ‘5500′, ‘DOSSIER FTP’, ‘/bin/false’, , , , ‘true’ );

Biensur , modifier le dossier , le mot de passe et le nom de l’utilisateur .

Vous pouvez maintenant tester une connexion ftp avec filezilla par exemple .

bon, revenons à nos moutons :) .

si proftpd peut manipuler des tables SQL pour gérer les utilisateurs FTP, pourquoi PHP ne le ferais pas ?

Ainsi, avec un script PHP , Shell , ou Python, on peutpiloter le serveur FTPà distance :) .

La suite dans le prochain épisode :P .

Mes jeux favoris linux (1er du nom)

Voila, j’ai penser que ça serait toujours utile de vous proposer mes favoris .les voila sans plus attendre :) .

Extreme Tux Racer

Site officiel : http://www.extremetuxracer.com/ .

On vois tous de suite un screenshot plutôt attrayant :P .

Le jeu parraît simple mais peu devenir casse-geule quand on en a trop l’habitude . Le but est pourtant simple : Collecter les poissons et arriver à la ligne d’arrivée avant la fin du temps . Pour ce , vous êtes la mascotte linux (le tux) et sur une banquise peu ordinaire .

Installation : sur debian / ubuntu (ou avec une distribution supportant apt) : apt-get install extremetuxracer

Xmoto

Site officiel : http://xmoto.tuxfamily.org/

Je vais pas expliquer le principe , le screen est plutôt explicite . Enfaite, ce jeu n’est pas neuf , je viens de le redécouvrir . Parmis les fonctions qui m’ont charmé , on peut noter l’apparition de sont propre ghost (fantome) .

Installation : (debian & ubuntu aussi ) apt-get install xmoto

Création du blog !

voila, c’est fait . Je crée le Bloug :) .