OVH Community, votre nouvel espace communautaire.

Script installation serveur / VPS complet en 1 seule ligne de commande


ssr
27/06/2014, 06h29
Bravo, vous a vous deux, dignes d'être les "admin SYS" de ce forum, mille merci

phil
21/02/2014, 11h56
Hello

J'ai commencé à scripter en m'inspirant des tes fonctions et aussi en récupérant ton tuto. Si cela t’intéresse, voilà deux ou trois trucs que j'ai fait:

NTP: afin de configurer le ntp et modifier la config comme dans ton tuto. J'install le ntp ailleurs dans le script.
Code:
# set up ntp configuration

ntp_config () {

echo -e "\n$(date +%F\ %T)  Setting up NTP service" >> $Log_File

# Is ntp.conf present ?
if ! test -f /etc/ntp.conf ; then echo -e "ntp.conf not present" >> $Log_File ; return 1 ; fi

# remove debian time servers by commenting them out
sed -i "s/^server\ /#\ server\ /g" /etc/ntp.conf

# add custom time servers

cat >> /etc/ntp.conf << EOF

# custom time servers
server 0.fr.pool.ntp.org
server 1.fr.pool.netp.org
server 0.europe.pool.ntp.org
server ntp.genoscope.cns.fr 
EOF

if ( ! service ntp restart >> $Log_File 2>&1 ) ; then echo -e "failed to restart ntp service"  >> $Log_File ; return 1 ; fi

if ( ! ntpq -p >> $Log_File 2>&1 ) ; then echo -e "Warning: ntp not functioning as expected" >> $Log_File ; fi

return 0
}
Avec dans le corps du script pour récupérer le retour de la fonction ntp_config:
Code:
if ( ! ntp_config ) ; then echo -e  "ntp configuration failed" ; exit 1 ; fi
Pour récupérer l'adresse IP du serveur:
Code:
IP_server=$(ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{print $1}')
L'idée est qu'OVH fourni un serveur avec une conf réseau fonctionnelle donc autant la récupérer dans le ifconfig.

Pour rajouter des clés SSH pour l'authent par clé:
Code:
ssh_config () {

echo -e "\n$(date +%F\ %T)  Adding SSH Key\n" >> $Log_File

cat >> /root/.ssh/authorized_keys <
Ok, normalement, on doit pouvoir faire rajouter les clés par OVH à l'install. Ceci dit, je compte aussi rajouter des modifs de config dans le /etc/ssh/sshd_config

Sinon, question sur MariaDB. J'ai pu lire sur des tests que le gain en perf était assez faible. Quel est le retour de tes tests? J'ai l'impression que dans mon cas:
- j'utilise des CMS développés avec MySQL (wordpress, etc.)
- je n'ai pas un trafic délirant
- je veux avant tout un serveur stable
ça ne vaut pas pas le coup de migrer.

++

shiroko
18/02/2014, 20h09
Hello Phil,

En fait tout est parti de l'offre "opti prestashop" proposée par OVH que j'ai voulu tester.
L'offre en hébergement mutualisé ne permet pas de grande liberté d'administration, surtout en terme d'optimisation des performances et par conséquent, on se retrouve avec un site ultra lent (du fait de prestashop lui même mais de la plateforme d'hébergement également).
Un autre point qui me chagrinait était l'incompatibilité de l'offre CDN avec les certificats SSL et surtout l'impossibilité d'installer un certificat EV SSL (requis pour les terminaux de paiement VAD).

J'ai donc voulu tester les VPS, en partant du plus petit au moyen. (pas testé les gros VPS, car à ce prix là, autant passer sur du SYS) avec toutes les combinaisons possibles.
J'installais / réinstallais les serveurs en boucle pour mes benchamrks (sur 2 VPS en même temps avec les mêmes cms / theme de cms installés dessus) afin de trouver l'architecture serveur la plus opti pour faire tourner lesdits CMS e-commerce (presta, magento...)

Lassé de taper toutes mes lignes de commande, j'ai voulu tout automatiser, d'où le script.

J'ai jouté à ce script, destiné à la base à un usage personnel, le choix d'installer certains éléments en plus de ce que j'estimais opti.
Personnellement, je n'utilise pas de FTP, ni de panel de gestion, ni BIND, ni interface d'emails...
D'où l'absence de pagespeed pour Apache car je n'utilise pas ce serveur web. Merci en tout cas de me l'avoir fait remarquer ! Je vais tâcher de rajouter l'option.

Je n'ai volontairement pas ajouté l'écriture de lignes pour éditer le fichier nginx.conf pour laisser le choix de l'activation ou non de pagespeed, je peux également l'ajouter si on estime utile que je le fasse.

Merci encore pour ce retour !

cdt

phil
17/02/2014, 14h51
Salut

Tu t'es déchaîné avec ton script !!
Je sur le point de migrer mon kimsufi sur un SYS, mais même si j'ai une doc d'install nickel, je voulais en profiter pour faire un script de réinstallation à partir des back-up. Là tu viens de me faire la moitié du taf

Sinon, en suggestions/commentaires, mais j'ai juste lu et pas testé le script
- page_speed: il n'y a pas de la conf nginx à faire pour gérer le module ?
- inclure page_speed pour apache: si j'ai bien compris ton script, tu n'inclues pas l'installation de pagespeed pour apache.


Merci encore

++

shiroko
16/02/2014, 23h50
Bonjour à tous,

J'ai réalisé un tutoriel pour installer un VPS optimisé, ultra léger, avec un minimum de services :
Compilation de NginX avec pagespeed + MariaDB + phpMyAdmin, iptables... en vue de faire tourner des CMS gourmands avec une rapidité déconcertante.

Ce tuto, bien que très détaillé, s'adresse à des utilisateurs avertis, qui n'ont pas peur des lignes de commandes, (ajout / édition de vhosts etc...)
Ainsi, je me suis dit que mettre à disposition un script d'installation automatisé pourrait vous faciliter la vie.

Ce script vous permet en 1 seule ligne de commande d'installer un serveur complet avec le choix entre :

- Base de données : MariaDB ou mySQL
- Serveur HTTP : Apache ou NginX (avec ngx_pagespeed compilé)
- Serveur de mail : Dovecot ou Courier
- Squirrel Mail
- Antivirus : amavisd spamassassin clamav
- Awstats
- Jailkit
- Fail2ban
- Bind
- PureFTP
- Ispconfig3

Cette installation vous permettra de gérer votre serveur (ajouter de sites, gestion de comptes FTP / SQL, création d'emails, gestion des quotas etc. depuis l'interface graphique de Ispconfig3.

Le script ne fonctionne que pour une installation sous Debian 7.

Commencez par réinstaller votre serveur : Debian 7.x > Anglais (par convention)
Connectez-vous en SSH à votre serveur (vous devez être connecté en tant que root)
Saisissez la commande suivante :
Code:
cd /tmp; wget --no-check-certificate -O ISPConfig3.tgz http://france-agence-web.com/ihvy/shAutoInstaller.tar.gz; tar zxvf ISPConfig3.tgz; cd *shAutoInstaller*; bash install.sh
Vous devrez saisir quelques informations, telles que les mots de passe désirés ou pour la génération de certificats SSL.
Tout le reste se fait automatiquement....

Je sais que l'exécution d'un script inconnu est peu rassurant. Dans la ligne de commande vous trouverez l'adresse du script :
que vous pouvez télécharger pour examen et même l'héberger sur votre propre support si vous le souhaitez.

Merci de laisser un commentaire ou toute suggestion.