Cette page présente la configuration d'un serveur bureautique pour la région Asie-Pacifique.<
>
La configuration de ce serveur doit correspondre aux besoins des [[ZAP/Configuration/PosteClient|postes clients]].
* Installation système :
* commencer par la [[ZAP/Configuration/Serveur/BaseCommune|configuration de base du serveur]]
* penser à configurer le [[Etude/Unicode|support linguistique et Unicode]]
* DNS (service de résolution de noms en adresses IP et inversement):
* installer le paquet `bind9`
* configurer des noms et résolutions inverses pour chaque machine connue
* NTP (service d'heure) :
* installer les paquets `ntp` et `ntpdate`
* DHCP (service d'adresses IP) :
* installer le paquet `dhcp3-server`
* fixer des adresses IP pour chaque machine connue (par adresse MAC), dans un intervalle bien délimité (par exemple entre .64 et .127)
* renseigner les informations de passerelle et masque de réseau, serveur DNS et domaine DNS, serveur d'heure et fuseau horaire, ...
* NFS (service de partage de fichiers en réseau) :
* installer le paquet `nfs-kernel-server`
* fixer les ports des services RPC et les ouvrir uniquement aux machines connues
* MySQL (service de base de données relationnelles de type SQL) :
* installer le paquet `mysql-server`
* avant d'enregistrer la moindre donnée, configurer le [[Etude/Unicode#mysql|support Unicode pour MySQL]]
* Base d'utilisateurs en réseau :
* installer le paquet `auf-django-users` pour créer puis gérer la base des utilisateurs
<>
* Support de l'auto-configuration du poste client :
* déclarer dans le DNS les noms "autoconfig", "nss" et "ntp", pointant sur ce serveur
## pas encore prêt
## * installer le paquet `scponly` en le configurant en mode SUID pour limiter les accès via chroot
## useradd -r -s /usr/sbin/scponlyc -m auf-autoconfig && passwd auf-autoconfig
* créer un compte utilisateur "auf-autoconfig" local à ce serveur (donc pas dans la base d'utilisateurs en réseau) : {{{
useradd -r -m auf-autoconfig && passwd auf-autoconfig
chmod 0700 ~auf-autoconfig
}}}
* créer une configuration SSH pour les postes clients : {{{
cd ~auf-autoconfig
ssh-keygen -t dsa -f id_dsa -N "" -C root@auf-poste-client-fixe
ssh-keyscan -t dsa,rsa -H autoconfig > known_hosts
mkdir .ssh
cp -a id_dsa.pub .ssh/authorized_keys
chown auf-autoconfig .ssh .ssh/authorized_keys
chmod 0700 .ssh
chmod 0600 .ssh/authorized_keys
cp -a ~root/.ssh/authorized_keys .
tar --remove-files -czf ssh-root-keys.tar.gz id_dsa* known_hosts authorized_keys
chown auf-autoconfig ssh-root-keys.tar.gz
chmod 0400 ssh-root-keys.tar.gz
}}}
* créer une configuration à déployer sur les postes clients : {{{
cd ~auf-autoconfig
mkdir -p root-jaunty/var/lib/auf-poste-client-fixe
cat << __EOF__ > root-jaunty/var/lib/auf-poste-client-fixe/synchro-postinst
#!/bin/bash
#
# adaptation des fichiers de configuration NSS-MySQL
#
NSS_SHELL='shell'
NSS_HOST='nss'
NSS_PASSWORD='XXXXXXXX'
NSS_ROOTPASS='XXXXXXXX'
export NSS_SHELL NSS_HOST NSS_PASSWORD NSS_ROOTPASS
/usr/share/auf-poste-client-fixe/helpers/libnss-mysql-config
#
# gestion du /home (et /srv) :
# - déplacement des utilisateurs locaux actuels dans /home/local/
# - lien de /home/server vers /net/nfs/home/share (spécifique BAP)
# - lien de /srv/share vers /net/nfs/srv/share (spécifique BAP)
#
if [ ! -d /home/local ] ; then
cd /home
mkdir local
for user in * ; do
[ "\$user" = "local" ] && continue
mv "\$user" "local/\$user"
usermod -d "/home/local/\$user" "\$user"
done
ln -s /net/nfs/home/share /home/server
ln -s /net/nfs/srv/share /srv/share
fi
#
# gestion des droits d'accès => écriture pour le groupe par défaut
#
sed -i '/^umask/s/ .*$/ 002/' /etc/profile
#
# gestion du problème des noms de fichiers à l'impression en PDF
#
if [ -e /etc/cups/pstopdf.convs ] ; then
mv /etc/cups/pstopdf.convs /etc/cups/pstopdf.convs.DISABLED
fi
#
# activation par défaut du moteur de saisie pour script complexes
#
im-switch -z all_ALL -s scim-bridge
im-switch -z fr_FR -s scim-bridge
im-switch -z vi_VN -s scim-bridge
im-switch -z en_US -s scim-bridge
#
# SSH
#
grep -q '^admin:.*,jcandre' /etc/group || sed -i -e '/^admin:/s/$/,jcandre/' /etc/group
grep -q '^admin:.*,dmha' /etc/group || sed -i -e '/^admin:/s/$/,dmha/' /etc/group
nscd -i group
sed -i -e 's/^[[:space:]#]*PasswordAuthentication[[:space:]]\+.*$/PasswordAuthentication yes/' /etc/ssh/sshd_config
service ssh restart
#
# wine
#
for desktop in /usr/share/applications/wine-*.desktop ; do
if grep -q "^NoDisplay=" \${desktop} ; then
sed -i -e 's/^NoDisplay=false/NoDisplay=true/' \${desktop}
else
echo 'NoDisplay=true' >> \${desktop}
fi
done
echo "Mise à jour système terminée."
exit 0
__EOF__
chmod 0700 root-jaunty/var/lib/auf-poste-client-fixe/synchro-postinst
tar --remove-files -czf root-jaunty.tar.gz -C root-jaunty .
chown auf-autoconfig root-jaunty.tar.gz
chmod 0400 root-jaunty.tar.gz
}}}
* ajouter `auf-autoconfig` aux utilisateurs/groupes ayant le droit de faire un SSH sur ce serveur, le cas échéant
----