Retour : Page Principale > sommaire serveurs & domaines > Agathis
IMPORTANT: Ă COMPTER DU 01/01 2015, TELA BOTANICA NE GĂRE PLUS CETTE MACHINE
apt-get update
apt-get upgrade
Redémarrer la machine si nécessaire (en cas d'upgrade d'un paquet linux-image...).
Vous pouvez aussi lancer la commande suivante pour résoudre le problÚme :
apt-get install vim
update-alternatives --config vi (doit contenir : vim.basic)
update-alternatives --display vi (en cas de problĂšme mais normalement fait pas l'install de vim)
Pour admin créer un fichier ~/.bashrc avec les droits 640 contenant :
Pour les autres utilisateurs crĂ©er un fichier ~/.bashrc comme pour admin avec les droits 640 contenant la mĂȘme chose que pour admin.:
Vous remplacerez la ligne :
PS1='${debian_chroot:+($debian_chroot)}\[\033[1;33m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
par
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
Pour root, admin et les autres utilisateurs :
apt-get install mc
mkdir /home/admin
chown admin:users /home/admin/
su - admin
mkdir src
mkdir src/targz
mkdir script
mkdir save
mkdir www
Fichier backup_mysql :
Utilisation : /usr/local/sbin/backup_mysql utilisateur nom_bdd_01 nom_bdd_02
Fichier mysqlbackup :
Installer les paquets munin :
Fichier /etc/munin/plugin-conf.d/munin-node :
Fichier /etc/munin/munin.conf :
IMPORTANT: Ă COMPTER DU 01/01 2015, TELA BOTANICA NE GĂRE PLUS CETTE MACHINE
OBSOLETE (2017) - ces informations sont considérées comme n'ayant plus cours en 2017
Configuration du serveur Coris
▼ Table des matières
Serveur de nom
Pas besoin de serveur de nom (c'est mon choix !). Désinstallation si nécessaire.Mise à jour générale
Lancement de la commande de mise à jour générale :apt-get update
apt-get upgrade
Redémarrer la machine si nécessaire (en cas d'upgrade d'un paquet linux-image...).
Vérification différence vi et vim
Si en éditant un fichier avec la commande vi, l'appui sur la touche "INSER" ne bascule pas en mode insertion, il faut alors utiliser vim.Vous pouvez aussi lancer la commande suivante pour résoudre le problÚme :
apt-get install vim
update-alternatives --config vi (doit contenir : vim.basic)
update-alternatives --display vi (en cas de problĂšme mais normalement fait pas l'install de vim)
Configuration de bash
Pour root créer un fichier ~/.bashrc avec les droits 640 contenant :# ~/.bashrc: executed by bash(1) for non-login shells. # Note: PS1 and umask are already set in /etc/profile. You should not # need this unless you want different defaults for root. # PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ ' # umask 022 #-----------------------------------------------------------------------------------------------------------# # GESTION du PROMPT NORMAL="\\033[0;39m" VERT="\\033[1;32m" ROUGE="\\033[1;31m" ROSE="\\033[1;35m" BLEU="\\033[1;34m" BLANC="\\033[0;02m" BLANCLAIR="\\033[1;08m" JAUNE="\\033[1;33m" CYAN="\\033[1;36m" PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' #-----------------------------------------------------------------------------------------------------------# # You may uncomment the following lines if you want `ls' to be colorized: export LS_OPTIONS='--color=auto' eval "`dircolors`" alias ls='ls $LS_OPTIONS' alias ll='ls $LS_OPTIONS -l' alias l='ls $LS_OPTIONS -lA' # Some more alias to avoid making mistakes: alias rm='rm -i' alias cp='cp -i' alias mv='mv -i'
Pour admin créer un fichier ~/.bashrc avec les droits 640 contenant :
# ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # for examples # If not running interactively, don't do anything [ -z "$PS1" ] && return # don't put duplicate lines in the history. See bash(1) for more options # don't overwrite GNU Midnight Commander's setting of `ignorespace'. HISTCONTROL=$HISTCONTROL${HISTCONTROL+:}ignoredups # ... or force ignoredups and ignorespace HISTCONTROL=ignoreboth # append to the history file, don't overwrite it shopt -s histappend # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) # check the window size after each command and, if necessary, # update the values of LINES and COLUMNS. shopt -s checkwinsize # make less more friendly for non-text input files, see lesspipe(1) #[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" # set variable identifying the chroot you work in (used in the prompt below) if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then debian_chroot=$(cat /etc/debian_chroot) fi # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) color_prompt=yes;; esac # uncomment for a colored prompt, if the terminal has the capability; turned # off by default to not distract the user: the focus in a terminal window # should be on the output of commands, not on the prompt force_color_prompt=yes if [ -n "$force_color_prompt" ]; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then # We have color support; assume it's compliant with Ecma-48 # (ISO/IEC-6429). (Lack of such support is extremely rare, and such # a case would tend to support setf rather than setaf.) color_prompt=yes else color_prompt= fi fi NORMAL="\\033[0;39m" VERT="\\033[1;32m" ROUGE="\\033[1;31m" ROSE="\\033[1;35m" BLEU="\\033[1;34m" BLANC="\\033[0;02m" BLANCLAIR="\\033[1;08m" JAUNE="\\033[1;33m" CYAN="\\033[1;36m" if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[1;33m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi unset color_prompt force_color_prompt # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" ;; *) ;; esac # enable color support of ls and also add handy aliases if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' #alias dir='dir --color=auto' #alias vdir='vdir --color=auto' #alias grep='grep --color=auto' #alias fgrep='fgrep --color=auto' #alias egrep='egrep --color=auto' fi # some more ls aliases alias ll='ls -l' alias la='ls -A' alias l='ls -Al' # Alias definitions. # You may want to put all your additions into a separate file like # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). if [ -f /etc/bash_completion ] && ! shopt -oq posix; then . /etc/bash_completion fi
Pour les autres utilisateurs crĂ©er un fichier ~/.bashrc comme pour admin avec les droits 640 contenant la mĂȘme chose que pour admin.:
Vous remplacerez la ligne :
PS1='${debian_chroot:+($debian_chroot)}\[\033[1;33m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
par
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
Pour root, admin et les autres utilisateurs :
- supprimer l'Ă©ventuel fichier : ~/.bash_profile
- créer un fichier ~/.profile avec les droits 640 contenant :
# ~/.profile: executed by Bourne-compatible login shells. export LC_ALL="fr_FR.UTF-8" export LANG="fr_FR.UTF-8" export LANGUAGE="fr_FR.UTF-8" if [ "$BASH" ]; then if [ -f ~/.bashrc ]; then . ~/.bashrc fi fi
Configuration de vim
CrĂ©er un fichier .vimrc Ă mettre dans /root et /home/admin contenant :".vimrc " Nombre d'espaces qu'une tabulation prend. set tabstop=4 " EmpĂȘche vim de crĂ©er une sauvegarde avant d'Ă©crire sur un fichier. set nobk " Active le surlignage syntaxique de vim. syntax on " Oblige vim � ins�rer les tabulations comme des caract�res au lieu d'ins�rer un ensemble d'espaces. set noexpandtab " Affiche les numĂ©ros de ligne set nu " Utiliser des couleurs correctes sur un fond noir. set background=dark
Installation de MC
Je ne peux pas me passer de midnight commander :apt-get install mc
Réorganisation du répertoire /var/log
Création d'un lien : /var/log --> /home/log- Prépartion du dossier /home :
- chmod -R -s /home
- chown root:root /home
- ArrĂȘt des demons qui Ă©crivent dans /var/log
- /etc/init.d/rsyslog stop
- /etc/init.d/cron stop
- Création du dossier log : mkdir /home/log
- DĂ©placement du contenu du dossier log : (cd /var/log; tar -cvf - .) | (cd /home/log;tar -xvf -)
- Création du lien :
- rm -Rf /var/log
- ln -s /home/log /var/log
- Redémarrage des serveurs :
- /etc/init.d/cron start
- /etc/init.d/rsyslog start
Création espace administration / gestion des scripts / mise à jour du systÚme
useradd -g users adminmkdir /home/admin
chown admin:users /home/admin/
su - admin
mkdir src
mkdir src/targz
mkdir script
mkdir save
mkdir www
Installation de sudo et ajout du compte admin
- apt-get install sudo
- vi /etc/sudoers
- Laisser en place : root ALL=(ALL) ALL
- Modifier la ligne : admin ALL=(ALL) ALL
- Le fichier est en lecture seule. Pour sauver avec vi utiliser : w!
Configuration de l'envoie de mail via Mail
- Lancer la commande dpkg-reconfigure exim4-config voici les réponses à fournir:
- Type de configuration : Distribution directe par SMTP (site internet)
- Nom de courriel du systĂšme : agathis.tela-botanica.net
- Liste d'adresses IP oĂč Exim sera en attente de connexions SMTP entrantes : 127.0.0.1 ; ::1
- Autres destinations dont le courriel doit ĂȘtre acceptĂ© : agathis.tela-botanica.net
- Domaines Ă relayer : _
- Machines Ă relayer : _
- Faut-il minimiser les requĂȘtes DNS (connexions Ă la demande) ? : Oui
- Méthode de distribution du courrier local : Format « mbox » dans /var/mail
- Faut-il séparer la configuration dans plusieurs fichiers ? : Non
- Tester l'envoie de mail : echo "Test 1 - Agathis"|mail -s "Test mail Agathis" votre_mail@tela-botanica.org
Services au démarrage
- Installer l'utilitaire rcconf qui permet de définir les services à lancer lors du démarrage de la machine : apt-get install rcconf
- Lancer l'utilitaire : rcconf => utiliser les flÚches pour vous déplacer et la barre espace pour cocher/décocher les services
Mise en place des sauvegardes
- Créer un utilisateur backup si nécessaire
- Créer les scripts de backup :
- cd /usr/local/sbin/
- Créer un script backup_mysql avec le contenu ci-dessous : vi /usr/local/sbin/backup_mysql
- chmod 744 backup_*
- Créer les scripts cron de backup :
- cd /etc/cron.daily
- Créer un script mysqlbackup avec le contenu ci-dessous : vi /etc/cron.daily/mysqlbackup
- chmod 755 *backup
Fichier backup_mysql :
Utilisation : /usr/local/sbin/backup_mysql utilisateur nom_bdd_01 nom_bdd_02
#/bin/bash # Sauvegarde base de donnee dans /home/utilisateur/bases sur 7 jours ... # Mai 2004 David Delon Inspiration Faq ovh # Parametres : # $1 utilisateur # $2 base (ou liste de bases séparées par des espaces) # Le mot de passe de l'administrateur de base de donnee est present dans ce # script en clair, c'est pas bien : faut chmoder en 700 ce truc. user=$1 /bin/mkdir -p /home/$user/bases/tmp 2>/dev/null cd /home/$user/bases; shift for base in $* do # On verifie que la base existe /usr/bin/touch tmp/$base.sql if [ -d /home/mysql/$base ] ; then /usr/local/mysql/bin/mysqldump --add-drop-table -u root $base -f > tmp/$base.sql; fi done /bin/tar zcf bases-$(/bin/date -I).tar.gz tmp/*.sql --remove-files /usr/bin/find /home/$user/bases/bases*.gz -mtime +7 -exec /bin/rm -f {} \; chown $user:$user -R /home/$user/bases
Fichier mysqlbackup :
#!/bin/bash /usr/local/sbin/backup_mysql apitela tb_eflore /usr/local/sbin/backup_mysql apitest tb_eflore_test tb_cel_test tb_del_test tela_prod_v4
Installations
Installation des outils nécessaires à la compilation
apt-get install build-essential autoconf automake libtool cmake make g++Installation de Php
Préparer le dossier d'installation de Php :- cd /usr/local/
- mkdir php : dossier contenant les différentes version de php (5.2, 5.4, 5.5...)
- mkdir php/backup : dossier contenant le backup des différents binaires php
- Passer en admin : su - admin
- Se rendre dans le dossier des scripts : cd script/
- Lancer les scripts des différentes version de php à installer :
- sh php_5.2.sh
- sh php_5.4.sh
- sh php_5.5.sh
- mkdir /etc/php
- ln -s /usr/local/php/5.4/etc /etc/php/5.2
- ln -s /usr/local/php/5.4/etc /etc/php/5.4
- ln -s /usr/local/php/5.4/etc /etc/php/5.5
- cp /home/admin/src/php-5.2.17/php.ini-production /etc/php/5.2/php.ini
- cp /home/admin/src/php-5.4.23/php.ini-production /etc/php/5.4/php.ini
- cp /home/admin/src/php-5.5.7/php.ini-production /etc/php/5.5/php.ini
- Modifier les paramĂštres de chaque fichier php.ini : vi /etc/php/5.{x}/php.ini
- short_open_tag = On
- memory_limit = 512M
- post_max_size = 8M
- max_execution_time = 60
- max_input_time = 60
- display_errors = Off
- log_errors = On
- variables_order = "GPCS"
- register_argc_argv = Off
- magic_quotes_gpc = Off
- include_path = ".:/usr/local/php/5.2/lib/php" # changer la version
- upload_max_filesize = 8M
- session.gc_maxlifetime = 28800
Configuration de SUPHP
- Ăditer le fichier de configurationde suphp : vi /usr/local/etc/suphp.conf
- Ajouter les handlers suivants :
[handlers] ;Handler for php-scripts x-httpd-php5=php:/usr/local/php/5.2/bin/php x-httpd-php52=php:/usr/local/php/5.2/bin/php x-httpd-php54=php:/usr/local/php/5.4/bin/php x-httpd-php55=php:/usr/local/php/5.5/bin/php
- Ajouter les handlers dans le fichier de config d'Apache :
#SuPhp suPHP_Engine on AddHandler x-httpd-php52 .php AddHandler x-httpd-php52 .php5 suPHP_AddHandler x-httpd-php5 suPHP_AddHandler x-httpd-php52 suPHP_AddHandler x-httpd-php54 suPHP_AddHandler x-httpd-php55
Installation de Munin
Voir l'aide sur Munin.Installer les paquets munin :
- apt-get install munin munin-node
- Ajouter un module Perl via le CPAN :
- cpan : valider les options par défaut jusqu'au prompt CPAN
- install LWP::UserAgent
- exit
- Ăditer le fichier munin-node.conf : vi /etc/munin/munin-node.conf et vĂ©rifier la prĂ©sence de la ligne : allow ^127\.0\.0\.1$
- VĂ©rification du bon fonctionnement de Munin :
- Se loguer en tant que Munin : sudo -u munin bash ou su - munin -s /bin/bash
- Générer les stats : /usr/share/munin/munin-update --nofork --debug
- De nombreuses lignes apparaissent dans la console, c'est normal
- Si tout c'est bien passé, on obtient une ligne ressemblant à : 2013/07/18 14:22:58 [INFO]: Munin-update finished (5.33 sec)
- Ăditer le crontab pour y ajouter une entrĂ©e munin afin qu'il mette les stats Ă jour toutes les 5mn :
- crontab -e
- La ligne Ă ajouter : */5 * * * * /usr/bin/munin-cron 1>/dev/null 2>/dev/null
- Ajouter les plugins Mysql Ă Munin :
- Ăditer le fichier munin-node : vi /etc/munin/plugin-conf.d/munin-node
- Supprimer la section [mysql*] existante
- Ajouter le contenu indiqué aprÚs la liste ci-dessous
- Ajouter les plugins mysql aux plugins munin actifs: ln -s /usr/share/munin/plugins/mysql_* /etc/munin/plugins/
- Ajouter une entrée [client] dans /root/.my.cnf (voir installation mysql)
- Redémarrer munin : /etc/init.d/munin-node restart
- Ăditer le fichier munin-node : vi /etc/munin/plugin-conf.d/munin-node
Fichier /etc/munin/plugin-conf.d/munin-node :
# Ajout de l'instance Mysql 5 PROD (jpm) [07-03-2014] [mysql_*] user root env.mysqlconnection DBI:mysql:mysql;host=127.0.0.1;port=3306 env.mysqladmin /usr/local/mysql/bin/mysqladmin env.mysqlopts --defaults-extra-file=/root/.my.cnf
Fichier /etc/munin/munin.conf :
# a simple host tree [Coris] address 127.0.0.1 use_node_name yes