Quelques notes de post-installation de la Ubuntu 14.04 à adapter suivant rôle du serveur.
Installation et configuration d’OpenSSH
Comme d’habitude avec Ubuntu, le SUDO est préconisé mais comme je n’aime pas ça, je commence par redonner un mot de passe à root : sudo passwd root.
Ensuite on installe openssh-server : apt-get install openssh-server.
Il faut le configurer pour que root puisse se connecter avec un mot de passe
Ouvrir le fichier de config d’openssh-server : /etc/ssh/sshd_config, et modifier la config de la connexion de root.
PermitRootLogin yes
Un redémarrage du server ssh est nécessaire : service ssh restart
A ne pas oublier
En cas de configuration IP statique des interfaces réseau, penser à désinstaller isc-dhcp-client ! apt-get remove isc-dhcp-client
Pour maintenir le serveur à l’heure, penser à installer un demon ntp : apt-get install openntpd
Faire une mise à jour dès l’installation :
apt-get update
apt-get dist-upgrade
Un reboot est nécessaire si la version du noyau a changé.
Pour les guests vmware, installer les vmware-tools : apt-get install open-vm-tools
Eventuellement, pour avoir les outils de gestion du réseau (mais à éviter sur les serveurs de production car installe X11) : apt-get install network-manager
Eventuellement, pour scanner les ports ouverts sur les serveurs du réseau : apt-get install nmap
Configuration classique pour l’ergonomie
Normalement vim est installé ce qui est une bonne chose, mais il n’est pas configuré pour afficher les couleurs correctes sur fond sombre.
Ouvrir le fichier de config /etc/vim/vimrc et décommenter la ligne set background=dark
De même, pour avoir le prompt en couleur, ouvrir le fichier /root/.bashrc et décommenter la ligne force_color_prompt=yes
Configuration Alcide (firewall + dhcp server)
Installer un serveur dhcp : apt-get install isc-dhcp-server
Copier le script firewall.sh dans /sbin/. Modifier le /etc/rc.local : /sbin/firewall.sh -o à insérer avant le exit 0.
Configuration Anselme (Reverse proxy)
Installer un serveur nginx : apt-get install nginx
Ne pas oublier de configurer nginx en reverse proxy en ajoutant le fichier /etc/nginx/conf.d/proxy.conf contenant
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header X-Powered-By;
proxy_intercept_errors on;
proxy_buffering on;proxy_cache_key « $scheme://$host$request_uri »;
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=cache:10m inactive=7d max_size=700m;
Configuration Albert (Apache PHP)
Installer un serveur apache2 et le module PHP : apt-get install apache2 php5 php5-mysql php5-gd
Comme on est derrière un proxy et pour rétablir les logs avec adresses IP sources, on installe le module rpaf : apt-get install libapache2-mod-rpaf
Editer /etc/apache2/mods-enabled/rpaf.conf pour saisir l’adresse correcte du reverse-proxy
Albert est un serveur d’application qui va se connecter au serveur de bases de données MySql Oscar. On installe donc le client mysql : apt-get install mysql-client
Configuration Oscar (Mysql)
Installer un serveur Mysql : apt-get install mysql-server
Configuration Felix (supervision)
Installation de phpmyadmin : apt-get install phpmyadmin
Chez moi, l’instalation se passe mal. Je dois donc sortir de l’installateur, puis installer mysql-server à la main.
En post-installation de phpmyadmin, il faut installer la librairie mcrypt de PHP et l’activer à la main Oo… oui c’est curieux.
apt-get install php5-mcrypt
ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/apache2/conf.d/
suivi bien sûr d’un redémarrage d’apache.
Ensuite il faut configurer phpmyadmin avec une base par défaut dans /etc/phpmyadmin/config-db.php, et dans config.inc.php. Il s’agit dans ce dernier fichier de décommenter les paramètres de la dernière section concernant le stockage. Il reste encore des erreurs car il y a des tables à ajouter pour que ça fonctionne. On se demande un peu pourquoi l’installateur est si mal fait… on pourrait par exemple proposer une installation avec ou sans les fonctions évoluées…
Bon enfin bref, il faut donc encore créer des tables à la main, heureusement à l’aide d’un fichier d’exemple /usr/share/doc/phpmyadmin/examples/create_tables.sql.gz. Il faut donc dezipper le fichier avec gunzip et lancer les commandes du script sql :
mysql -h localhost -u root -pVotreMotDePasse < create_tables.sql
Ca ne fonctionne toujours pas… mince. Vérifiez le nom des tables pma dans la base phpmyadmin. Vous constaterez qu’il y a deux underscores qui se suivent après pma par exemple pma__relation. Du coup le fichier de config n’est pas bon. Il faut le remodifier : fichier /etc/phpmyadmin/config.inc.php. Une fois réalisée cette opération, chez moi ça fonctionne. Ouf.