Table des matières

Presentation

En 2008, OVH a elargi son offre en serveur dédié. L'offre initiale en serveur dédié “entree de gamme” s'appelle Kimsufi. La nouvelle offre a pour nom Kimsufi XXL. Cette offre est en concurrence directe avec la Dedibox XXL, aussi proposée depuis 2008.

Cette page va regrouper diverses informations sur la configuration, les tests et l'utilisation d'un serveur Kimsufi XXL en tant que serveur web.

Commande de la Kimsufi XXL

C'est assez simple (vu que c'est crucial pour OVH :P).

Il suffit d'aller sur http://ovh.fr et puis de choisir l'offre en serveur dédié Kimsufi XXL.

Mais ce qui est un peu etrange, c'est de recevoir le mail de commande pendant qu'on est en train de finaliser la commande. En me melangeant un peu les pinceaux, j'ai rendu la session de paiement invalide; car elle n'est valable qu'un temps limite apres l'affichage de la page… :P Bref, apres une 2e commande “tout en une seule fois”, pas de probleme.

Enfin, le serveur dedie demandait 72H mais le compte client etait cree tout de suite… Sauf que je n'ai jamais defini de mot de passe ?! On passe par la procedure de mot de passe oublie et voila…

Premiers pas dans le serveur

Login root

Un mail vous annonce que votre serveur est prêt et vous donne le login/password… root !

Il faudrait mieux renforcer la securite en ne permettant pas le login root en direct.

TODO: Il va falloir creer un autre utilisateur pour le login et restreindre le login root.

Filesystem et Partitions

Un premier “df -kh” donne

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             3.0G  473M  2.4G  17% /
varrun                1.5G   44K  1.5G   1% /var/run
varlock               1.5G     0  1.5G   0% /var/lock
udev                  1.5G   20K  1.5G   1% /dev
devshm                1.5G     0  1.5G   0% /dev/shm
/dev/sda2             456G   33M  432G   1% /home

La encore, pas terrible!

Sachant que MySql installe ses bases de donnees dans /var/lib/mysql; cela donne avec ces partitions un stockage dans /dev/sda1. Une taille de 3G est donc trop limitee pour heberger des gros sites.

2 solutions:

Installation des Logiciels

APT

Voici le fichier /etc/apt/sources.list pour les depots des applications a installer

deb ftp://mir1.ovh.net/ubuntu/ hardy main restricted
deb-src ftp://mir1.ovh.net/ubuntu/ hardy main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb ftp://mir1.ovh.net/ubuntu/ hardy-updates main restricted
deb-src ftp://mir1.ovh.net/ubuntu/ hardy-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## universe WILL NOT receive any review or updates from the Ubuntu security
## team.
deb ftp://mir1.ovh.net/ubuntu/ hardy universe
deb-src ftp://mir1.ovh.net/ubuntu/ hardy universe
deb ftp://mir1.ovh.net/ubuntu/ hardy-updates universe
deb-src ftp://mir1.ovh.net/ubuntu/ hardy-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb ftp://mir1.ovh.net/ubuntu/ hardy multiverse
deb-src ftp://mir1.ovh.net/ubuntu/ hardy multiverse
deb ftp://mir1.ovh.net/ubuntu/ hardy-updates multiverse
deb-src ftp://mir1.ovh.net/ubuntu/ hardy-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb ftp://mir1.ovh.net/ubuntu/ hardy-backports main restricted universe multiverse
# deb-src ftp://mir1.ovh.net/ubuntu/ hardy-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository. This software is not part of Ubuntu, but is
## offered by Canonical and the respective vendors as a service to Ubuntu
## users.
# deb http://archive.canonical.com/ubuntu hardy partner
# deb-src http://archive.canonical.com/ubuntu hardy partner

deb http://security.ubuntu.com/ubuntu hardy-security main restricted
deb-src http://security.ubuntu.com/ubuntu hardy-security main restricted
deb http://security.ubuntu.com/ubuntu hardy-security universe
deb-src http://security.ubuntu.com/ubuntu hardy-security universe
deb http://security.ubuntu.com/ubuntu hardy-security multiverse
deb-src http://security.ubuntu.com/ubuntu hardy-security multiverse

Lamp

La commande suivante va installer Apache2, PHP5 et MySQL5

$ apt-get install php5 php5-cli php5-mysql mysql-server

NOTE

Cela devrait tout installer et aussi lancer les serveurs. Pour tester que le serveur apache2 est bien actif maintenant, on va tester d'acceder a la page web par defaut.

http://votre.adresse.ip/

ou votre adress ip est donne par la commande

$ ifconfig

Il faut prendre la valeur XXX.XXX.XXX.XXX de la partie eth0 … ligne avec inet addr: XXX.XXX.XXX.XXX

Si votre serveur apache2 fonctionne correctement alors, vous allez voir une page d'accueil. La mienne dit “It Works!” :P

Le contenu de cette page est dans le dossier /var/www/ Allez vérifier que la page affichée correspond au contenu du fichier index.html

 more /var/www/index.html
<html><body><h1>It works!</h1></body></html>

La encore, l'installation par defaut utilise /var/www/ pour stocker les pages web et les autres contenus (uploads, etc…) On n'utilisera pas ce dossier car on a surtout l'espace dans /home Il faudra donc installer les fichiers web sous le dossier /home/ La configuration des noms de domaine permettra de relier facilement un nom de domaine a un dossier du disque.

Checkpoint 0

Voila, on a un serveur LAMP qui tourne!

C'est rapide et pas difficile pour mettre en place le minimum. Par contre, il faut changer plusieurs choses pour vraiment partir sur de bonnes bases et améliorer la sécurité du serveur…

Changer le dossier WWW

Par defaut, c'est dans le dossier /var/www/ qu'il faut deposer tous les fichiers accessibles pour le web.

Il faut creer un dossier /home/mon-dossier-www (par exemple)

Et puis on va modifier le fichier /etc/apache2/sites-available/default

        DocumentRoot /var/www/
        DocumentRoot /home/mon-dossier-www/

Ensuite, il faut evidemment redemarrer le serveur apache pour prendre en compte le nouveau dossier:

apache2ctl restart

Pour tester que tout fonctionne correctement, on cree un fichier /home/mon-dossier-www/index.htm

Avec comme contenu

WELCOME       

Il suffit de rafraichir la page web http://mon.adresse.ip/ pour voir le nouveau contenu.

Changer le datadir de MySQL

Dans le fichier /etc/mysql/my.cnf, on va changer le dossier de stockage des bases de donnees

Comme la config donne beaucoup d'espace a /home, on va creer un dossier dans /home pour MySQL

Par exemple: /home/mon-dossier-mysql

Il faut ensuite changer la valeur datadir a /home/mon-dossier-mysql/mysql

Il faut creer le dossier /home/mon-dossier-mysql/mysql, mettre les droits a l'utilisateur systeme mysql, copier le dossier systeme /var/lib/mysql/mysql vers /home/mon-dossier-mysql/mysql/mysql

et enfin relancer les serveurs MySQL

mkdir /home/mon-dossier-mysql
mkdir /home/mon-dossier-mysql/mysql
chgrp mysql /home/mon-dossier-mysql/mysql
chown mysql /home/mon-dossier-mysql/mysql
cp -pR /var/lib/mysql/mysql /home/mon-dossier-mysql/mysql/mysql
/etc/init.d/mysql stop
/etc/init.d/mysql start

Le serveur devrait se relancer sans erreur

En cas d'erreur il faut essayer les commandes mysqladmin pour avoir plus d'informations sur les problemes.

mysqladmin -p ping 
mysqladmin -p status

Installer un serveur de Mail: Postfix

Pour de nombreuses applications, on aura besoin de pouvoir envoyer des mails aux utilisateurs.

De plus, pour la surveillance du systeme, on se fera envoyer des mails pour etre sur que le systeme fonctionne toujours :P

Une bonne application de mailing est Postfix

apt-get install postfix

Choisir la configuration Internet et puis si vous avez un nom de domaine, mettez le votre a la place du ma-machine.kimsufi.com

Ensuite, pour pouvoir tester rapidement qu'on peut envoyer des mails, installer mailx

apt-get install mailx

C'est une interface sous Linux

mailx adress@mon-mail.com

Ecrire le sujet et le texte. Pour finir, faire <Ctrl-D>, donner un Cc: puis <enter> Le mail de test devrait arriver dans votre boite email

interdire le login SSH en root

WARNING TODO D'abord, il faut creer un 2eme utilisateur normnal!!!

adduser user-normal

Repondre aux questions… Donner un mot de passe…

Verifier qu'on peut se connecter avec user-normal.

WARNING Ensuite seulement…

Dans le fichier /etc/ssh/sshd_config Changer la ligne

PermitRootLogin yes

en

PermitRootLogin no

Et puis relancer le serveur ssh

/etc/init.d/ssh restart

Se deconnecter de la session root et puis verifier qu'on ne peut plus se connecter en root…

Se connecter avec user-normal pour les operations courantes

Utiliser le compte root avec le “su” seulement pour les operations de maintenance systeme

Configuration plus avancée

Plus d'outils et de protection

Installation serveur

apt-get install fail2ban

apt-get install php5 php5-mysql
apt-get install mysql-server
apt-get install mysql-client
apt-get install postfix

a2enmod rewrite deflate vhost_alias setenvif auth_basic auth_digest php5 ssl expires

apt-get install backup-manager

apt-get install phpmyadmin
ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

apt-get install php5-gd
apt-get install php5-curl

apt-get install subversion
apt-get install unzip
apt-get install curl

apt-get install gettext
apt-get install htop
apt-get install imagemagick


apt-get install php5-xcache
apache2ctl -k restart