Configuration des services

Un article de DocAstairs.

Sommaire

[modifier] Installation et configuration des services

A présent, on a un serveur tout propre, à jour et à peu près minimal. Maintenant en fonction de ce que l'on veux en faire, il faut configurer certains services. Je vais essayer de vous présenter les plus utilisés.

Image:warning.pngIl ne faut installer que ce dont on a besoin, car installer plus de logiciels que ce dont on a besoin présente plusieurs inconvénient évidents :

  • Ralentissement de la machine
  • Augmentation des risques de failles
  • Mise à jour des ports plus chiante

nb : L'idéal étant bien sur d'avoir une machine dédiée à chaque tâche... Mais bon.

[modifier] SSH

[modifier] Lancement au démarrage

pour que ssh se lance au démarrage ajouter la ligne suivante à la fin de /etc/rc.conf. Si vous l'ajoutez bien a la fin, par la suite un simple #echo 'service_enable="YES"'>>/etc/rc.conf sera suffisant.

#démarrage des services
sshd_enable="YES"

Pour être sûr d'avoir bien ajouté l'option de démarrage automatique, il faut toujours vérifier avec rcvar

root@freebsd#/etc/rc.d/sshd rcvar
# sshd
$sshd_enable=YES

Le service démarrera tout seul au prochain démarrage. mais pour le démarrer maintenant :

root@freebsd#/etc/rc.d/sshd start

Voilà, maintenant on peut se connecter en ssh sur le serveur

[modifier] Se connecter en root

Par défaut et pour des raison de sécurité, on en peut pas se connecter en ssh au serveur avec le compte root.

Quand on est loggué avec un utilisateur lambda on ne peut pas non plus utiliser la commande su pour avoir les provolèges root, à moins que cet utilisateur appartienne au groupe wheel.

En théorie, une foi la machine installée, vous ne devez plus utiliser le compte root (sudo est la pour ça).

Si pour des raison pratique cela vous embète (pour un serveur local par exemple), vous pouvez toujours modifier le fichier /etc/ssh/sshd_config pour changer la ligne PermitRootLogin no à yes (ne pas oublier d'enlever le commentaire ;).

[modifier] clé public/privée

peut importe l'utilisateur, pour se connecter avec le système clé public/privée :

#cd
#mkdir .ssh && cd .ssh
#touch Authorized_keys

Puis ajouter à ce fichier les clés publiques des comptes authorisés à se connecter à distance.

[modifier] sudo

Pour l'install, c'est toujours la même chose...

root@freebsd#cd /usr/ports/security/sudo/
root@freebsd#make install clean

Pour la config editer le fichier /usr/local/etc/sudoers en suivant les instruction et les exemples... C'est tout con, mais bien pratique.

[modifier] Serveur Web

[modifier] Apache

root@freebsd#cd /usr/ports/www/apache-modssl/
root@freebsd#make install clean

Apache n'est pas intégré nativement au système, et comme pour tous les logiciels qui sont dans ce cas, les fichiers de configuration sont dans /usr/local/etc/ et non dans /etc/.

Démarrage de Apache au démarrage :
Ajouter apache_enable="YES" dans /etc/rc.conf

Pour que php soit executé coté serveur, ajouter les lignes suivantes dans /usr/local/etc/apache/httpd.conf

<IfModule mod_php4.c>
    AddType application/x-httpd-php .php
</IfModule>

Pour une configuration d'apache détaillées, cf la partie dédiée à apache

[modifier] PHP4

Liste des packages à installer
nom du package chemin du port Commentaire
php4 lang/php4/ Les options de compilation à cocher :
  • Build CLI version
  • Build CGI version
  • Apache module
  • Enable Zend multibyte support
  • Enable ipv6 support
  • Enable fast CGI support
  • Enable path-info-check support
php4-extension lang/php4/ Ce package est un meta-package incorporant les modules pouvant être ajoutés à php (options selon besoins, et patience, ça prend du temps...ZzZzZzZzzz). Image:warning.pngJe conseil d'installer ce module après mysql et postgresql pour que les versions installées soit prises en comtpes et non les versions par défaut.


Pour que les fichiers avec l'extension .php soit pris en compte dans l'interprétation des pages, ajouter ces quelques lignes au fichier /usr/local/etc/apache/httpd.conf

<IfModule mod_php4.c>
   AddType application/x-httpd-php .php
</IfModule>

[modifier] MySQL

Image:warning.pngLa version 5.1 est une version bêta pour l'instant. Préférez la version 5.0.x

packages a installer
Nom du port Chemin Commentaire
mysql50-server databases/mysql50-server/
phpmyadmin databases/phpmyadmin/ interface web de gestion des bases mysql,
mysql-administrator databases/mysql-administrator/ outil d'administration graphique

enfin pour démarrer automatiquement le service :

root@freebsd#echo 'mysql_enable="YES"'>>/etc/rc.conf

[modifier] PostgreSQL

packages a installer
Nom du port Chemin Commentaire
postgresql81-server databases/postgresql81-server selectionnez les options de compilation NLS et OPTIMIZED_CFLAGS
phppgadmin databases/phppgadmin/ interface web de gestion des bases postgresql
pgadmin3 databases/pgadmin3/ outils d'administration graphique (nécessite X)

Le dba (administrateur de la base de donnée) par défaut est pgsql. Pour initialiser la base de donnée (dans /usr/local/pgsql/data par défaut), taper la commande :

root@freebsd#su -l pgsql -c initdb

enfin pour le démarrage automatique du service :

root@freebsd#echo 'postgresql_enable="YES"'>>/etc/rc.conf

La partie consacrée aux bases de données détaille la configuration de postgresql...

[modifier] Samba