en Jump to content
  • 0
Jean Francois G

TUTO: Installer son serveur dédié VPS de A à Z sur debian 7 et 8 + ISPCONFIG + Site

Question

Installer de A à Z son Serveur  VPS ou dédié sur debian 7 ou 8 + ISPCONFIG

 

 par Jean François Guilard - 71100 Chalon sur Saone - jfrancois@guilard.com

 

( tuto constamment mis a jour pour les dernières versions de débian : Actuellement 7 et 8 )

Dans cet exemple nous choisissons un serveur VPS OVH mais le tuto est valable pour tous les serveurs VPS de n'importe quel prestataire et même les serveurs 100% dédiés.

 

 

 

Vous lirez dans plein de topics : "Si tu n'es pas un administrateur de génie, alors ne tente pas l'expérience des serveurs dédiés car c'est impossible. Tu dois faire appel à un professionnel payant."

Nous allons tenter ici de casser ce discours et de faire en sorte que vous puissiez vous aussi avoir votre serveur dédié avec juste un minimum de connaissances.

 

 Lorsque votre opérateur vous livre votre VPS, sa version de débian est "nue" (Sauf cas spéciaux). C'est à dire que le serveur démarre, charge linux, comprend le html... mais c'est à peu prêt tout. Pour le reste c'est une coquille vide qui attend patiemment que quelqu'un vienne lui dire quoi faire. Il va donc falloir que ce soit vous qui le lui disiez.

 

Dans ce tuto vous allez apprendre à installer les fichiers nécessaires pour que le serveur comprenne le PHP, utilise une base de donnée et supporte les fonctions utiles à prestashop, mais aussi le sécuriser, le clôturer et punir les méchants qui souhaiteraient lui faire du mal..

 

Vous allez également installer un gestionnaire graphique de serveur, accessible depuis internet, afin de pouvoir gérer celui ci plus facilement sans avoir besoin d'en apprendre les lignes de commandes. J'ai choisi ISP-Config car il à l'avantage d'être 100% gratuit et assez simple à comprendre.

 

Pour les novices, comptez environ 1h30 pour tout faire.. Alors ... c'est parti ! (les modifs pour débian 8 sont marquées en ROUGE) certaines spécifiques à débian 7 seront marquées en BLEU

 

Nous allons avoir besoin des données que nous avons reçu d’OVH ou de votre opérateur lors de la création du VPS.

  • Notamment son nom (vpsxxxxx.ovh.net) ou (xxxxxxx.vpsoperateur.xxx)
  • Le mot de passe root pour le ssh
  • L’adresse IP du serveur

 

1 / Si vous avez déjà tenté quelque chose sur votre VPS il faut le réinstaller.  :

 

1A / POUR LES VPS OVH APRES 2013 (DONC ACTUELS 2014 et 2015)

Vous devez vous rendre dans votre espace d'administration de votre compte sur le site OVH

Vous cliquez sur le nom de votre VPS

En haut à droite une case est marquée "REINSTALLER"

Vous choisissez la version de Débian 7 (ou 8 c'est selon votre choix).

  

2/ Préparation du serveur :

 

Nous allons tout paramétrer par SSH. Donc il faut télécharger un programme pour cela. Par exemple le logiciel Putty : http://www.clubic.co...0874-putty.html

 

Lancez  putty, puis connectez vous sur l’IP de votre serveur.

 

Une fenêtre noir apparait, c’est la que tout se passe.

 

  • Tapez votre login : root
  • Puis votre mot de passe reçu sur le mail de confirmation que vous venez de recevoir.

 

Nous allons utiliser un éditeur de fichier pour paramétrer notre serveur.

Debian 7 et 8 sont normalement fournis avec l'utilitaire nano. Il est parfait pour faire notre paramétrage et en plus est complet.

Pour savoir s'il est bel et bien déja préinstallé, il suffit de taper l'ordre "Nano"'

Si un editeur noir s'affiche, c'est tout bon. un CTRL X reviendra aux lignes de commandes.

Si un message d'erreur s'affiche alors allez au chapitre 2b, effectuez les modifs et revenez ici après :)

 

A noter que :

- pour annuler la saisie : CTRL Z

- Pour enregistrer le fichier : CTRL X, puis Y pour confirmer et ENTREE pour valider le nom de fichier

- Pour débloquer si l'on a fait une mauvaise manip : CTRL C

 

2a : Verifier le hostname

 

Une fois logué en root, la première chose à faire est de vérifier que votre host est bien configuré (notamment si vous n'êtes pas sur un serveur VPS OVH, ou si vous êtes sur un vrai dédié :

"nano /etc/hostname"

Vous vérifiez que le nom de votre serveur est présent et bien complet, sinon vous corrigez.

 

2b : Changer le mot de passe du root

 

Pour mieux vous rappeler du mdp root, nous allons le changer. Tapez

« passwd root »

Et choisissez un mot de passe qui vous plait.

 

2c : Faire la mise à jour des sources et installer les ordres critiques

 

 Pour mettre les bonnes sources d'applications pour votre débian, on fait "nano /etc/apt/sources.list" (ou "vi /etc/apt/sources.list" si nano n'est pas encore installé) et on efface tout ce qu'il y a d'écrit.

Ensuite on rempli avec les choses suivantes :

 

Pour débian 7, le sourcelist idéale est :

deb http://security.debian.org/ wheezy/updates main contrib non-free

deb http://ftp.fr.debian.org/debian/ wheezy-updates main non-free contrib

deb http://ftp.debian.org/debian wheezy main contrib non-free

deb http://ftp.debian.org/debian/ wheezy-backports main contrib non-free

 

 Pour débian 8 mettez à jour la liste des sources pour qu'elle contienne ceci :

deb http://ftp.us.debian.org/debian jessie main contrib

deb http://security.debian.org jessie/updates main contrib non-free

deb http://ftp.us.debian.org/debian jessie-updates main

 

Maintenant on lance la prise en compte des nouvelles sources

  •  « apt-get update », validez

Si erreur "There is no public key available for the following key IDs" :

apt-get install debian-archive-keyring

apt-key update

 

Normalement à ce stade on met à jour notre linux, mais pour éviter des erreurs plus tard nous allons dès maintenant installer des appli critiques :

Installation de dialog (au cas ou) : "apt-get install dialog"

puis les taches cron : apt-get install cron

puis les complément de apt : " apt-get install apt-utils"

 

Puis on met à jour notre linux

  • “apt-get upgrade”, validez 

 

Maintenant que le système est à jour, on va pouvoir travailler correctement

 

2d : Configurer la langue et les caractères

 

Par défaut, le serveur est configuré pour en_EN.utf8, nous allons le paramétrer pour les caractères français :

 

« dpkg-reconfigure locales »

 

Un panneau apparait. Faites naviguer la liste et cochez fr_FR.UTF-8, puis tab et validez

Dans région par défaut, choisissez « fr_FR.UTF-8 »

 

Nous avons donc configuré la langue française et le type de caractère à UTF-8 (ça tombe bien c'est ce qu'utilise prestashop)

 

Note : Si le message "no locales installed on this server" apparait, lancez l'installation avec un "apt-get install locales" puis recommencez le chapitre 2

 

2e : Installer les programmes obligatoires

 

Installation de mysql :

“apt-get install mysql-server mysql-client”

Vous devrez confirmer, puis donner le mot de passé que vous voulez pour l’utilisateur root

 

Installation d’apache :

« apt-get install apache2 »

Vous devrez confirmer en tapant Y à la question.

Update : Notez que nous avons installé la version worker d'apache.

 

Installer PHP :

“apt-get install php5 libapache2-mod-php5”

apt-get install php5

apt-get install php5-cgi

apt-get install libapache2-mod-fcgid

 

Et on relance le service

« /etc/init.d/apache2 restart »

 

Installation des modules optionnelles (redimensionnement graphique, module de traduction etc.. ) selon votre utilisation vous pouvez en ajouter ou en retirer :

 

« apt-get install php5-curl php5-gd php-pear php5-pspell php5-recode php5-snmp php5-sqlite»

(Les appellations des modules sont adaptées maintenant à debian 7 et 8. Pas de soucis) 

 

Et on reboot

« Reboot »

 

La fenêtre SSH va se fermer. Relancez putty et reconnectez-vous en root avec votre nouveau mot de passe.

 

Installation de phpmyadmin :

 

 « apt-get install phpmyadmin »

 

Sur l’application en route, pointez « apache » avec la barre d’espace et validez

A la prochaine question sur dbconfig-common, dites non.

 

 

Optionnels mais conseillés : Installation de l’antivirus et d'autres modules  (comme unzip par exemple):

 

 « apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon  zip »

 

Ce qui installe clamAV, amavisd et spam-assassin, ainsi que les compresseurs et décompresseurs

 

Comme c'est amavisd qui sera utilisé avec isp-config et que ce logiciel se sert des configs de spam-assasin, on va pouvoir l'annuler.

 

"/etc/init.d/spamassassin stop"
"update-rc.d -f spamassassin remove"

 

On installe le serveurs de courrier et les appli utiles :

 

« apt-get install postfix postfix-mysql openssl getmail4 rkhunter binutils»

 

Aux questions répondez : « site internet », puis renseignez votre nom de VPSxxx.ovh.net (ou votre hostname si vous n'êtes pas chez ovh), puis SSL « non »

 

Maintenant, on autorise mySQL à écouter partout :

 

« nano /etc/mysql/my.cnf »

 

Commentez la ligne bind-address = 127.0.0.1

Ce qui donne « # bind-address = 127.0.0.1 »

Sauvez le fichier

Relancez le service

 

« /etc/init.d/mysql restart »

 

 

   

 

On installe maintenant FCGI, suExec, Pear, mcrypt et quelques modules utiles:

 

« apt-get install libexpat1 php5-cgi apache2-suexec php-auth mcrypt »

La aussi j'ai adapté l'ancien tuto pour qu'il soit compatible avec 7 et 8

 

Puis on active les modules de redirections etc..

 

“a2enmod suexec rewrite ssl actions include”
“a2enmod dav_fs dav auth_digest”

 

On relance le service :

 

« /etc/init.d/apache2 restart »

 

Installation du serveur FTP :

 

« apt-get install pure-ftpd-common pure-ftpd-mysql »

« nano /etc/default/pure-ftpd-common »

 

Et on change sur ce fichier la ligne VIRTUALCHROOT=false, en VIRTUALCHROOT=true

Et on sauve

Puis on relance le service

 

« /etc/init.d/pure-ftpd-mysql restart »

 

 

Optionnel (utile que si vous souhaitez ne pas utiliser les DNS de votre opérateur) : Installation du serveur DNS

« apt-get install bind9 dnsutils »

 

Installation des logs et des stats adaptés à ISPCONFIG :

“apt-get install vlogger webalizer awstats geoip-database”

« nano /etc/cron.d/awstats »

Et dans ce fichier commentez toutes les lignes

 

Installation de fail2ban :

« apt-get install fail2ban »

 

Puis on crée les fichiers de configuration pour chaque service

 

« nano /etc/fail2ban/jail.conf »

en mettant ces lignes en enabled= true:

 

[ssh]

enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log

bantime = 86400
maxretry = 2

 

[pure-ftpd]

enabled  = true
port     = ftp,ftp-data,ftps,ftps-data
filter   = pure-ftpd
logpath  = /var/log/syslog

bantime= 7400
maxretry = 3

 

[postfix]

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

bantime = 86400

maxretry = 2

 

 

Moi j'ai été hard, j'ai mis 2 tentative maximum en erreur car les russes ont bien compris que tout le monde mettait 5 et ils tentent que 3 fois par 20 minutes...

Vous pouvez remonter à 5 si vous avez peur de vous tromper vous même ... Mais bon si vous connaissez vos codes, normalement c'est zero mauvaises tentatives...

 

INSTALLATION D'ISPCONFIG :

 

Lancez cette ligne de commande :

ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf

Cela corrigera chez certains le fait qu'il n'y a pas de virtualhost SSL d'activé et évitera le message 'NameVirtualHost *:443 has no VirtualHosts'

 

 

 

Maintenant tapez les ligne suivantes :

cd /tmp

wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz

tar xfz ISPConfig-3-stable.tar.gz

cd ispconfig3_install/install/

php -q install.php

 

 

Maintenant il faut remplir les zones demandées par ISPConfig :

 

ISPConfig-3-300x94.png

Select language (en,de) [en]:  Faire entrer

Installation mode (standard,expert) [standard]: Faire entrer

Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [server1.example.com]: Taper le nom du Hostname du serveur

MySQL server hostname [localhost]: Faire entrer

MySQL root username [root]: Faire entrer

MySQL root password []: Taper ici le mont de passe que vous avez défini à l'installation de MySql

MySQL database to create [dbispconfig]: Faire entrer

MySQL charset [utf8]: Faire entrer

 

La il va y avoir une création des clés de sécurité puis il redemande ensuite de nouvelles informations :

 

Country Name (2 letter code) [AU]: Saisir les deux lettres du pays du serveur (FR pour france)

State or Province Name (full name) [some-State]: Taper le nom de votre département ou laisser vide

Locality Name (eg, city) []: Taper le nom de la ville ou laisser vide

Organization Name (eg, company) [internet Widgits Pty Ltd]: Taper le nom de la Boutique, ou laisser vide

Organizational Unit Name (eg, section) []: Faire entrer

Common Name (eg, YOUR name) []: Taper votre nom de famille ou laisser vide

Email Address []: Taper votre adresse email de contact webmaster ou laisser vide

 

Il mouline et termine l'installation.

 

L’installation de base est terminée.

 

Pour acceder a ispconfig :

Vpsxxxxx.ovh.net :8080 (ou votre hostname:8080 ou votre IP:8080

 

Pour acceder à phpmyadmin

Vpsxxxxx.ovh.net/phpmyadmin

 

Attention, si vous êtes dans les dernières versions, l'accès à phpmyadmin se fait avec :

Vpsxxxxx.ovh.net:8080/phpmyadmin

 

3/ Réglages essentiels de sécurité 

 

3a : Edition de php.ini pour autoriser l’importation des gros fichiers dans phpmyadmin :

 

« nano /etc/php5/apache2/php.ini »

 

En face de max_input_vars, mettre 20000 (Pour les fichiers de traduction de prestashop)

Et mettez 20M en face de upload_max_filesize =

 

!! Attention !! si vous choisissez le mode PHP-CGI pour vos site vous devez faire la même chose dans le dossier /etc/php5/CGI

 

On relance le serveur :  /etc/init.d/apache2 restart

 

3b : securiser et changer le port d’accès pour ispconfig

 

« nano /etc/apache2/sites-available/ispconfig.vhost »

 

Vous trouverez ceci :

 

Listen 8080

NameVirtualHost *:8080

<VirtualHost _default_:8080>

<IfModule mod_fcgid.c>

 

À changer en ceci si vous voulez le port 7654 à la place du 8080 :

 

Listen 7654

NameVirtualHost *:7654

<VirtualHost _default_:7654>

<IfModule mod_fcgid.c>

 

 

3c : Changer l’adresse d’accès de phpmyadmin

 

« nano /etc/phpmyadmin/apache.conf »

 

Vous trouverez ceci :

Alias /phpmyadmin /usr/share/phpmyadmin

 

A changer en ceci (ou monraccourci = l’adresse souhaitée)

Alias /monraccourci /usr/share/phpmyadmin

 

4 : Parametrer un nouveau site dans ISPCONFIG

 

Dans ISP CONFIG :

  • / Enlever les prefixes :

Si on ne compte pas utiliser son dédier pour vendre des sites a des clients, on peut enlever les préfixes automatiques que ISP config met dans les paramètres.

Onglet « system » : « Interface config » : onglet « sites »

  • Supprimer tous les préfixes déjà préconfigurés. Cela évitera de ne plus se rappeler des différents login que ispconfig aurait modifié lui-même.
  • / Créer son propre compte client :

Histoire de ne pas avoir de messages de rappel a répétition ou de zones vides dans la config.

 

Onglet « Client »

« Ajouter un nouveau client » et on renseigne les zones

  • / On crée l’espace du futur site web :

 

Onglet « Site »: « Add new site »

Sous onglet « domaine » :

- Serveur : sélectionner son serveur

- Client : le fameux client créé précédemment

- Adresse ip : * (choisir l’etoile et ne pas choisir l’adresse IP du serveur, sauf si vous ne voulez jamais rajouter d’autres sites. En gros laisser l’étoile)

- Domaine : nomdomaine.com (ne pas mettre le www.)

- De CGI à SuEXEC, remplissez selon les technologies utilisées

- Auto sous-domaine : *.

- SSL : cochez si vous administrez via SSL

- ]PHP : choisissez votre fonctionnement de PHP (fast-CGI)

- Actif : Coché (évidemment)

Et : ENREGISTRER

  • / On crée l’utilisateur FTP pour le site :

Onglet « site » : Sous onglet « utilisateur FTP »
+ Nouvel utilisateur FTP : puis
Site web : on choisi le domaine concerné

Nom d’utilisateur : Choisir un login (qui ne sera pas modifié puisqu’on a supprimé les préfixes)

Choisir un mot de passe

Quota de disque : -1 (c’est vous donc pas de restriction)

Actif : ben oui

On peut maintenant accéder via FTP a l’espace web et uploader le site dans le dossier « web »

  • / La base de données :

Sous ISPConfig, J’ai essayé l’onglet « base de données » de l’onglet « site », mais ça ne fait rien.

Même si on crée un nouvelle base, cela ne la crée pas réellement (PHPmyadmin le confirme)

Donc je passe par PHPmyadmin pour créer ma base de données puis l’importation pour transférer les tables .

  • Sous phpmyadmin créez une nouvelle base de donnée (rappelez vous de son nom pour plus tard), puis dans cette base de données, grâce à l’onglet « importer », restaurez votre sauvegarde SQL que vous avez faite via votre mutualisé. Pour cela cliquez sur parcourir et allez cherchez le fichier Zip ou sql (c’est selon) puis cliquez sur « executer ». Ca mouline …. On attends (ça peut durer longtemps) … et hop c’est bon.
  • Dans privileges, créez un nouvel utilisateur, donnez lui un nom, laissez « tout serveur », donnez lui un mot de passe, et les privilèges passe partout. (vous pouvez aussi donnez tous les droits sur cette base uniquement, en cliquant sur le choix plus bas, plus facile mais c’est plus risqué) . Cliquez sur « éxecuter »
  • La base est prête

 

5 / Pointer votre DNS de domaine sur votre serveur 

Chez votre registar, accédez au zones DNS, puis dans la zone A, mettez votre serveur vps.xxxxx.ovh.com ou votre adresse IP de serveur

Dans la zone MX, faites pareil (si vous voulez gérer vos mails sur votre serveur)

 

 

6 / Sécuriser son accès SSH

Actuellement votre accès à distance est sur ROOT sur le port  22, c'est à dire sur l'utilisateur maître (un dieu en somme) sur le port par défaut.

Nous allons changer cela afin de compliquer une éventuelle tentative d'utilisation de votre SSH par un tiers.

 

6a : Changement du port d'accès :

 

Avec putty, accedez à votre serveur et loguez vous en root.

puis :

 

"nano /etc/ssh/sshd_config"

 

vous allez avoir ceci :

 

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 1 (Quelques fois protocol 2)

 

à changer en ceci (ou 7654 est à changer dans le numéro de port que vous souhaitez) :

 

# What ports, IPs and protocols we listen for

Port 7654
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::

#ListenAddress 0.0.0.0
Protocol 2

 

et sauvegardez

 

6b : Maintenant nous allons créer un utilisateur autre que root:

 

Création de l'utilisateur :

 

"adduser teteatoto"

 

Pas bien compliqué ça ... Mais pour l'instant root peut toujours accéder au SSH

 

6c : Interdiction du SSH à root  et autorisation d'accès à teteatoto

 

Attention : Cette étape va interdire le login SSH de root, ne vous trompez pas concernant le nouveau nom d'utilisateur. Si vous l'oubliez = Réinstallation

 

"nano /etc/ssh/sshd_config"

 

vous allez avoir ceci :

 

# Authentication:

LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

 

 

à changer en ceci :

 

# Authentication:
LoginGraceTime 120

PermitRootLogin no
StrictModes yes

AllowUsers teteàtoto

 

sauvez le fichier

relancez le service :

 

"/etc/init.d/ssh restart"

 

Dorénavant pour accéder au serveur en ssh vous devrez vous loguer en tant teteatoto (et mot de passe de teteatoto), puis dès que vous accedez à la ligne de commande, vous devrez demander les droits du root pour travailler à sa place avec la lignes suivante :

 

"su -"

 

Il sera demandé le mot de passe du root et une fois fait, hop vous avez pris sa place

 

7 / METTRE A JOUR CLAMAV SOUS DEBIAN 7 :

 

Pour ceux qui ne supportent pas d'avoir des lignes d'avertissements dans les logs, vous avez remarquez que clamav affiche toujours des messages indiquant qu'il est "out to date". Ça n'empêche en rien son fonctionnement mais si vous souhaitez corriger cela alors :

 

"nano /etc/apt/sources.list"

 

Ajoutez la source suivante :

deb http://ftp.de.debian.org/debian/ wheezy-updates main contrib non-free
deb-src
http://ftp.de.debian.org/debian/ wheezy-updates main contrib non-free

 

puis lancez la mise a jour des sources et du programme :

 

"apt-get update"
"apt-get install clamav"
"apt-get -u upgrade"

 

Relancer amavis pour qu'il prenne en compte les modifs :

 

"/etc/init.d/amavis restart"

 Cette solution ne fonctionne plus sur débian 8. Je mettrais la nouvelle soluce ici même dès que je l'aurais mis en place et testée.

 

8 / VERIFIER QUE LE MODULE MOD_EXPIRES EST BIEN ACTIF

 

Pour gagner de la vitesse dans l'affichage des pages il est important que les navigateurs sachent quand ils doivent recharger les images et quand les prendre dans le cache. Pour cela c'est le module 'expires' qui donne les instructions.

 

Debian n'active pas toujours ce module par défaut, alors dans le doute on va le vérifier et si besoin l'activer :

 

On lance la commande suivante :

"a2enmod expires"

 

Si on à la réponse 'expires already enabled' alors on est bon, rien besoin de rajouter.

 

Si la réponse est 'Enabling module expires. To activate the new configuration, you need to run:   service apache2 restart' Alors on écoute et on tape sagement :

"service apache2 restart"

 

Et hop, google vous dira merci.
 

Derniers petits chargements :

 

Je rajoute quelques utilitaires qui seront bien utiles si vous voulez décompresser des fichiers de sauvegardes ou bien en créer ou les transférer sur une autre serveur..

 

apt-get install unzip zip ftp

 

Comme son nom l'indique unzip decompresse des archives zip, son petit frère zip les crée, et ftp est le mode ligne de commande pour transférer sur un ftp distant. Il ne reste plus qu'a créer le script qui va bien..

 

IMPORTER UNE BASE EXISTANTE MYSQL :

 

Astuce pour ceux qui souhaitent faire une importation sans risque d'erreur d'un PHP.ini ou de phpmyadmin :

 

en ssh :

cd /var

mkdir temp

 

Dans le phpmyadmin de l'ancien serveur, faire une exportation de la bdd en format zip

Copier ensuite ce fichier zip de vitre PC au nouveau VPS dans ce dossier temporaire.

Lancez un

unzip nomdelabase.zip,

qui donnera un fichier nomdelabase.sql

 

dans le nouveau phpmyadmin du vps créer la base de données (par exemple basetoto)

Puis un nouveau uilisateur pour cette base.

 

Ensuite en SSh faites :

 mysql -u utilisateur -p nomdelabasevps < nomdelabase.sql

 

il suffit ensuite de donner le mot de passe de l'utilisateur et l'importation se fait en quelques secondes seulement..

 

puis :

rm nomdelabase.*

 

et le dossier est de nouveau propre

 

De plus on contourne ainsi les limitations des PHP.ini ce qui sécurise encore un peu plus et permet de laisser le upload_max_filesize par défaut..

 

 

et voila. Vous avez terminé.

 

Vous venez de créer votre serveur dédié rien qu'à vous et en plus vous l'avez fait tout seul ! Félicitation !

Vous avez sans doute économisé plusieurs centaines d'euros de main d’œuvre et je sais par expérience que se lancer dans l'e-commerce demande de faire des économies un peu partout au début. :)

 

Bonne administration et n’hésitez pas à poser des questions si vous rencontrez un soucis.

Edited by Jean Francois G

Share this post


Link to post
Share on other sites

201 answers to this question

Recommended Posts

  • 0

A ajouter par l'auteur s'il veut bien, pour les utilisateurs qui on une mauvaise connexion, l'upload en FTP d'un outil tel que Presta peut etre parfois très long alors qu'il est simple de le faire en 2 min a partir du VPS.

Dans ISP config, creer dans l'onglet site un "utilisateur shell", puis s'y connecter avec cet utilisateur.

Je suis surpris que tu n'es pas abordé le cache comme la derniere fois :rolleyes:

Share this post


Link to post
Share on other sites
  • 0

yop !

Merci pour l'astuce que tu as rajouté. Effectivement ça gagne pas mal de minutes.

Pour le cache, s'il faut que je le remette ici je le ferais, mais comme en fait c'est plutôt optionnel d'utiliser memcached, je me suis dis que ceux qui le veulent le trouverons bien sur l'autre topic lol :)

 

Note : Dans la semaine, je rajouterais à ce tuto les explications pour créer et administrer son gestionnaire d'Email sur ISPCONFIG, comme cela la boucle sera bouclée et le serveur sera complet.

Edited by Jean Francois G

Share this post


Link to post
Share on other sites
  • 0

Bonjour et merci de partager votre expérience, car pour des débutants comme moi c'est vraiment une aide vraiment précieuse car sans des personnes comme vous l'aventure qu'est le lancement d'un e-commerce n'autait jamais pu voir le jour...

 

Si je me permet de vous contacter c'est pour avoir un conseil... effectivement je viens d'acquerir un nom de domaine et un hébergement chez ovh (VPS 2013 - Cloud 2 Système d'exploitation Prestashop 1.5.6 64bit (Debian 7).

 

Ma boutique a été créé en local (wampServer) je vais donc me lancer aujourd'hui dans le transfert de celle ci sur mon vps...

D'après ce que j'ai pu lire il serai déjà optimisé afin de recevoir une boutique prestashop.

Donc je me demande si dans mon cas il fallait que je suive votre tuto (pour des raisons de sécurités...)ou si tous cela ne me concerne pas et je peux directement passer au transfert de ma boutique...

Par avance merci pour l’intérêt que vous me porterez.

Edited by trendles

Share this post


Link to post
Share on other sites
  • 0

merci pour votre message :)

 

Alors dans votre cas, il semblerait que vous n'ayez absolument pas à faire l'installation du serveur puisque celle ci est déjà faite.

 

par contre, vous devrez peut être sécuriser un peu plus phpmyadmin afin que personne ne puisse pénétrer votre système.

De même, il faudra aussi sécuriser votre accès SSH.

 

Pour ce qui est du transfert, il suffira de remplacer la version vierge déjà installée dans votre VPS, avec la votre :

 

- Aller sur phpmyadmin

- Supprimer la table existante

- créer la même table que celle de votre serveur local

- exporter la base locale puis l'importer dans le VPS

- créer l'utilisateur de la base de donnée dans phpmyadmin

- refermer phpmyadmin

 

- Dans le ftp du VPS 

- Supprimer la version distante

- Copier votre version dans le VPS

 

- Si besoin changer les points différents dans config.inc

 

Ensuite dans votre gestionnaire OVH, aller dans les réglages de votre domaine

Allez dans zone DNS

Changez la zone A avec l'IP du VPS

Changez la zone CNAME www avec le nom de votre VPS (vpsxxxx.ovh.net)

 

Notez qu'il semblerait que votre VPS ne soit pas prévu pour gérer les mails de votre domaine. il faut donc prendre une offre mail chez OVH, ou ajouter un serveur mail à votre VPS.

 

edit : dans le cas de ce VPS "spécial", a priori pas besoin de serveur DNS

Edited by Jean Francois G

Share this post


Link to post
Share on other sites
  • 0

Merci pour toutes ces explications ! missions accomplie grâce à vos conseils B)

Néanmoins voilà 3h que j'ai modifié les réglages de mon domaine mais toujours, lorsque je tape l'url je suis redirigé directement vers https://ssl0.ovh.net/fr/

Voilà ce que j'ai comme paramètre dans ma zone DNS

 

  Champ                        Type                       Cible      

.monsite.com                  NS                       ns***.anycast.me
.monsite.com                  NS                       dns***.anycast.me      
.monsite.com                  MX 1                    redirect.ovh.net
.monsite.com                  A                          ipv4 du VPS
www.monsite.com          CNAME               vps******.ovh.net
ftp.monsite.com             CNAME                monsite.com
mail.monsite.com          CNAME                ns0.ovh.net
ox.monsite.com             CNAME                ox.ovh.net
pop3.monsite.com         CNAME                ns0.ovh.net
smtp.monsite.com         CNAME                ns0.ovh.net

 

Cela vous semble t il cohérent ?

N'ai je pas été encore assez patient ou une erreur de ma part pourrait en être la cause ?

cordialement.

Edited by trendles

Share this post


Link to post
Share on other sites
  • 0

Alors il faut 24 heures pour que la propagation des DNS se fasse.

Il est donc normal que pour l'instant vous n'ayez rien

Bonjour, effectivement vous aviez raison aujourd'hui ça marche très bien, néanmoins j'ai un petit soucis, car il me redirige automatiquement vers l'url du vps, c'est à dire lorsque je tape "www.monsite.com", le lien ce fait bien avec mon domaine mais l'url ce modifie par "vps***.net/..."

j'ai cherché dans la zone dns, mais je ne vois pas d’où cela peu provenir, auriez vous une idée de là cause de ce soucis ?

Merci beaucoup pour votre aide.

Share this post


Link to post
Share on other sites
  • 0

Je ne pense pas que cela est a voir avec les DNS, mais plutot avec ce que vous avez marqué dans le back office presta :

 

Preferences / SEO URL / -> Url de la boutique

 

Vous avez ici l'url du VPS au lieu de celle de votre domaine. Et comme "rediriger vers l'url" est activé, hop vous revenez à l'url prévu dans les réglages.

 

Changez vpsxxxx.ovh.net par votre domaine dans les deux lignes Domaine et domaine SSL

Share this post


Link to post
Share on other sites
  • 0

Je ne pense pas que cela est a voir avec les DNS, mais plutot avec ce que vous avez marqué dans le back office presta :

 

Preferences / SEO URL / -> Url de la boutique

 

Vous avez ici l'url du VPS au lieu de celle de votre domaine. Et comme "rediriger vers l'url" est activé, hop vous revenez à l'url prévu dans les réglages.

 

Changez vpsxxxx.ovh.net par votre domaine dans les deux lignes Domaine et domaine SSL

 

Rapide, précis et efficace ! ! ! Vous êtes mon héros ;)

Un énorme merci à vous.

Edited by trendles

Share this post


Link to post
Share on other sites
  • 0

yop !

Merci pour l'astuce que tu as rajouté. Effectivement ça gagne pas mal de minutes.

Pour le cache, s'il faut que je le remette ici je le ferais, mais comme en fait c'est plutôt optionnel d'utiliser memcached, je me suis dis que ceux qui le veulent le trouverons bien sur l'autre topic lol :)

 

Note : Dans la semaine, je rajouterais à ce tuto les explications pour créer et administrer son gestionnaire d'Email sur ISPCONFIG, comme cela la boucle sera bouclée et le serveur sera complet.

Si tu as l'astuce pour mettre en place memcached je suis preneur  ;) (-; car malgré le suivit de divers exemples trouvés, je bloque sur mon serveur, j'ai toujours le message suivant : Fatal error: Class 'Memcache' not found in /var/www/clients/client2/web14/web/classes/MCached.php on line 41

Share this post


Link to post
Share on other sites
  • 0

merci jf, mais finalement lws m'a répondu ce matin ....

 

L'option memcached été bien activée, mais il fallait changé le handler php-fpm par mod-php depuis le panel ISPconfig.

 

après je ne connais pas la différence exacte en les deux ... ?????????????

 

mais ça marche, c'est ce qui compte ... :rolleyes:

Edited by SAM00006

Share this post


Link to post
Share on other sites
  • 0

Merci pour le tuto, tout fonctionne bien, tout s'installe, même mysql fonctionne depuis ISPconfig, mais il subsiste un hic :

lorsque je vais sur vpsxxxx.ovh.net, c'est l'index.html de /var/www qui s'affiche, et non celui de /var/www/vpsxxxx.ovh.net/web/

 

J'ai donc tenté d'installer prestashop dans /var/www, mais bien entendu cela ne fonctionne pas.

 

Si je vais sur http://vpsxxxx.ovh.net/vpsxxxx.ovh.net/web/index.html j'obtiens 

Forbidden

You don't have permission to access /vpsxxxx.ovh.net/web/index.html on this server.

 

Je viens de passer 3 heures à chercher, mes connaissances limitées ne suffiront pas je pense, d'où la demande d'aide :)

Share this post


Link to post
Share on other sites
  • 0

C'est normal, car vous êtes dans le dossier par défaut du serveur. La ou vous allez marquer avec une jolie page html : "accès reservé, veuillez utiliser l'adresse du site désiré"

 

Pour votre site prestashop, vous devez créer votre espace lié à votre nom de domaine. Tout est expliqué ici : http://www.prestashop.com/forums/topic/225378-tuto-tuto-complet-pour-basculer-dun-mutu-a-un-dedie-debian-6-kimsufi-sous-ispconfig-memcached/

 

En gros, il faut aller, dans "sites" puis créer votre site en donnant votre nom de domaine.

Ensuite il faut créer l'espace dns du domaine du serveur

puis créer un utilisateur ftp pour transferer le site

puis faire pointer les dns ovh sur le serveur

etc...

 

tout est marqué dans les deux tutos en fait 

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

Merci beaucoup pour ce magnifique tuto!! Heureusement qu'il existe encore des gens comme toi!

 

Bon par contre sur la fin j'ai craqué^^, j'ai mis PermitRootLogin no, mais j'ai oublié de créer un nouvelle utilisateur :blush: ... comment je fais pour me connecter maintenant?

 

Merci de votre aide!

 

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

Je reviens ver vous car je ne comprends pas bien la gestion des emails. J'ai réussi a créer des adresse mais je ne saisi pas ou se trouve la boite le logiciel permettant l'envoie/ réception de ceci.. 

 

Je débute :-)

 

Merci de vos lumières!

Share this post


Link to post
Share on other sites
  • 0

heu... Moi c'est la question que je ne comprends pas..

 

A partir du moment ou vous avez créé les adresses sous ispconfig elles sont alors fonctionnelles.

Vous avez juste à utiliser votre gestionnaire d'email classique (outlook ou thunderbird).

Le serveur pop est le nom de votre serveur et le plus simple est d'utiliser le serveur smtp de votre opérateur internet local. (Même si vous pouvez aussi utiliser le serveur smtp de votre domaine, qui est alors le nom de votre serveur)

Share this post


Link to post
Share on other sites
  • 0

Je suis désolé je reviens vers vous mais la je crois que je deviens fous...

 

Je n'arrive pas à paramétré mes mails. Je crois que j'ai tout essayé mais rien n'y fais...

 

Voici ma configuration actuelle :

 

.monsite.com                  NS                       ns***.ovh.net
.monsite.com                  NS                       dns***.ovh.net   
.monsite.com                  MX 1                    redirect.ovh.net
.monsite.com                  A                          ipv4 du VPS
www.monsite.com          CNAME               monsite.com
ftp.monsite.com             CNAME                monsite.com
mail.monsite.com          CNAME                ns0.ovh.net
ox.monsite.com             CNAME                ox.ovh.net
pop3.monsite.com         CNAME                ns0.ovh.net
smtp.monsite.com         CNAME                ns0.ovh.net
 
Dans ispconfig3 :
 
Email domain : 
server              vps*****.ovh.net
client                Moi
Domain           monsite.com
Spamfiltrer      Normal
Active                Coché
 
Mailbox:
email                           contact@monsite.com
Enable receiving       coché
 
Quelqu'un pourrait il m'aider s'il vous plait? Ce serait définitivement mon Dieu ^^.
Merci de prendre du temps pour mon problème!

Share this post


Link to post
Share on other sites
  • 0

1/ Le MX doit être vpsxxxx.ovh.net (comme d'hab il faut 24h pour que le changement soit fait). Il faut suivre les directives du paragraphe 5 du tuto :)

 

2/ Pour paramétrer le logiciel de messagerie :

 

pop serveur : vpsxxxxx.ovh.net

login : adressemail@domaine.com

pass : passducomptemail

 

 

smtp serveur : le serveur smtp de votre opréteur internet

login : aucun

pass : aucun

 

 

ou 

 

smtp serveur : vpsxxx.ovh.net

login et mot de passe : Utiliser les données de réception

Edited by Jean Francois G

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

Tout d'abord merci pour le tutoriel très complet qui aide beaucoup lors de l'installation du serveur.

Je rencontre cependant un souci une fois la mise en ligne du site.

 

Celui-ci tourne normalement mais après un certain laps de temps (1 à 7 heures en général) impossible d'accéder au site. Le serveur est complètement saturé de processus php-cgi qui prennent tout le cpu. Pour relancer, je dois procéder à X redémarrages.

 

J'ai essayé d'observer le comportement via top et effectivement le serveur tourne bien jusqu'à ce que les php-cgi se multiplient (une cinquantaine) et donc je pense qu'ils n'ont plus de ressources pour s'exécuter. Je n'ai pas réussi à déceler l'élément déclencheur de cette surconsommation de cpu.

 

En processus tournant une fois le cpu saturé j'ai outre les php-cgi (liste non exhaustive) : amavisd-new, php, ps, freshclam, apt-get, fail2ban, vmtoolsd, named et smtpd (je n'utilise pourtant pas les mails sur le serveur).

 

Est-ce que quelqu'un aurait une piste à proposer ?

 

Merci d'avance !

Share this post


Link to post
Share on other sites
  • 0

Ce qui tourne en arrière plan est correct puisqu'il s'agit du serveur mail, su service de sécurité du virtualiseur de l'anti-virus etc..

 

Peut être que vous avez tout simplement un module ou un programme indésirable dans votre site, et celui ci s'accapare les ressources du serveur.

 

Pour ce qui est du mail, vous pouvez désactiver le serveur en désinstallant l'appli (avec "apt get remove") ou en stoppant le service avec la ligne :

 

postfix stop

 

Vous pouvez gagner en ressources aussi en désinstallant l'anti-virus qui n'est pas obligatoire.

 

Et en dernier, si les php-CGI pose problème, désactivez les.

 

 

A noter que de toute manière le soucis vient de votre coté car ce comportement n'a été aucunement rapporté sur les dizaines de serveurs qui ont utilisés le tuto.

Il va falloir fouiller dans le camboui.. :)

Edited by Jean Francois G

Share this post


Link to post
Share on other sites
  • 0

Merci de votre réponse. Je n'ai rien installé niveau module mis à part ceux qui allaient avec le thème, je pense pouvoir éliminer cette option.

 

Je penchais aussi sur un programme ou une tâche cron qui se déclencherait. Ce que je trouve bizarre c'est que même après redémarrage, le problème persiste comme si il fallait attendre qu'un temps X se termine pour pouvoir reprendre un fonctionnement normal.

 

N'y a t-il pas un moyen de déceler sur le serveur (des logs par exemple, sur ceux d'Apache je ne vois rien de significatif mis à part un manque de ressource à partir du moment X) ce qui se passe ou s'exécute à cet instant ?

 

Les php-cgi pourraient causer ce comportement (bien qu'au départ tout soit ok) ? Pourriez-vous m'indiquer comment les désactiver (est-ce que juste dans isp-config cela suffit) ?

 

J'avoue m'arracher les cheveux depuis une semaine sur ce problème et bien que j'avance petit à petit j'ai l'impression d'arriver au bout de mes possibilités/connaissances.

 

Encore merci du temps accordé pour votre aide.

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

Sur ISP, vous avez la possibilité d’arrêter les services inutiles.

Systeme > Services serveur > Selectionner le serveur et decocher les services dont vous n'avez pas besoin. Je rappel qu’arrêter le serveur de fichier constitue une bonne protection contre les brutes force clients FTP.

 

Vous pouvez également tenté une MAJ du systeme et d'ISP. Même si vous venez d'aquerir le VPS ou le dédié, ils ne sont en général pas a jour.

 

En SSH

aptitude update
aptitude upgrade
ispconfig_update.sh

D'origine, je ne pense pas qu'il y est une tache cron qui se déclencherait seule sauf si vous les avez vous meme configuré.

Pour savoir si c'est le site qui pose soucis, un bonne idée serai de le desactivé durant une nuit pour voir le comportement du serveur.

Je pencherai de mon point de vu a une requete SQL qui tourne en boucle, voir les logs de ce dernier.

Share this post


Link to post
Share on other sites
  • 0

Pour le CGi oui c'est dans ISP-config que l'on active/desactive la fonction pour un site.

bonjour,

 

est ce que cgi apporte quelque chose à prestashop ? j'ai testé j'ai plus de bug que autre chose ?

 

aussi, et sans vouloir abuser, est ce quelqu'un aurait un php.ini optimisé pour prestashop ?

 

merci :wub:

Edited by SAM00006

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

Merci de votre aide. À bout de force j'ai opté pour une réinstallation complète. La dernière piste que je voyais était un souci avec apc peut être, j'ai vu que certains avaient eu le problème. Étant donné que je l'avais installé puis désactivé, je ne sais pas si ça pouvait jouer.

Du coup, je ne peux pas retourner voir les logs mysql afin de savoir si je trouvais quelque chose.

 

Cette nuit le serveur (à neuf) a tourné avec Apache mais sans site = pas de souci. 

 

Je viens de remettre le site dessus, je croise les doigts.

 

Merci encore de votre réactivité.

Share this post


Link to post
Share on other sites
  • 0

Et finalement, le problème revient...Je ne détecte toujours rien de spécial dans les différents logs, j'ai regardé ceux de mysql, à priori pas d'erreur, beaucoup de requêtes par "id" mais je pense que c'est normal par rapport au fonctionnement de Prestashop.

 

Au moment où cela saute, je vois simplement mon serveur saturer petit à petit niveau cpu (passant de 10-20% d'utilisation à 100%) et entasser les processus php-cgi pour finalement être submergé.

 

Est-ce qu'un petit pic de fréquentation à cause de robots (30-40 connections simultanées) pourraient expliquer au moins en partie le phénomène selon vous (Cloud 1 Ovh) ?

Ajouter un outil comme cpulimit pourrait-être une solution ?

 

Bonne fin de soirée !

Share this post


Link to post
Share on other sites
  • 0

Merci beaucoup pour ce tuto, j'avais déjà utiliser un autre de tes tuto pour l'utilisation d'ISPconfig. De mon coté j'utilise un kimsufi avec la distri ISPconfig pré-installée.

 

Pour maintenir son serveur à jours, on a besoin que de 3 commandes ? :

 

apt-get update

apt-get upgrade

ispconfig_update.sh

 

Il manque une fonction vitale pour les débutants, c'est les sauvegardes, car moi le premier si mon serveur plante je serais incapable de trouver le probleme, je devrais tout réinstaller à partir de sauvegardes.

Share this post


Link to post
Share on other sites
  • 0

Linux ne peut pas écouter 2 systèmes sur un même port c'est certain.

Corrige l'erreur et tu verra si ça résout le soucis

Ben si, mais pas silmutanement. Après est ce que ISP ecoute h24 le port meme quand on le solicite pas est une autre question ... Apres personnellement si je reste dans son raisonnement, je changerai plutot le port de SSH :)

Share this post


Link to post
Share on other sites
  • 0

oui c'était mon erreur, donc bon tutoriel, il y en a t'il d'autres pour accélérer prestashop?

 

il y a le système de dns1.nomdusite.com, dns2.nomdusite.com, dns3.nomdusite.com..Mais chez moi cela marche pas, quelqu'un a t'il un bon tutoriel la dessus?

 

tous mes dns pointe vers mon nom de domaine, quand j'entre le dns1.nomdusite.com je suis redirigé vers nomdusite.com mais quand je mets en route dans presta, il rame à mort et mon "set d'icons" ne s’affiche pas correctement...

 

quelqu'un a une idée?

Veux tu parler des Serveurs de média #1 #2  et #3

 

si c'est cela, j'ai testé et j'ai pu voir mon site gagner en vitesse !

 

bon si ce n'est pas ça, cela ne fera pas de mal je pense (-;

 

de mémoire, j'ai du créer trois  sous domaine dans ispconfig du genre :

cdn1.monsite.fr pour serveur de média1

cdn2.monsite.fr pour serveur de média2

cdn3.monsite.fr pour serveur de média3

 

disons que j'ai amélioré le chargement de 1 à 2 secondes

 

attention je suis sous V. 1.4.6.2...

Share this post


Link to post
Share on other sites
  • 0

Merci de bien vouloir ouvrir un autre sujet, mettez vous a la place des personnes qui cherchent une solution dans le contexte du tutoriel.

Edited by 2FR3

Share this post


Link to post
Share on other sites
  • 0

Votre serveur sous ispconfig contient un vrai serveur de mail à part entière. Vous devez donc créer, et configurer les adresses mails des différents domaines grace à ...... : ISPCONFIG !

Pas besoin d'utiliser de webmail, votre serveur est un serveur pop et smtp. Il suffit de donner à votre gestionnaire de mail l'adresse de votre serveur.

Share this post


Link to post
Share on other sites
  • 0

Pour outlook par exemple :

 

Serveur pop : vpsxxxxx.ovh.net

login : adresseemail@domaine.com

pass : motdepassechoisi

 

Serveur smtp : votre opérateur local (pour eviter l'identification)

pas de login, pas de mot de passe

 

 

nota : si vous avez défini dans vos DNS registar un sous domaine de type mail.domaine.com pointant sur votre MX vps.xxx.ovh.net alors utilisez ce sous-domaine en tant que serveur POP

Edited by Jean Francois G

Share this post


Link to post
Share on other sites
  • 0

Il n'y a des sauvegardes que si vous les avez paramétré. Ou si vous les avez lancé manuellement. Sinon..... Ben non.

Ne me dites pas que vous avez tout fait, paramétrage, modifs, et tout le total sans avoir fait une seule sauvegarde ?

 

Sinon, il faut au moins que vous ayez la sauvegarde de prestashop, car réinstaller le serveur ne prend que 30 à 40 minutes en fait..

Share this post


Link to post
Share on other sites
  • 0

Le tutoriel est "Installer son serveur ovh de A à Z" et non pas "administrer quotidiennement son serveur". Faire une sauvegarde lors de manipulations du serveur me semblait en effet d'une logique évidente sans avoir besoin de le repréciser à chaque fois. C'est un geste hebdomadaire, si ce n'est quotidien qui doit faire partie des gestes "réflexe".

 

Mais bon, ton post aura au moins fait comprendre à ceux qui débute 'vraiment' dans les dédiés que oui, il faut faire ses sauvegardes !

Share this post


Link to post
Share on other sites
  • 0

Encore une fois, je reprécise que le tuto permet l'installation totale et fonctionnelle du serveur. pas son administration avancée quotidienne. Sinon je devrais écrire un vrai livre si je devais expliquer toute l’administration post installation, les sauvegardes, les optimisations, les sécurisations php, sql, les ipban, les upgrades, les modifications de version, les mises à jours, les créations de comptes, les mails, les cdn, etc..

Le but : Permettre une première installation fonctionnelle sans connaissance spécifique avancée.

 

Et clôturons la cette conversation sur les avantages et inconvénient d'écrire un tutoriel lol !

 

Ce qui compte c'est que maintenant les lecteurs savent qu'il faut activer leurs sauvegardes.. Et c'est une bonne chose.

Share this post


Link to post
Share on other sites
  • 0

Non, les DNS sont déja actifs coté registar donc normalement c'est déja ok. Il suffit de refaire les DNS serveur.

Vide ton cache explorateur par contre.

 

De toute façon, tu va sans doute faire comme tout le monde qui débute, faire des reformatages plusieurs fois avant de bien assimiler la technique d'admin. C'est normal, c'est le début. Et il faut être franc, linux n'est pas aussi simple a cerner si la personne est windowsient :)

 

C'est pour cela qu'on conseille d'abord de se faire la main avant de basculer définitivement le VPS en prod.

 

En gros, on garde actif le site d'avant. On en fait une copie sur le vps (avec un second nom de domaine par exemple, pour le tester), on peaufine le truc, puis une fois tout ok, on passe en prod et on bascule définitivement les dns.

Share this post


Link to post
Share on other sites
  • 0

Bien évidemment que tu ne peux pas, rien a voir avec obsolète ou pas lol ! Tu n'est pas sous debian mais sous ubuntu !

Vu que le tuto est pour debian, il me semble logique que si tu met ubuntu tu va forcement dans les problèmes mdr !

Avant de lancer ces affirmation d'obsolescence, tu devrais suivre le tuto depuis le début et tout d'abord faire une reinstall comme spécifié en premier et de choisir un système debian.

les commandes sous ubuntu ne sont pas les même que celles sous debian, donc tu ne peux pas les utiliser. Ca me semble logique.

 

Donc pour remettre les pendules à l'heure : Tuto d'actualité et pas obsolète. Il faut par contre le suivre depuis le début.

Share this post


Link to post
Share on other sites
  • 0

Merci pour ce tuto 

 

J'ai une erreur en ajoutant ce dépot : ftp.de.debian.org/debian/ squeeze-updates main

que faire pour solutionner ce problème ?

 

Merci

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

J'ai pris récemment un VPS Classic chez OVH avec Debian 7 Wheezy.

J'aurais voulu savoir si ce tutoriel est toujours bon pour la configuration de ce serveur Debian 7. Si oui, que faut-il changer dans certaines lignes de commandes ?

 

Merci d'avance pour votre réponse,

 

Nos2014

 

Installer de A à Z son serveur debian 6 sur  VPS 2013 OVH avec ISPCONFIG :

 

 

Vous lirez dans plein de topics : "Si tu n'es pas un administrateur de génie, alors ne tente pas l'expérience des serveurs dédiés car c'est impossible. Tu dois faire appel à un professionnel payant."

Nous allons tenter ici de casser ce discours et de faire en sorte que vous puissiez vous aussi avoir votre serveur dédié avec juste un minimum de connaissances.

 

C'est parti !

 

Nous allons avoir besoin des données que nous avons reçu d’OVH lors de la création du VPS.

  • Notamment son nom (vpsxxxxx.ovh.net)
  • Le mot de passe root pour le ssh
  • L’adresse IP du serveur

 

1 / Si vous avez déjà tenté quelque chose sur votre VPS il faut le réinstaller. Idem si vous n’êtes pas sous débian 6 :

 

La réinstallation est beaucoup plus compliquée que sur un kimsufi ou un semi dédié classique.

Allez sur https://api.ovh.com/  et loguez vous avec vos codes de compte OVH

Dans la liste étrange qui apparait, allez sur « /VPS »

 

 

  •  Cliquer sur « /vps/{serviceName}/templates », et renseignez le nom de votre serveur (vpsxxxx.ovh.net)
  • Puis cliquez sur « execute »

 

Une liste numérotée affiche les codes des versions de linux disponibles

Maintenant allez juste en dessous et cliquez sur /vps/{serviceName}/templates/{id}

 

Renseignez dans la zone 1 le nom du serveur, puis dans la zone 2 un des numéros de version, et cliquez sur execute. Vous saurez alors à quoi correspond le numéro car cela affiche le nom en clair.

 

Répétez l’opération jusqu'à trouver la version de Debian 6 squeeze et notez son numéro.

 

Allez sur /vps/{serviceName}/reinstall , tapez le nom du serveur et le numéro que vous avez noté, puis cliquez sur execute.

 

Le message « to do » s’affiche.

Votre serveur est en cours de réinstallation.

 

Ouvrez votre gestionnaire de mail et attendez le nouveau message de confirmation. Cela dira que l’installation est finie.

 

2/ Préparation du serveur :

 

Nous allons tout paramétrer par SSH. Donc il faut télécharger un programme pour cela. Par exemple le logiciel Putty : http://www.clubic.com/telecharger-fiche10874-putty.html

 

Lancez  putty, puis connectez vous sur l’IP de votre serveur.

 

Une fenêtre noir apparait, c’est la que tout se passe.

 

  • Tapez votre login : root
  • Puis votre mot de passe reçu sur le mail de confirmation que vous venez de recevoir.

 

 

2a : Changer le mot de passe du root

 

Pour mieux vous rappeler du mdp root, nous allons le changer. Tapez

« Passwd root »

Et choisissez un mot de passe qui vous plait.

 

2b : Faire la mise à jour des sources

 

  • « apt-get update », validez
  • “apt-get upgrade”, validez 

 

 

2c : Installer un éditeur de fichier

« apt-get install vim-nox »

Dans cet éditeur, il faut connaitre les fonctions :

  • Pour écrire dans le fichier : appuyer sur « inser » du clavier (ajoute / remplace)
  • Pour abandonner les modifications : CTRL/C  puis écrire « :q ! »
  • Pour sauver les modifs et revenir aux commandes : CTRL/C puis « ZZ » (en majuscule)

 

2d : Configurer la langue et les caractères

Par défaut, le serveur est configuré pour en_EN.utf8, nous allons le paramétrer pour les caractères français :

« Dpkg-reconfigure locales »

Un panneau apparait. Répondez « toutes les régions »

Et dans région par défaut, choisissez « fr_FR.UTF-8 »

Ça va mouliner un moment, mais comme ça on n’aura pas de message d’erreurs pendant les installations.

 

 

2e : Installer les programmes obligatoires

Installation de mysql :

“apt-get install mysql-server mysql-client”

Vous devrez confirmer, puis donner le mot de passé que vous voulez pour l’utilisateur root

 

Installation d’apache :

« apt-get install apache2 »

Vous devrez confirmer en tapant Y à la question.

 

Installer PHP :

“apt-get install php5 libapache2-mod-php5”

Et on relance le service

« /etc/init.d/apache2 restart »

 

Installation des modules optionnelles selon votre utilisation :

« apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl »

Et on reboot

« Reboot »

La fenêtre SSH va se fermer. Relancez putty et reconnectez-vous en root avec votre nouveau mot de passe.

 

Installation de phpmyadmin :

« apt-get install phpmyadmin »

Sur l’application en route, pointez « apache » avec la barre d’espace et validez

A la prochaine question, dites non.

 

 

Installation de l’antivirus :

 

« vi /etc/apt/sources.list »

 

Et ajoutez la ligne :

 

"ftp.de.debian.org/debian/ squeeze-updates main" À celles déjà existantes.

Sauvez le fichier.

 

Puis

 

« apt-get update && apt-get upgrade »

« apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl »

 

Ce qui installe clamAV, amavisd et spam-assassin

 

On installe les serveurs de courriers  et les appli utiles :

 

« apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 rkhunter binutils sudo gamin »

 

Aux questions répondez : « site internet », puis renseignez votre nom de VPSxxx.ovh.net, puis SSL « non »

 

Maintenant, on autorise mySQL à écouter partout :

 

« vi /etc/mysql/my.cnf »

 

Commentez la ligne bind-address = 127.0.0.1

Ce qui donne « # bind-address = 127.0.0.1 »

Sauvez le fichier

Relancez le service

 

« /etc/init.d/mysql restart »

   

Maintenant on configure les certificats pour notre serveur :

 

  • « cd /etc/courier »
  • « rm -f /etc/courier/imapd.pem »
  • « rm -f /etc/courier/pop3d.pem »
  • « vi /etc/courier/imapd.cnf »

 

Changez le CN présent (localhost) par votre serveur CN=vpsxxxxx.ovh.net et sauvez

 

Faites pareil avec ce fichier la :

 

« vi /etc/courier/pop3d.cnf »

 

Puis on génère les certificats

 

« mkimapdcert »
« mkpop3dcert »

 

Et relancez le service :

 

« /etc/init.d/courier-imap-ssl restart »
« /etc/init.d/courier-pop-ssl restart »

 

On installe maintenant FCGI, suExec, Pear, et mcrypt :

 

« apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby »

 

Puis on active les modules de redirections etc..

 

“a2enmod suexec rewrite ssl actions include”
“a2enmod dav_fs dav auth_digest”

 

On relance le service :

 

« /etc/init.d/apache2 restart »

 

Installation du serveur FTP :

 

« apt-get install pure-ftpd-common pure-ftpd-mysql »

« vi /etc/default/pure-ftpd-common »

 

Et on change sur ce fichier la ligne VIRTUALCHROOT=false, en VIRTUALCHROOT=true

Et on sauve

Puis on relance le service

 

« /etc/init.d/pure-ftpd-mysql restart »

 

 

Installation du serveur DNS :

« apt-get install bind9 dnsutils »

 

Installation des logs et des stats :

“apt-get install vlogger webalizer awstats geoip-database”

« vi /etc/cron.d/awstats »

Et dans ce fichier commentez toutes les lignes

 

Installation de fail2ban :

« apt-get install fail2ban »

 

Puis on crée les fichiers de configuration pour chaque service

 

« vi /etc/fail2ban/jail.local »

en insérant ces lignes :

 

[pure-ftpd]

enabled  = true
port     = ftp
filter   = pure-ftpd
logpath  = /var/log/syslog
maxretry = 3

[sasl]

enabled  = true
port     = smtp
filter   = sasl
logpath  = /var/log/mail.log
maxretry = 5

[courierpop3]

enabled  = true
port     = pop3
filter   = courierpop3
logpath  = /var/log/mail.log
maxretry = 5

[courierpop3s]

enabled  = true
port     = pop3s
filter   = courierpop3s
logpath  = /var/log/mail.log
maxretry = 5

[courierimap]

enabled  = true
port     = imap2
filter   = courierimap
logpath  = /var/log/mail.log
maxretry = 5

[courierimaps]

enabled  = true
port     = imaps
filter   = courierimaps
logpath  = /var/log/mail.log
maxretry = 5

 

Puis :

 

« vi /etc/fail2ban/filter.d/courierpop3.conf »

 

en inserant :

 

# Fail2Ban configuration file
#
# $Revision: 100 $
#

[Definition]

# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named « host ». The tag «  » can
# be used for standard IP/hostname matching and is only an alias for
# Values: TEXT
#
failregex = pop3d: LOGIN FAILED.*ip=\[.*:\]

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.

# Values: TEXT
#
ignoreregex=

 

Puis

 

« vi /etc/fail2ban/filter.d/courierpop3s.conf »

 

En inserant :

 

# Fail2Ban configuration file
#
# $Revision: 100 $
#

[Definition]

# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named « host ». The tag «  » can
# be used for standard IP/hostname matching and is only an alias for
# Values: TEXT
#
failregex = pop3d-ssl: LOGIN FAILED.*ip=\[.*:\]

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.

# Values: TEXT
#
ignoreregex =

 

Puis

 

« vi /etc/fail2ban/filter.d/courierimap.conf »

 

En insérant :

 

# Fail2Ban configuration file
#
# $Revision: 100 $
#

[Definition]

# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named « host ». The tag «  » can
# be used for standard IP/hostname matching and is only an alias for
# Values: TEXT
#
failregex = imapd: LOGIN FAILED.*ip=\[.*:\]

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.

# Values: TEXT
#
ignoreregex =

 

Puis

 

« vi /etc/fail2ban/filter.d/courierimaps.conf »

 

En insérant :

 

# Fail2Ban configuration file
#
# $Revision: 100 $
#

[Definition]

# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named « host ». The tag «  » can
# be used for standard IP/hostname matching and is only an alias for
# Values: TEXT
#
failregex = imapd-ssl: LOGIN FAILED.*ip=\[.*:\]

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.

# Values: TEXT
#
ignoreregex =

 

Puis on relance le service :

 

« /etc/init.d/fail2ban restart »

 

Et enfin on installe ISPCONFIG :

 

“cd /tmp”
“wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
“tar xfz ISPConfig-3-stable.tar.gz”
“cd ispconfig3_install/install/”

php -q install.php »

 

Répondez à toutes les questions en utilisant la réponse par défaut et en renseignant aussi les vrais réponses.

N’oubliez pas de renseigner votre mdp de mysql

 

L’installation de base est terminée.

 

Pour acceder a ispconfig :

Vpsxxxxx.ovh.net :8080

 

Pour acceder à phpmyadmin

Vpsxxxxx.ovh.net/phpmyadmin

 

3/ Réglages essentiels de sécurité 

 

3a : Edition de php.ini pour autoriser l’importation des gros fichiers dans phpmyadmin :

« vi /etc/php5/apache2/php.ini »

Et mettez 20M en face de upload_max_filesize =

 

3b : securiser et changer le port d’accès pour ispconfig

 

« vi /etc/apache2/sites-available/ispconfig.vhost »

 

Vous trouverez ceci :

 

Listen 8080
NameVirtualHost *:8080
<VirtualHost _default_:8080>
<IfModule mod_fcgid.c>
 

À changer en ceci si vous voulez le port 7654 à la place du 8080 :

 

Listen 7654
NameVirtualHost *:7654
<VirtualHost _default_:7654>
<IfModule mod_fcgid.c>

 

 

3c : Changer l’adresse d’accès de phpmyadmin

« vi /etc/phpmyadmin/apache.conf »

 

Vous trouverez ceci :

Alias /phpmyadmin /usr/share/phpmyadmin

A changer en ceci (ou monraccourci = l’adresse souhaitée)

Alias /monraccourci /usr/share/phpmyadmin

4 : Parametrer un nouveau site dans ISPCONFIG

Dans ISP CONFIG :

  • / Enlever les prefixes :

Si on ne compte pas utiliser son dédier pour vendre des sites a des clients, on peut enlever les préfixes automatiques que ISP config met dans les paramètres.

Onglet « system » : « Interface config » : onglet « sites »

  • Supprimer tous les préfixes déjà préconfigurés. Cela évitera de ne plus se rappeler des différents login que ispconfig aurait modifié lui-même.
  • / Créer son propre compte client :

Histoire de ne pas avoir de messages de rappel a répétition ou de zones vides dans la config.

 

Onglet « Client »

« Ajouter un nouveau client » et on renseigne les zones

  • / On crée l’espace du futur site web :

 

Onglet « Site »: « Add new site »

Sous onglet « domaine » :

- Serveur : sélectionner son serveur

- Client : le fameux client créé précédemment

- Adresse ip : * (choisir l’etoile et ne pas choisir l’adresse IP du serveur, sauf si vous ne voulez jamais rajouter d’autres sites. En gros laisser l’étoile)

- Domaine : nomdomaine.com (ne pas mettre le www.)

- De CGI à SuEXEC, remplissez selon les technologies utilisées

- Auto sous-domaine : *.

- SSL : cochez si vous administrez via SSL

- ]PHP : choisissez votre fonctionnement de PHP (fast-CGI)

- Actif : Coché (évidemment)

Et : ENREGISTRER

  • / On crée l’utilisateur FTP pour le site :

Onglet « site » : Sous onglet « utilisateur FTP »
+ Nouvel utilisateur FTP : puis
Site web : on choisi le domaine concerné

Nom d’utilisateur : Choisir un login (qui ne sera pas modifié puisqu’on a supprimé les préfixes)

Choisir un mot de passe

Quota de disque : -1 (c’est vous donc pas de restriction)

Actif : ben oui

On peut maintenant accéder via FTP a l’espace web et uploader le site dans le dossier « web »

  • / La base de données :

Sous ISPConfig, J’ai essayé l’onglet « base de données » de l’onglet « site », mais ça ne fait rien.

Même si on crée un nouvelle base, cela ne la crée pas réellement (PHPmyadmin le confirme)

Donc je passe par PHPmyadmin pour créer ma base de données puis l’importation pour transférer les tables .

  • Sous phpmyadmin créez une nouvelle base de donnée (rappelez vous de son nom pour plus tard), puis dans cette base de données, grâce à l’onglet « importer », restaurez votre sauvegarde SQL que vous avez faite via votre mutualisé. Pour cela cliquez sur parcourir et allez cherchez le fichier Zip ou sql (c’est selon) puis cliquez sur « executer ». Ca mouline …. On attends (ça peut durer longtemps) … et hop c’est bon.
  • Dans privileges, créez un nouvel utilisateur, donnez lui un nom, laissez « tout serveur », donnez lui un mot de passe, et les privilèges passe partout. (vous pouvez aussi donnez tous les droits sur cette base uniquement, en cliquant sur le choix plus bas, plus facile mais c’est plus risqué) . Cliquez sur « éxecuter »
  • La base est prête

 

5 / Pointer votre DNS de domaine sur votre serveur 

Chez votre registar, accédez au zones DNS, puis dans la zone A, mettez votre serveur vps.xxxxx.ovh.com ou votre adresse IP de serveur

Dans la zone MX, faites pareil (si vous voulez gérer vos mails sur votre serveur)

 

 

6 / Sécuriser son accès SSH

Actuellement votre accès à distance est sur ROOT sur le port  22, c'est à dire sur l'utilisateur maître (un dieu en somme) sur le port par défaut.

Nous allons changer cela afin de compliquer une éventuelle tentative d'utilisation de votre SSH par un tiers.

 

6a : Changement du port d'accès :

 

Avec putty, accedez à votre serveur et loguez vous en root.

puis :

 

"vi /etc/ssh/sshd_config"

 

vous allez avoir ceci :

 

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 1 (Quelques fois protocol 2)

à changer en ceci (ou 7654 est à changer dans le numéro de port que vous souhaitez) :

 

# What ports, IPs and protocols we listen for

Port 7654
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2

 

et sauvegardez

 

6b : Maintenant nous allons créer un utilisateur autre que root:

 

Création de l'utilisateur :

 

"adduser teteatoto"

 

Pas bien compliqué ça ... Mais pour l'instant root peut toujours accéder au SSH

 

6c : Interdiction du SSH à root  et autorisation d'accès à teteatoto

 

"vi /etc/ssh/sshd_config"

 

vous allez avoir ceci :

 

# Authentication:

LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

 

 

à changer en ceci :

 

# Authentication:
LoginGraceTime 120

PermitRootLogin no
StrictModes yes
AllowUsers teteàtoto

 

sauvez le fichier

relancez le service :

 

"/etc/init.d/ssh restart"

 

Dorénavant pour accéder au serveur en ssh vous devrez vous loguer en tant teteatoto (et mot de passe de teteatoto), puis dès que vous accedez à la ligne de commande, vous devrez demander les droits du root pour travailler à sa place avec la lignes suivante :

 

"su -"

 

Il sera demandé le mot de passe du root et une fois fait, hop vous avez pris sa place :)

 

 

----------------------

 

En suivant scrupuleusement tout ça, votre serveur sera prêt et fonctionnel.

Il n'y à plus qu'a vous lancer dans l'experience !

 

Share this post


Link to post
Share on other sites
  • 0

Hi everybody,

 

I don't know if someone encountered the same problem but i follow all steps in this tutorial to install VPS Debian 7 Wheezy and i can't access to phpmyadmin. When i enter : http://vps.xxxx.ovh.net/phpmyadmin, the server say to me : /phpmyadmin not found on this server.

I searched on the net and i tried this :

Add this on /etc/apache2/apache2.conf :  Include /etc/phpmyadmin/apache.conf

I restarted apache and when i enter : http://vps.xxxx.ovh.net/phpmyadmin, i download a file named phpmyadmin.

I don't know why.

If someone can help me,

 

Best regards,

 

Nos2014

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×