Posted on avril 10, 2008 at 4:28

Premier pas avec un serveur chez OVH sous Gentoo

Cette article va vous présenter les différentes méthodes pour installer un serveur LAMP sous OVH sous la distribution Gentoo 2007.0 (Il ne faut pas confondre la distribution Gentoo et celle qui est customisé par ovh).

Avant-propos

Gentoo est une distribution qu’on appelle source car elle compile chaque application et permet d’obtenir un gain sensible de performances et permet surtout de gérer plus finement les dépendances.
Il est possible d’opter pour d’autres distributions plus user-friendly lors de l’achat de votre serveur.
A vous d’opter pour celle qui vous correspond le mieux.
Les USE FLAGS qui vous seront présenté plus loin, sont en fait des options que tel ou tel paquet supporte et qu’on peut activer ou désactiver à notre convenance.

Pré-requis

Pouvoir se connecter en ssh et avoir quelques connaissances en ligne de commande Linux.

Premier pas avec le serveur

Avant de commencer, on va mettre à jour son gestionnaire de paquets. Sous gentoo, il s’appelle emerge.

Il suffit de taper la commande suivante pour mettre à jour les paquets.

emerge –sync

Dans un second temps, il faut vérifier le fichier /etc/hosts qui est souvent erroné.

127.0.0.1 localhost
91.1.1.1 2-r0001.ovh.net

En effet, pour une raison étrange, chaque nom de domaine se voit précédé d’un 2-nomduserveur.ovh.net.
Il suffit de l’enlever pour éviter d’éventuels problèmes.

Choix des options

Avant de lancer la compilation et l’installation de nos serveurs, il faut spécifier les différentes options que l’on souhaite activer pour chaque serveur.
Par exemple, les différentes librairies qu’on souhaite activer pour PHP.

Pour lister les options possibles d’un paquet il suffit de taper :

emerge -pv nomdupaquet

Ces options sont à renseigner dans le fichier /etc/portage/package.use sous la forme :

type-du-paquet/nom_du_paquet_sans_la_version -option_qui_sera_ignoré option_qui_sera_incluse

Evidemment, certains options peuvent paraître obscures et c’est pour ça que Gentoo Portage est là !
Pour l’utiliser, rien de plus simple, il suffit de taper le nom du logiciel que vous souhaitez installer, de choisir celui qui correspond.
Vous obtiendrez alors une liste de versions du paquet et tout en bas plusieurs onglets. Il suffit de regarder l’onglet “USE FLAGS” qui présente toutes les options.

Apache [USE FLAGS]

Apache utilise deux fichiers pour spécifier ses différentes options.
Dans package.use, on va spécifier les options générales tandis que les make.conf on va définir les modules à compiler (APACHE2_MODULES) et le type de fonctionnement d’apache (APACHE2_MPMS).

Voici pour exemple ma configuration.

ww-servers/apache ssl -debug -doc -ldap -selinux -sni -static -suexec threads

/etc/portage/package.use

APACHE2_MODULES=”alias auth_basic authz_host autoindex charset_lite deflate dir dumpio env expires headers log_config log_forensic mime mime_magic negotiation rewrite setenvif speling unique_id userdir vhost_alias filter”
APACHE2_MPMS=”worker”

/etc/make.conf

PHP [USE FLAGS]

Voici un exemple de configuration :

dev-lang/php berkdb cli crypt gdbm iconv ipv6 -ncurses nls pcre readline reflection session spl ssl unicode zlib -adabas apache2 -bcmath -birdstep -bzip2 -calendar -cdb -cgi -cjk -concurrentmodphp ctype curl -curlwrappers -db2 -dbase -dbmaker -debug -discard-path -doc -empress -empress-bcs -esoob exif -fastbuild -fdftk filter -firebird -flatfile -force-cgi-redirect -frontbase -ftp gd -gd-external -gmp -hash -imap inifile -interbase -iodbc -java-external -json -kerberos -ldap -ldap-sasl -libedit -mcve -mhash -msql -mssql mysql mysqli -oci8 -oci8-instant-client -odbc pcntl pdo -pic posix -postgres -qdbm -recode -sapdb sharedext -sharedmem simplexml -snmp soap sockets -solid -spell -sqlite suhosin -sybase -sybase-ct -sysvipc threads -tidy tokenizer -truetype -wddx xml xmlreader xmlrpc xmlwriter -xpm -xsl -yaz -zip -zip-external

MySQL [USE FLAGS]

Voici un exemple de configuration possible :

dev-db/mysql -berkdb -perl ssl -big-tables -cluster -debug -embedded extraengine -latin1 -max-idx-128 -minimal -selinux -static

Installation des serveurs

Il suffit de taper la commande suivante

emerge apache php mysql

Une fois la compilation terminé et qu’il n’y a pas d’erreurs pendant la compilation, il ne reste plus qu’à enregistrer les serveurs dans la séquence de démarrage.

rc-update add apache default
rc-update add mysql default

Maintenant, même en cas de redémarrage du serveur, Apache et MySQL démarreront sans intervention de votre part.

Configuration des serveurs

Apache

Selon les modules que vous avez choisi, le fichier /etc/conf.d/apache2 peut différer.
Il faut s’assurer néanmoins que sur la ligne APACHE2_OPTS la valeur -D PHP5 soit présente pour que le module php soit chargé.

APACHE2_OPTS=”-D DEFAULT_VHOST -D INFO -D LANGUAGE -D SSL -D SSL_DEFAULT_VHOST -D PHP5 -D USERDIR -D REWRITE”
SERVERROOT=/usr/lib/apache2
CONFIGFILE=/etc/apache2/httpd.conf
STARTUPERRORLOG=”/var/log/apache2/startuperror.log”
#RELOAD_TYPE=”graceful”

MySQL

emerge –config =dev-db/mysql-5.0.19

En remplaçant bien sur, 5.0.19 par la version que vous avez installé.
Derniére étape pour sécuriser le serveur,

mysql-secure-installation

Il suffit juste de répondre aux questions que le programme vous pose pour fermer quelques petits trous qui sont ouverts par défaut.

Voilà vous avez un serveur fin prêt à accueillir vos sites. J’ai passé sous silence d’autres aspects de la configuration qui sont spécifiques (les Virtual Hosts, optimiser MySQL) vu qu’il s’agissait ici des premiers pas avec son serveur.

Leave a Reply

Un peu de pub :)