Procédure installation Looping

Un article de DocAstairs.

Sommaire

[modifier] Installation du système de base

installation via ftp derrière firewall

Installer les ports BSD

Pour modifier l'installation lancer sysinstall


[modifier] Installation du système d'encodage vidéo flv

Après avoir installé FFMPEG et MENCODER

le script de compression est situé dans le répertoire /var/www/data/foad/plateforme/plateforme/bo/flv_generator

Le répertoire contenant les vidéos, sons et sous-titres non traités sont dans le répertoire /var/www/data/foad/plateforme/plateforme/fo/data/video/src et celui contenant les vidéos compressées au format flv et les sous-titres réencodés dans /var/www/data/foad/plateforme/plateforme/fo/data/video/out

[modifier] Installation des applis

Bash & Bash Completion

portsnap

Openssh

Sudo

wget

MC

Apache22 (+ support mysql pgsql + mod_ext_rewrite)

php5

mysql-server

phpmyadmin

postgresql82-server

phppgadmin

egroupware

mediawiki & imagemagick

lsof

portaudit

iperf

logrotate

rsync

xdebug

mencoder

ffmpeg

samba3

[modifier] Configuration SYSTEME

Gestion des ports

récuper les ports

portsnap fetch

portsnap extract


Mettre à jour les ports

portsnap update

Vérifier failles sur les ports installés

portaudit -a

changer le shell par défaut

chsh -s /usr/local/bin/bash sam


changer info utilisateurs

chpass username

rebooter la config réseau

/etc/rc.d/netif restart && /etc/rc.d/routing restart

Gestion des droits

lancer visudo et décommenter %wheel pour autoriser les membres de ce groupe à utiliser la commande su

Configurer SSH pour interdire la connexion root et forcer les utilisateurs à utiliser la commande sudo qui permet de loguer les activités.


Générer clé dsa pour connexion distante avec hannibal

ssh-keygen -t dsa

copier /root/.ssh/id_dsa sur hannibal à la suite du fichier /home/admin/.ssh/authorized_key


Gestion des tâches cron

  1. cron de la synchro [hannibal][backup_db]=>[looping][backup]
0 1 * * * /usr/local/bin/rsync -avze ssh --delete --ignore-errors admin@217.113.207.1:/usr/backup/hannibal/online_db/ /data/backup/hannibal/online_db/
  1. cron de la synchro [looping][backup_db]=>[hannibal][backup]
10 1 * * * /usr/local/bin/rsync -avze ssh --delete --ignore-errors /data/backup/looping/prod_db/ webafide@217.113.207.1:/usr/backup/looping/prod_db/
  1. cron de la synchro [looping][backup_www]=>[hannibal][backup]
0 2 * * * /usr/local/bin/rsync -avze ssh --delete --ignore-errors /data/backup/looping/www/ webafide@217.113.207.1:/usr/backup/looping/www/
  1. cron de la synchro [looping][www]=>[looping][backup_www]
0 0 * * * /usr/local/bin/rsync -av /var/www/data/ /data/backup/looping/www/
  1. cron de la synchro [hannibal][backup_www]=>[looping][backup]
20 1 * * * /usr/local/bin/rsync -avze ssh --delete --ignore-errors webafide@217.113.207.1:/usr/local/www/data/foad/pgr/interformation.net/afbb/ /data/backup/hannibal/www/foad/pgr/interformation.net/afbb/

30 1 * * * /usr/local/bin/rsync -avze ssh --delete --ignore-errors webafide@217.113.207.1:/usr/local/www/data/foad/pgr/bo_clients/afbb-admin/ /data/backup/hannibal/www/foad/pgr/bo_clients/afbb-admin/


  1. sauvegarde des bdd postgres
éditer /usr/local/etc/periodic/daily/502.pgsql et mettre backup_enable à YES

Gestion des logs

Voir à définir la politique des logs du serveur

cp /usr/local/etc/logrotate.conf.sample /usr/local/etc/logrotate.conf

Editer /etc/syslog.conf

[modifier] Configuration APACHE/PHP

voir ici pour aide à l'installation: http://julp.developpez.com/freebsd/famp/


Configurer les virtualhost pour générer des fichiers logs différents pour chaque site

CustomLog "/var/log/apache/virtualhost/httpd-access.log" combined
 
ErrorLog "/var/log/apache/virtualhost/httpd-error.log"


Modifier php.ini

register global = On

register_long_arrays = On

display_errors = On

allow_call_time_pass_reference = On


Configuration ext_filter

éditer/créer /usr/local/etc/apache/extra/httpd-ext_filter

ExtFilterDefine fixurl mode=output intype=text/html \

cmd="/usr/bin/sed -f /var/www/extfilter"

<Location />

SetOutputFilter fixurl

</Location>

Créer /var/www/extfilter

s/looping.afide.local/looping.afide.local/g

s/astairs.afide.local/astairs.afide.local/g

s/interformation.net.afide.local/interformation.net.afide.local/g

s/bo.interformation.net.afide.local/bo.interformation.net.afide.local/g

s/fo.clients.afide.local/fo.clients.afide.local/g

s/bo.clients.afide.local/bo.clients.afide.local/g

s/admin.bo.clients.afide.local/admin.bo.clients.afide.local/g

s/afid.afide.local/afid.afide.local/g

s/bo.afide.afide.local/bo.afide.afide.local/g

s/site.client.afide.local/site.client.afide.local/g

Installation Xdebug

pecl install xdebug

éditer php.ini pour ajouter

extension=xdebug.so

xdebug.profiler_enable=On

xdebug.profiler_output_dir=/var/log/xdebug

xdebug.profiler_output_name=cachegrind.out.%R

[modifier] Configuration POSTGRESQL

Après l'installation

su -l pgsql -c initdb

su -l pgsql /usr/local/etc/rc.d/postgresql start

Commandes utiles

Lister les bases

psql -l -U pgsql

Créer une base (Encodage UTF8, propriétaire pgsl)

createdb -U pgsql -E UTF8 -O pgsql

Se connecter à postgres

su -l pgsql

Se connecter à une base

psql -d postgres

Créer un groupe

CREATE GROUP "grp-www";

Créer un utilisateur

CREATE USER "postgres";

Modifier un groupe

ALTER GROUP "grp-www" ADD USER "www";

Modifier droits d'un utilisateur

ALTER USER "skel" WITH CREATEUSER;


Modifier /usr/localpgsql/data/pg_hba.conf

Autoriser les réseaux de confiance 127.0.0.0/32 et 10.1.0.0/16

Modifier /usr/localpgsql/data/postgresql.conf

Listen_addresses = '*'

log_destination = 'stderr'

redirect_stderr = on

log_directory = '/var/log/pg_log'

log_rotation_age = 1d

log_rotation_size = 10MB

client_min_messages = notice

log_min_messages = notice

log_error_verbosity = verbose

log_min_error_statement = error


Sauvegarde quotidienne des bases de données

/usr/local/etc/periodic/daily/502.pgsql

Restaurer une base

pg_restore -d nom_de_la_base -c -U pgsql /chemin/vers/la/base/fichier.dump

[modifier] Configuration MYSQL

Commandes utiles

Se connecter à Mysql

# mysql -u root - p mysql

Définir mot de passe

# mysqladmin -u username -h localhost password "newpass";

Créer une base

mysql > CREATE DATABASE database;

Voir les bases existentes

# mysqlshow

Lister les utilisateurs

mysql > SELECT Host, User, Password FROM user;

Décrire la base

mysql > Describe db;

Accorder permissions

mysql> GRANT SELECT, INSERT, UPDATE ... ON database.table TO user@domain;

Afficher les permissions

mysql> SHOW GRANTS FOR user@host;

Créer un utilisateur

mysql> CREATE USER ' username ' IDENTIFIED BY ' password ';