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 ----