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
- 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/
- 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/
- 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/
- cron de la synchro [looping][www]=>[looping][backup_www]
0 0 * * * /usr/local/bin/rsync -av /var/www/data/ /data/backup/looping/www/
- 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/
- 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 ';