(12)

Serveur internet @ la maison -6-

Suite du cinquième épisode

Continuons cette série de billets de notes d'installation et configuration du serveur…
Maintenant que le serveur est prêt, il va pouvoir accueillir les différents logiciels afin de fournir les services désirés.

  • Doctlear est un CMS pour faire un ou plusieurs blog, au lieu d'utiliser canalblog, skyblog, over-blog, blogspot, etc.
  • SPIP est un CMS pour faire un site internet dynamique.
  • Piwigo associé au plugin «Piwishack» est une galerie de photo qui remplacera avantageusement des trucs comme photobucket, hiboox, imageshack, flicker, etc.
  • Tiny Tiny RSS est un lecteur de flux RSS en ligne qui remplacera iGoogle ou Google reader et ses petits camarades…
  • Roundcube est un client e-mail en ligne pour lire et envoyer ses messages de partout, directement depuis son serveur. Il remplacera donc gmail, hotmail, live, etc.
  • Piwik fournira des statistiques de visites complètes et détaillées du site et du blog. Il remplacera par exemple Google Analytics.
  • iTheora est un player vidéo qui permettra de palier à l'obsolescence de certains navigateurs internet, afin de faire une transition douce vers la vidéo lue nativement par les navigateurs web, grace aux nouveau standard «html5».

En effet, beaucoup d'entre eux ne sont pas encore capable de lire des vidéos ogv (codec video theora + audio Vorbis) ou WebM, rendant indispensable cet outil capable de basculer sur un plugin ou un lecteur alternatif .
iTheora permettra alors d'héberger soit même ses vidéos en restant interopérable, plutôt que d'utiliser les sempiternels Youtube & Dailymotion dévoreurs de bande passante et en partie responsable du filtrage du contenu et de la vitesse par certains fournisseurs d'accés internet…

Nya Nyaa !!

J'ai commis une pochette pour le boitier DVD de Komaneko, au format CD puisque c'était le boitier vendu avec le DVD vierge.
Oui, j'en ai réalisé une copie, en faisant sauter la protection du DVD original acheté via la boutique affiliée au site de Nolife-TV (une manière supplémentaire de soutenir la chaine), malgré l'avertissement écrit sur le boitier, sur le disque, et affiché au début du film, indiquant l'interdiction totale de copie.

Mais contrairement à ce qui est prétendu dans ces messages, j'en ai le droit !
Cela s'appelle l'exception pour copie privée, et en achetant le DVD vierge j'ai donc versé une taxe à destination des réseaux de la culture.
Le fait qu'un dispositif anti-copie «protège» le DVD est donc selon moi très abusif bien que les deux camps continuent à défendre leurs positions
Cette copie sera tout simplement utilisée par commodité, permettant alors le re-visionnage du film en deux lieux différents sans avoir à se soucier du trimballage du disque.

Bref, voici l'image réalisée grâce à Gimp, assez inspirée de l'affiche du film qui était bien plus belle que la pochette du DVD…
Les sources sont disponibles en annexes de ce billet. pochette-komaneko.jpg

Serveur internet @ la maison -5-

Suite du quatrième épisode

Continuons cette série de billets de notes d'installation et configuration du serveur, avec l'installation et la configuration du Firewall logiciel.

iptables pour netfilter :


  • Créer le fichier : /etc/init.d/makotoiptables
#!/bin/bash
########################
# MaKoTo - 14/12/2009
# Regle de Firewall
# Serveur hebergeant:
# - SSH
# - HTTP
# - HTTPS
# - IMAP
########################
# Debut

#Autoriser le trafic des packets entrants relatifs à des connexions déjà établies
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#Autoriser le trafic local
iptables -I INPUT 2 -i lo -j ACCEPT

# Autoriser les pings 
iptables -A INPUT -p icmp -j ACCEPT

#------------------------------
# Autorise les flux entrant
#------------------------------
# SSH serveur déporté en 1025
iptables -A INPUT  -p tcp -i eth0 --dport 1025 -j ACCEPT

# Web serveur en 80
iptables -A INPUT  -p tcp -i eth0 --dport http -j ACCEPT

# Web serveur sécurisé en 443
iptables -A INPUT  -p tcp -i eth0 --dport https -j ACCEPT

# serveur de reception de messagerie en 143
iptables -A INPUT  -p tcp -i eth0 --dport imap2 -j ACCEPT

#ajout sinon reception de mail marche pas malgres le 143 ouvert
iptables -A INPUT -p tcp -i eth0 --dport 25 -j ACCEPT

#---------------------------------------
# Bloquer les flux entrant restants
#---------------------------------------
iptables -P INPUT DROP

# Fin


  • Appliquer les règles au démarrage :

Rendre ce script exécutable :

#chmod +x /etc/init.d/makotoiptables

Éditer /etc/rc.local pour ajouter la ligne (juste avant exit 0) :

#/etc/init.d/makotoiptables
  • Vérification :
# iptables -L  (ou #iptables -L -v -n)
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:666
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:imap2
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:smtp

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination



fail2ban :

#apt-get install fail2ban

Démarrer fail2ban :

#/etc/init.d/fail2ban start
  • Vérifier le fichier de configuration : /etc/fail2ban/fail2ban.conf
[Definition]
loglevel = 1
logtarget = /var/log/fail2ban.log
socket = /var/run/fail2ban/fail2ban.sock
  • Configurer les règles des prisons dans le fichier : /etc/fail2ban/jail.conf
[DEFAULT]

# IP à ne pas bannir
ignoreip = 127.0.0.1 192.168.0.0/24
#temps de bannissement en seconde
bantime  = 3600
# nombre d’essais max avant bannissement
maxretry = 3
backend = polling
# le mail qui recevra les alertes fail2ban
destemail = root@localhost
# l’action par défaut quand on ban
banaction = iptables-multiport
# la commande pour envoyer des mail (ici avec sendmail ou postfix)
mta = sendmail
# le protocole a surveiller
protocol = tcp
#
# JAILS
#
[ssh]
# activé ou non (false)
enabled = true
# le port sur lequel le service écoute
port    = 1025
# le fichier .conf présent dans filter.d
filter  = sshd
# le fichier de log a analyser
logpath  = /var/log/auth.log
maxretry = 3

[xinetd-fail]

enabled   = false
filter    = xinetd-fail
port      = all
banaction = iptables-multiport-log
logpath   = /var/log/daemon.log
maxretry  = 2

[ssh-ddos]

enabled = true
port    = ssh
filter  = sshd-ddos
logpath  = /var/log/auth.log
maxretry = 1
#
# HTTP servers
#
[apache]

enabled = true
port    = http,https
filter  = apache-auth
logpath = /var/log/apache*/*error.log
maxretry = 1

[apache-multiport]

enabled   = true
port      = http,https
filter    = apache-auth
logpath   = /var/log/apache*/*error.log
maxretry  = 1

[apache-noscript]
#si true, video itheora deconnent!
enabled = false
port    = http,https
filter  = apache-noscript
logpath = /var/log/apache*/*error.log
maxretry = 1

[apache-overflows]

enabled = true
port    = http,https
filter  = apache-overflows
logpath = /var/log/apache*/*error.log
maxretry = 1
#
# FTP servers
#
[vsftpd]

enabled  = false
port     = ftp,ftp-data,ftps,ftps-data
filter   = vsftpd
logpath  = /var/log/vsftpd.log
maxretry = 6

[proftpd]

enabled  = false
port     = ftp,ftp-data,ftps,ftps-data
filter   = proftpd
logpath  = /var/log/proftpd/proftpd.log
maxretry = 6

[wuftpd]

enabled  = false
port     = ftp,ftp-data,ftps,ftps-data
filter   = wuftpd
logpath  = /var/log/auth.log
maxretry = 6
#
# Mail servers
#
[postfix]

enabled  = true
port     = smtp,ssmtp
filter   = postfix
logpath  = /var/log/mail.log

[couriersmtp]

enabled  = false
port     = smtp,ssmtp
filter   = couriersmtp
logpath  = /var/log/mail.log

[courierauth]

enabled  = false
port     = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s
filter   = courierlogin
logpath  = /var/log/mail.log

[sasl]

enabled  = false
port     = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s
filter   = sasl
logpath  = /var/log/mail.log

# DNS Servers

[named-refused-udp]

enabled  = false
port     = domain,953
protocol = udp
filter   = named-refused
logpath  = /var/log/named/security.log

[named-refused-tcp]

enabled  = false
port     = domain,953
protocol = tcp
filter   = named-refused
logpath  = /var/log/named/security.log

#MES REGLES

[apache-w00tw00t]
enabled = true
filter = apache-w00tw00t
action = iptables[name=Apache-w00tw00t,port=80,protocol=tcp]
logpath = /var/log/apache2/access*.log
maxretry = 1

[apache-scan]
enabled = true
filter = apache-scan
action = iptables[name=Apache-scan,port=80,protocol=tcp]
logpath = /var/log/apache2/access*.log
maxretry = 1

[dos]
enabled = true
port = 80,49152
filter = dos
logpath = /var/log/kern.log
maxretry = 1

[apache-admin]
enabled = true
port = http,https
filter = apache-admin
logpath = /var/log/apache2/*error.log
maxretry = 1

[apache-headers]
enabled = true
port = http,https
filter = apache-headers
logpath = /var/log/apache2/*error.log
maxretry = 1

[apache-invalid]
enabled = true
port = http,https
filter = apache-invalid
logpath = /var/log/apache2/*error.log
maxretry = 1

[dovecot-pop3imap]
enabled = true
filter = dovecot-pop3imap
action = iptables-multiport[name=dovecot-pop3imap, port="pop3,imap", protocol=tcp]
logpath = /var/log/maillog
maxretry = 20
findtime = 1200
bantime = 1200

Jail.conf est le fichier de définitions des services a surveiller. Il s’appuie sur des filtres préalablement définis dans /etc/fail2ban/filter.d

apache-w00tw00t.conf :

[Definition]
failregex = ^<HOST> -.*"GET \/w00tw00t\.at\.ISC\.SANS\.DFind\:\).*".*
ignoreregex =
apache-scan.conf :
[Definition]
failregex = ^<HOST> -.*"GET \/nonexistenshit.*".*
		^<HOST> -.*"GET .*xmlrpc\.php.*".*
		^<HOST> -.*"GET .*html2text\.php.*".*
ignoreregex =

dos.conf :

[Definition]
failregex = TCP: Treason uncloaked! Peer
ignoreregex =

apache-admin.conf :

[Definition]
failregex = [[]client <HOST>[]] File does not exist: .*(admin|PMA|mysql)
ignoreregex =

apache-headers.conf :

[Definition]
failregex = [[]client <HOST>[]] request failed: error reading the headers
ignoreregex =

apache-invalid.conf :

[Definition]
failregex = [[]client <HOST>[]] Invalid URI in request .*
ignoreregex =

dovecot-pop3imap.conf :

[Definition]
failregex = (?: pop3-login|imap-login): (?:Authentication failure|Aborted login \(auth failed|Disconnected \(auth failed).*rip=(?P<host>\S*),.*
ignoreregex =


À suivre…

je suis passé à la TV…

ReportageNolife.jpg En visionnant les archives, c'est avec trois ans de retard, je me suis rendu compte que j'avais été filmé par les équipes de reportage de Nolife, durant le salon Paris Manga de Mars 2008 où je faisais alors partie du stand maquette.

J'apparais furtivement, assis derrière les tables du stand (vu la disposition de celle-ci, il s'agit du dimanche), en arrière plan lorsque le responsable du salon est interrogé par Davy et Mr Poulpe, que je ne connaissais pas encore.
En fait, ce qui me sidère c'est que je ne me souviens absolument pas avoir vu des gens réaliser d'interview à ce moment là.
Il y avait du monde qui défilait devant les stands qu'on se doit de surveiller étroitement contre les mains baladeuses tout en renseignant le public, certes, mais bon…

Serveur internet @ la maison -4-

Suite du troisième épisode

Continuons cette série de billets de notes d'installation et configuration du serveur, avec l'installation et la configuration du serveur e-mail (Postfix+dovecot)

Installation :

#apt-get install postfix dovecot-imapd mailutils


Configurer postfix :

#dpkg-reconfigure postfix

Répondre aux questions posées :

Configuration type du serveur de messagerie : Site Internet
Nom de courrier : mondomaine.fr (votre nom de domaine)
Destinataire des courriels de « root » et de « postmaster » : toto (un user unix)
Autres destinations pour lesquelles le courrier sera accepté : mondomaine.fr
Forcer des mises à jour synchronisées de la file d’attente des courriels : non (laisser par défaut)
Réseaux internes : 127.0.0.0/8, 192.168.0.0/24 (si votre réseau local est 192.168.0.x )
Utiliser procmail pour la distribution locale : non
Taille maximale des boîtes aux lettres (en octets) : (5Gio)
Caractère d’extension pour les adresse locales : + (laisser par défaut)
Protocoles internet à utiliser : ipv4

  • Fichier de Configuration : /etc/postfix/main.cf
# Nom de domaine de messagerie principal
mydomain = mondomaine.fr
# Nom d'hôte machine
myhostname = debianbox
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
# Nom de domaine utilisé pour les adresses incomplètes
#/etc/mailname doit contenir la valeur de mydomain
myorigin = /etc/mailname
mydestination = mondomaine.fr, debianbox, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8, 192.168.0.0/24
mailbox_size_limit = 5368709120
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
home_mailbox = Mail/

Ajouter home_mailbox = Maildir/ à la fin.

Relancer le serveur SMTP :

#/etc/init.d/postfix restart


  • Configuration en cas de refus des messages à destination de Gmail :

Éditer et ajouter dans : /etc/postfix/main.cf

transport_maps = hash:/etc/postfix/maps/transport

Créer le fichier : /etc/postfix/maps/transport

google.com smtp:smtp.monfai.fr
.google.com smtp:smtp.monfai.fr
gmail.com smtp:smtp.monfai.fr
.gmail.com smtp:smtp.monfai.fr

Relancer les démons :

#postmap /etc/postfix/maps/transport && postfix reload


Configurer dovecot :

  • Fichier de Configuration : /etc/dovecot/dovecot.conf
protocols = imap
mail_location = maildir:~/ Mail

Créer le dossier et les sous-dossiers (/usr/bin/maildirmake.dovecot ~/Maildir)

$maildirmake ~/Maildir
$maildirmake -f Sent ~/Mail
$maildirmake -f Queue ~/Mail
$maildirmake -f junkmail ~/Mail
$maildirmake -f Drafts ~/Mail
$maildirmake -f Trash ~/Mail

Relancer le serveur IMAP :

#/etc/init.d/dovecot restart


Configurer un client :

Réception :

Type de serveur : IMAP
Serveur : imap.mondomaine.fr
Nom d’utilisateur : user unix
Sécurité : Chiffrement TLS
Type d’authentification : Mot de passe

Envoi :

Type de serveur : SMTP
Serveur : smtp.mondomaine.fr
Nom d’utilisateur : votre login sur le serveur
Sécurité : Chiffrement TLS
Pas d’authentification.


Configuration pour webmail https : (par exemple roundcube)

Activer le mod ssl d’apache :

#a2enmod ssl

Modifier dans le fichier de config : /etc/php5/apache2/php.ini

date.timezone = 'Europe/Paris'

Créer un VirtualHost qui décrit à Apache le site qu’il doit héberger (le nom du site sur lequel il répond en http, quels répertoires doivent être accessibles, etc.).
Voici un modèle (qui correspond à mon VirtualHost), qui permet :

  • d’afficher le site contenu dans /var/www/webmail lorsqu’une requête arrive sur le port 443 (https), c’est-à-dire quand je tape https://mondomaine.fr dans un navigateur;
  • d’interdire l’accès aux répertoires config, temp et logs;
  • de rediriger automatiquement http://mondomaine.fr vers https://mondomaine.fr.

Fichier de config : /etc/apache2/sites-available/mondomaine.fr

NameVirtualHost *:443

<VirtualHost *:80>
         DocumentRoot    /var/www/webmail
         ServerName      mondomaine.fr
         Redirect        / https://mondomaine.fr/
</VirtualHost>

<VirtualHost *:443>
        DocumentRoot    /var/www/webmail
        ServerName      mondomaine.fr
        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

        <Directory /var/www/webmail/>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        <Directory /var/www/webmail/config>
                Options -FollowSymLinks
                AllowOverride None
        </Directory>

        <Directory /var/www/webmail/temp>
                Options -FollowSymLinks
                AllowOverride None
        </Directory>

        <Directory /var/www/webmail/logs>
                Options -FollowSymLinks
                AllowOverride None
                Order allow,deny
                Deny from all
        </Directory>

        ErrorLog        /var/log/apache2/mail_error.log
        CustomLog       /var/log/apache2/mail_access.log combined

</VirtualHost>

Activer ce VirtualHost  :

#a2ensite mondomaine.fr

À suivre…

Nyaa !!

Découvert grâce à la critique animé dans le 101% du vendredi sur Nolife (N°494 - 04/12/2009 - s49) voici Komaneko, Le petit Chat Curieux.

dsc07054.jpg Cet excellent film qui m'a tout de suite parlé -je me suis même «vu» dedans-, devrait plaire à ma nièce, tout du moins je l'espère, en re-sortant fortement du lot de sa DVD-thèque des plus banales et mainstream.

Car on est ici loin de ces histoires niaiseuses qu'on sert aux petits, et même si les personnages ne parlent pas et préfèrent miauler (nyaa en Japonais) l'expressivité de la mise en scène au service de l'intelligence du récit et des personnages est des plus limpide et suscitera peut-être plus tard un regain de curiosité chez les enfants d'aujourd'hui, qui je trouve, en manquent de plus en plus…
dsc07052.jpg

Pour ce qui est du coffret en lui même, rien de très spectaculaire si ce n'est le puzzle l'accompagnant qui reprend la couverture… même si je trouve cette image mal choisie et sans grand intérêt. Une image tirée du film aurait été plus sympathique pour le plaisir du jeux.

Le livret accompagnant le DVD n'est en fait que de la publicité… dommage !



dsc07053.jpg Seul bémol et non des moindres, ce DVD est protégé contre la copie !
Si javais su ça avant (inconvénient des achats par correspondance) j'aurais boycoté et téléchargé (illégalement) l'œuvre sans scrupule… pour pouvoir en profiter normalement !
Car oui, le DVD est illisible dans un ordinateur !! peut-être même dans certaines platines de salon, et comme je n'en dispose de toute manière pas, je n'aurais pas pu jouir de ce que je venais d'acheter (Grrr !!!) si je n'avais pas recouru à un logiciel de ouinedozien pour casser la protection et ainsi graver une version sans protection anti-copie, où plutôt anti-usufruit afin de le lire sur mon ordi et aussi le transcoder pour mon lecteur multimédia intégré au démodulateur TNT dont je dispose.
Ça m'aura bien énervé et y aurait passé un peu plus d'une heure… pas glop studio canal, pas glop du tout, pour rester poli !
dsc07051.jpg

Pour se consoler il y a un exécutable Windows® en Flash® à la racine du disque avec 4 dessins à colorier façon «outil de remplissage gimp» et avec possibilité de les imprimer.
Il fonctionne avec Wine sur GNU/Linux, à condition de le copier sur un coin de disque dur, car Wine réclame les droits d'exécution sur le fichier.

Serveur internet @ la maison -3-

Suite du deuxième épisode

Continuons cette série de billets de notes d'installation et configuration du serveur, avec la configuration du LAMP (Linux/Apache/Mysql/Php)

php


  • Pour vérifier que Php fonctionne, déposer un fichier contenant

Fichier de vérification phpinfo.php : /var/www/phpinfo.php

<?php
phpinfo();
?>


apache


  • Sécurisation

Éditer : /etc/apache2/conf.d/security

ServerSignature Off
ServerTokens Prod


  • Empêcher le parcours des répertoires

Éditer : /etc/apache2/sitesavailable/default
ajouter l'option -Indexes:

<Directory /var/www/>
      Options Indexes
      FollowSymLinks MultiViews
      AllowOverride None
      Order allow,deny
      allow from all
</Directory>


  • Une Favicon commune à tous les vhosts, ajouter dans /etc/apache2/apache2.conf
## ajout favicon tous les vhosts
<Location "/favicon.ico">
     SetHandler none
</Location>
alias /favicon.ico /var/www/favicon.ico

donc favicon.ico placée dans /var/www/favicon.ico (un png renomé)
Redémarrer votre serveur Apache.

  • Si au démarrage d’apache, un message d'erreur de ce type apparaît,
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName.

Taper ceci :

#echo "ServerName localhost" | tee /etc/apache2/conf.d/fqdn


  • Opérations utiles sur Apache :
#/etc/init.d/apache2 reload
#/etc/init.d/apache2 restart
#/etc/init.d/apache2 stop
#/etc/init.d/apache2 start


  • VirtualHost default : /etc/apache2/sites-available/default
<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
                Order Deny,Allow
                Deny from All
        </Directory>

# Autoriser la racine du site
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

# interdire la navigation dans ces sous-dossiers
        <Directory /var/www/site1>
                Options -Indexes
                AllowOverride None
                Order   deny,allow
                Deny from   all
        </Directory>
        <Directory /var/www/site2>
                Options -Indexes
                AllowOverride None
                Order   deny,allow
                Deny from   all
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>


  • VirtualHost site1 : /etc/apache2/sites-available/site1
<VirtualHost *:80>
        ServerName site1.makotoworkshop.org

        DocumentRoot /var/www/site1
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/site1>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error_site1.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access_site1.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>



Mysql


  • Pour déplacer les Bases :
#/etc/init.d/mysql stop

Créer le fichier contenant : /etc/mysql/conf.d/datadir.cnf

[mysqld]
datadir = /home/mysql

Créer le dossier :

#mkdir /home/mysql

Copier le contenu :

#cp -R /var/lib/mysql/* /home/mysql
#rm /home/mysql/ib*

Donner les droits :

#chown -R mysql:mysql /home/mysql
#/etc/init.d/mysql restart


  • Si, suite à une réinstallation de Debian, Mysql refuse de démarrer avec l’erreur :
/usr/bin/mysqladmin: connect to server at ‘localhost’ failed error: ‘Access denied for user ‘debiansysmaint’@'localhost’ (using password: YES)’

Debian crée un utilisateur spécifique (debiansysmaint) dans mysql pour que le système puisse automatiser certaines tâches. Le fichier /etc/mysql/debian.cnf (il appartient à root:root et est chmod 600) contient le mot de passe de cet utilisateur. Restaurer une sauvegarde du fichier (ou mettre le bon mot de passe) devrait suffire, sinon :

Mettre à jour le mot de passe MySQL du user debiansysmaint :

#mysql -uroot -p
GRANT ALL PRIVILEGES ON *.* TO 'debiansysmaint'@'localhost'
IDENTIFIED BY '' WITH GRANT OPTION;

(au besoin, tuer auparavant tous les démons mysql résiduels)

  • Opérations sur les bases :

Connecter MySQL :

#mysql -u root -p

Créer la base :

mysql> CREATE DATABASE base1;

Utiliser une base :

mysql> USE base1;

Créer l’utilisateur :

mysql> CREATE USER "toto"@"localhost";

Attribuer un mot de passe à l’utilisateur :

mysql> SET PASSWORD FOR "toto"@"localhost" = PASSWORD("mdp");

Donner tous les droits à l’utilisateur pour la base :

mysql> GRANT ALL ON base1.* TO toto@localhost;

Importer une sauvegarde de base :

#mysql -u root -p base1 < /home/…/Base1SavBdd.sql

Afficher les utilisateurs :

mysql>\u mysql
SELECT Host, User, Password FROM user;

Supprimer un Utilisateur :

mysql> DROP USER toto@localhost;

Supprimer une Base :

mysql> DROP DATABASE base1;

À suivre…

Serveur internet @ la maison -2-

Suite du premier épisode

Commençons cette série de billets de notes d'installation et configuration du serveur, par l'installation du LAMP (Linux/Apache/Mysql/Php)

1 - Amorçage de l'installation de GNU/Linux Debian Stable avec une clé USB :

  • La méthode facile et rapide, mais non sans danger avec la commande dd !
dd if=chemin-et-nom-de-l'iso of=/dev/sdX bs=4M; sync

Puis retirer la clé.

Attention à utiliser le nom correct pour la clé. Soyez sûr de vous, en cas d'erreur sur ce point le risque d'effacer son disque dur est probable !!!
Frileux ?? Alors préférez la méthode ci-dessous :

1.1 - Partitionner :

un périphérique USB en FAT16 ou FAT32.

1.2 - Rendre la clé bootable :

installer au préalable les paquets syslinux et mtools, et lancer :

#syslinux /dev/sdX1

Attention à utiliser le nom correct pour la clé. La partition ne doit pas être montée au lancement de syslinux. Cette procédure écrit un secteur d'amorçage sur la partition et crée le fichier ldlinux.sys qui contient le code du programme d'amorçage.

1.3 - Ajouter les fichiers de boot :

Les fichiers de boot se trouvent à cette adresse
http://www.debian.org/releases/stable/i386/ch04s02.html.fr#wherefiles
Dans le dossier hdmedia/

Montez la partition (mount /dev/sdX1 /mnt) et copier les fichiers suivants à la racine de la clé :

  • vmlinuz, noyau binaire
  • initrd.gz, image du disque virtuel initial
  • syslinux.cfg ,fichier de configuration de SYSLINUX qui doit contenir :
                                             default vmlinuz
                                             append initrd=initrd.gz

Copiez une image ISO de type « netinst ». Démontez la clé (umount /mnt) et voilà, c'est fait !

1.4 - BOOT :

Si le système refuse de s'amorcer à partir de la clé, il se peut que le secteur principal d'amorçage de la clé soit défectueux. Le corriger avec le programme installmbr qui se trouve dans le paquet mbr :

#installmbr/dev/sdX


2 - Installation du système :

- Renseigner Hostname : debianbox Domaine : mondomaine.fr
- Si besoin, pour modifier, éditer /etc/hostname => debianbox
- éditer /etc/hosts => 127.0.1.1 debianbox.mondomaine.fr debianbox
- La commande hostname -f renvoie donc debianbox.mondomaine.fr

Arrivé à l’étape du choix des logiciels, Tout décocher.

3 - Installation de logiciels utiles :

#apt-get install lmsensors opensshserver hddtemp bzip2 unzip ntpdate host pciutils vim rsync less ccze


4 - Installation d'apache, php et Mysql :

#apt-get install apache2 php5 php5mysql mysqlserver5.0 php5gd php5cli

À suivre…

Maintenance périodique du serveur

dsc07041.jpg Outre les sauvegardes régulières des données des sites web et les mises à jours du système, j'éteins le serveur environ tous les 6 mois pour le soumettre à un petit dépoussiérage en règle, rendant alors plus efficace le refroidissement des composants.


J'ai aussi profité de cet arrêt pour ajouter la grille de ventilation extérieure… cette pièce manquait pour achever le boitier.



dsc07042.jpg dsc07046.jpg dsc07047.jpg

Nolife Online, c'est où vous voulez, quand vous voulez !

Je n'ai pas (prend pas) assez de temps pour regarder Nolife et profiter de mon abonnement, alors j'ai trouvé cette solution !
Faisant ainsi écho à la bande promo de la chaine, «Nolife, à regarder où vous voulez, sur l'écran que vous voulez», j'ai comme ça quelques minutes de télé par jour dans les transports. dsc07039.jpg

Abonnement à partir de 3 €/mois !

Haut de page