Installation de webmin:
Télécharger webmin à partir de http://www.webmin.com/
L’installer avec « dpkg -i webmin_x_xxx_all.deb »
Si des dépendances restent insatisfaites, lancer un « apt-get -f install »
Ne pas oublier de changer le port pour un minimum de sécurité.
Les ACL si vous souhaitez au hasard utiliser Symfony2
Gestion des acl sur ubuntu
Changement du port du serveur ssh
Editer « /etc/ssh/sshd_config ».
Remplacer le port puis relancer le service: « service ssh restart »
Le firewall
C’est iptable qui gère cela en standard avec Ubuntu. Plusieurs options: webmin peut être votre ami. Je vais ici simplement copier le contenu des quelques règles de base que nous utilisons:
ATTENTION: Supprimer les espaces après les « : », ils ont été rajoutés afin de ne pas avoir de jolis smileys!
# Generated by iptables-save v1.4.4 *nat : PREROUTING ACCEPT [4:1100] : POSTROUTING ACCEPT [2:1576] : OUTPUT ACCEPT [2:1576] COMMIT # Completed on # Generated by iptables-save v1.4.4 on *mangle : PREROUTING ACCEPT [11:1429] : INPUT ACCEPT [9:1295] : FORWARD ACCEPT [0:0] : OUTPUT ACCEPT [14:5308] : POSTROUTING ACCEPT [14:5308] COMMIT # Completed on # Generated by iptables-save v1.4.4 *filter : FORWARD DROP [0:0] : INPUT DROP [0:0] : OUTPUT DROP [0:0] # Accept traffic from internal interfaces -A INPUT ! -i eth0 -j ACCEPT # Accept traffic with the ACK flag set -A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT # Allow incoming data that is part of a connection we established -A INPUT -m state --state ESTABLISHED -j ACCEPT # Allow data that is related to existing connections -A INPUT -m state --state RELATED -j ACCEPT # Accept responses to our pings -A INPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT # Accept notifications of unreachable hosts -A INPUT -p icmp -m icmp --icmp-type destination-unreachable -j ACCEPT # Accept notifications to reduce sending speed -A INPUT -p icmp -m icmp --icmp-type source-quench -j ACCEPT # Accept notifications of lost packets -A INPUT -p icmp -m icmp --icmp-type time-exceeded -j ACCEPT # Accept notifications of protocol problems -A INPUT -p icmp -m icmp --icmp-type parameter-problem -j ACCEPT # Allow connections to our apache server -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT # Allow connections to our SSH server -A INPUT -p tcp -m tcp --dport ICI_LE_PORT_SSH -j ACCEPT # Allow connections to our IDENT server -A INPUT -p tcp -m tcp --dport auth -j ACCEPT # Respond to pings -A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT # webmin -A INPUT -p tcp -m tcp --dport ICI_LE_PORT_WEBMIN -j ACCEPT # smtp out -A OUTPUT -p tcp --dport 25 -j ACCEPT # web OUT -A OUTPUT -p tcp --dport 80 -j ACCEPT # DNS OUT -A OUTPUT -p tcp --dport 53 -j ACCEPT -A OUTPUT -p udp --dport 53 -j ACCEPT # https OUT -A OUTPUT -p tcp --dport 443 -j ACCEPT # ssh OUT -A OUTPUT -p tcp --dport 22 -j ACCEPT # gpg out -A OUTPUT -p tcp --dport 11371 -j ACCEPT # ftp out (backup) -A OUTPUT -p tcp -m tcp --dport 20:21 -j ACCEPT -A OUTPUT -p udp -m udp --dport 20:21 -j ACCEPT -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # Autoriser loopback -A INPUT -i lo -j ACCEPT -A OUTPUT -o lo -j ACCEPT COMMIT # Completed on
Pour le ftp, il faut ajouter un module au noyau: ip_conntrack_ftp.
Pour cela, éditer le fichier /etc/modules et rajouter une ligne avec ip_conntrack_ftp.
Serveur web
« apt-get install apache2 mysql-server php5 php5-cli php5-intl php5-sqlite php5-gd php-apc php5-imagick php5-curl awstats »
Modifier php.ini pour renseigner date.timezone
Installer phpmyadmin: « apt-get install phpmyadmin »
Il est recommandé de changer l’URL dans le fichier » /etc/phpmyadmin/apache.conf ».
Puis recharger apache: « service apache2 reload »
« sudo a2enmod rewrite »
« service apache2 restart »
Email
Pour envoyer des mails facilement en ligne de commande ou scripts shell:
« apt-get install mailutils »
Mysql
Gestion de l’UTF8 par défaut:
Editer /etc/mysql/my.cnf
section client:
default-character-set=utf8
section mysqld
character-set-server=utf8
default-character-set=utf8
skip-character-set-client-handshake
Ce tuyau est assez intéressant, mais peut-être un peu trop léger par rapport à l’utilisation d’un serveur en général. Par exemple, au niveau de la sécurité, fail2ban pour éviter les attaques par brute-force, fait très bien ce qu’on lui demande si les ACL sont bien paramétrées.
mettre
default-character-set=utf8
genere une erreur qui empeche mysql de demarrer
cette option est deprecatedil faut utiliser
character-set-server=utf8
plus de détails http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_default-character-set
pour le reste merci beaucoup mon serveur fonctionne