Beruflich Dokumente
Kultur Dokumente
Du Rootard
host.domain.com
Informations Generiques
Distributor ID Ubuntu
Description Ubuntu 10.04.1 LTS
Release 10.04
Codename lucid
Noyau 2.6.32-25-server x86_64
address XXX.XXX.XXX.XXX
netmask 255.255.255.0
network XXX.XXX.XXX.0
broadcast XXX.XXX.XXX.255
gateway XXX.XXX.XXX.YYY
dns-nameservers ZZZ.ZZZ.ZZZ.ZZZ
Informations Mediactive :
Baie
Port/Switch
Prise/PDU
Versions et Noms de Code
root(a)...:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.1 LTS
Release: 10.04
Codename: lucid
Installation de ssh
Installation de Retroclient
Installation de Webmin
root(a)...:~# vi /etc/apache2/sites-available/host.domain.com
<VirtualHost *>
ServerAdmin webmaster@mediactive.fr
DocumentRoot /var/www/host.domain.com
ServerName host.domain.com
ErrorLog /var/log/apache2/host.domain.com/error_log
CustomLog /var/log/apache2/host.domain.com/access.log combined
<Directory "/var/www//var/www/host.domain.com">
Options FollowSymLinks Includes
Order deny,allow
#Allow from all
AllowOverride All
</Directory>
Redemarrage de services
root(a)...:~# vi /root/mysqlbackup.sh
#!/bin/bash
# David 2009.07.24
USER="root"
PASSWORD="*************"
OUTPUTDIR="/var/backups/mysql"
MYSQLDUMP="/usr/bin/mysqldump"
MYSQL="/usr/bin/mysql"
ROTATION=$(date +"%H00.%F")
if [ ! -d "$OUTPUTDIR" ]; then
mkdir "$OUTPUTDIR"
fi
root(a)...:~# vi /etc/apache2/conf.d/security
# initialiser le ServerTokens a la valeur “Prod”
...
#ServerTokens Minimal
ServerTokens Prod
#ServerTokens Full
...
root(a)...:~# rm -f /etc/apache2/conf.d/phpmyadmin.conf
root(a)...:~# vi /etc/apache2/sites-available/hostname.com-ssl
NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
DocumentRoot /var/www
ServerName hostname.com
Include "/etc/phpmyadmin/apache.conf"
</VirtualHost>
root(a)...:~# a2enmod ssl
root(a)...:~# cd /etc/apache2/sites-enabled/
root(a)...:~# ln -s /etc/apache2/sites-available/hostname.com-ssl 000-hostname.com-ssl
root(a)...:~# service apache2 restart
Mise a Jour et Entretien des Serveurs. (Aptitude)
Aptitude est un gestionnaire de paquets basé sur l'infrastructure APT, c'est-à-dire que vous pourrez
installer, supprimer et mettre à jour les logiciels (paquets) avec Aptitude.
Obtenir une version à jour de la liste des paquets disponibles, à faire avant toute installation :
Creer une version de la clé serveur qui ne reclame pas le mot de passe
root(a)...:~# vi /etc/apache2/sites-available/hostname-ssl
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
...
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
...
# If both key and certificate are stored in the same file, only the
# SSLCertificateFile directive is needed.
SSLCertificateFile /path/to/crt/file/server.crt
SSLCertificateKeyFile /path/to/key/file/server.key
...
<VirtualHost>
</IfModule>
Comprendre cron...
Le démon crond est le processus qui permet d'exécuter des tâches planifiées automatiquement à des
instants précis prévus à l'avance (date, heure, minute). En général, cron est installé par défaut sur les
systèmes, sinon pour l'installer utiliser le programme d'installation de votre distro (aptitude ou yum).
La configuration des entrées de la cron se fait avec le programme crontab (tables de cron). C'est
très facile à comprendre et à utiliser, mais il y'a une syntaxe à respecter.
1 - Syntaxe de cron
root(a)...:~# crontab -l
# m h dom mon dow command
root(a)...:~# crontab -l
# execute /path/to/cmd tous les jours a minuit
0 0 * * * /path/to/cmd
2 - Quelques astuces...
root(a)...:~# crontab -l
# execute /path/to/cmd tous les jours a minuit
0 0 * * * /path/to/cmd
root(a)...:~# crontab -l
# execute /path/to/cmd a minuit tous les jours du mois, tous les mois, tous les samedi et dimanche (tous les weekends a minuit).
0 0 * * 5,6 /path/to/cmd
root(a)...:~# crontab -l
# execute /path/to/cmd toutes les heures entre minuit et midi, tous les jours du mois, tous les jours de la semaine.
0 0-12 * * * /path/to/cmd
root(a)...:~# crontab -l
# execute /path/to/cmd toutes les 10 minutes, tous les jours du mois, tous les jours de la semaine.
*/10 * * * * /path/to/cmd
root(a)...:~# crontab -l
# @yearly : tous les ans
@yearly /path/to/cmd
# equivaut a ...
0 0 1 1 * /path/to/cmd
root(a)...:~# crontab -l
# @daily : tous les jours
@daily /path/to/cmd
# equivaut a ...
0 0 * * * /path/to/cmd
Question :