Migration rapide d'un site web sur un serveur Debian
Ce tutoriel est issu d'un fil de discussion sur Malekal.com.
Introduction, à lire
Que propose ce tutoriel, quand l'utiliser ?
- Si votre site web utilise PHP et MySQL,
- Si vous avez un serveur en hébergement mutualisé, ou sur un hébergeur qui ne vous satisfait pas
- Et que vous voulez déplacer votre site vers un serveur Debian sur lequel vous avez les droits administrateur et un accès par ssh.
Non-dits
La processus de migration va comporter quelques étapes non décrites dans ce tutoriel :
- Vous allez vouloir empêcher les modifications sur la base de donnée de votre vieux serveur, ce qui peut impliquer de la mettre en lecture seule.
- Vous allez faire une sauvegarde complète de cette base (avec un outil comme phpmyadmin)
- Vous allez faire une sauvegarde complète de tous les fichiers du site web que vous récupérerez par exemple par
ftp(en fait, de la même manière que vous publiiez vos fichiers).
- Une fois le site mis en place sur le serveur, vous voudrez tester votre nouveau serveur, il faudra peut-être modifier votre fichier [i]hosts[/i] pour ça.
- Une fois le serveur testé, vous voudrez changer vos enregistrements DNS pour qu'ils pointent vers l'ip du nouveau serveur.
Attention
- Toutes les commandes sont tapées en tant que root .
- On suppose que le serveur web configuré est destiné à répondre sur les adresses http://exemple.malekal.com/ et http://exemple2.chezlefab.net/.
Installation des paquets requis
aptitude install -R apache2 mysql-server libapache2-mod-php5 phpmyadmin
Configuration de phpmyadmin (facultatif)
cd /var/www ln -s /usr/share/phpmyadmin
Configuration d'apache2
Création des répertoires
mkdir -p /srv/malekal.exemple/www mkdir /srv/malekal.exemple/logs
Upload du site web
depuis windows
Avec un client sftp comme filezilla, uploader les fichiers du site web dans /srv/malekal.exemple/www
depuis linux
Avec un bête scp (depuis la machine contenant les fichiers) :
scp -r /répertoire/contenant/les/fichiers/à/uploader root@ip_du_serveur:/srv/malekal.exemple/www[/code]
Et restauration des droits
(à nouveau en root sur le serveur)
chown www-data:www-data /srv/malekal.exemple/www -R
Configuration du « site » apache2 et du « VirtualHost »
cd /etc/apache2/sites-available/ cp default malekal.exemple
Puis éditer le fichier malekal.exemple (avec nano ou vim) pour qu'il ressemble à ça :
- fichier
/etc/apache2/sites-available/malekal.exemple
<VirtualHost *:80> ServerAdmin une_adresse_mail@spam ServerName exemple.malekal.com ServerAlias exemple2.chezlefab.net DocumentRoot /srv/malekal.exemple/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /srv/malekal.exemple/www> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ErrorLog /srv/malekal.exemple/logs/www.error.log LogLevel warn CustomLog /srv/malekal.exemple/logs/www.access.log combined ServerSignature Off </VirtualHost>
Activez le nouveau site
ln /etc/apache2/sites-available/malekal.exemple /etc/apache2/sites-enabled/malekal.exemple invoke-rc.d apache2 reload
Configuration du serveur Mysql (si le site requiert une base de donnée...)
Création d'une base de donnée
- Se connecter au serveur mysql en utilisant le mot de passe de l'administrateur mysql (donné lors de l'installation de mysql)
mysql -p
- Créer une base de donnée
51&q=CREATE&lr=lang_en">CREATE 51&q=DATABASE&lr=lang_en">DATABASE malekal_exemple;
Création de l'utilisateur mysql
- Ajouter un utilisateur
51&q=GRANT&lr=lang_en">GRANT 51&q=ALL&lr=lang_en">ALL 51&q=PRIVILEGES&lr=lang_en">PRIVILEGES 51&q=ON&lr=lang_en">ON malekal_exemple.* 51&q=TO&lr=lang_en">TO 'nom_dutilisateur'@'localhost' IDENTIFIED BY 'mot_de_passe'; FLUSH 51&q=PRIVILEGES&lr=lang_en">PRIVILEGES;
- Quitter mysql en tapant Control-D
Restauration de la base mysql.
- Le fichier contenant la vieille base
Uploader le fichier contenant la vieille base dans /srv/malekal.exemple/ Se rendre dans ce dossier
cd /srv/malekal.exemple/
S'il est gzipé, dégézipez-le avec « gunzip mon_fichier.gz » S'il est bzipé, débézipez-le avec « bunzip2 mon_fichier.bz2 »
- Restauration
mysql -u nom_dutilisateur -p < mon_fichier
Et voilà…
tuto_nix/migration_site.txt · Dernière modification: 18/09/2009 10:37 (édition externe)




