#!/usr/bin/php <?php // Paramètres if ( $argc < 2 || in_array($argv[1], array('--help', '-help', '-h', '-?')) ) { ?> Installation Avec les options --help, -help, -h, et -?, vous obtiendrez cette aide. Utilisation : <?php echo $argv[0]; ?> options options : --install Execute les actions de configuration suivant le serveur <?php exit; } /** * Vérfie si l'utilisateur est ROOT */ function isRoot() { $uid = exec('echo $(id -u)'); if ((int) $uid == 0){ return true; } else { return false; } } function hasConfig() { return file_exists(realpath(dirname(__FILE__)).'/config.inc'); } function hasSymlink($symlink) { return is_link(PATH_SITE.'/'.$symlink); } function changePermission(){ passthru('chmod +x '.PATH_SITE.'/batch/*.php'); passthru('chmod +x '.PATH_SITE.'/includes/print/linux/*'); passthru('chown -R www-data: '.PATH_SITE); } function writeSymlinks(){ if( !file_exists(PATH_SITE.'/data') ) { passthru('ln -vs '.realpath(dirname(__FILE__).'/../../data').' '.PATH_SITE.'/data'); } if( !file_exists(PATH_SITE.'/cache/pages/img') ) { passthru('ln -vs '.PATH_SITE.'/www/img '.PATH_SITE.'/cache/pages/img'); } if( !file_exists(PATH_SITE.'/cache/pages/fichier/logos') ) { passthru('ln -vs '.PATH_DATA.'/logos '.PATH_SITE.'/cache/pages/fichier/logos'); } if( !file_exists(PATH_SITE.'/cache/pages/fichier/imgcache') ) { passthru('ln -vs '.PATH_SITE.'/cache/pages/imgcache '.PATH_SITE.'/cache/pages/fichier/imgcache'); } } function writeConfig() { global $hostname; passthru('cp -v '.realpath(dirname(__FILE__)).'/'.$hostname.'/config.inc '.realpath(dirname(__FILE__)).'/config.inc'); } function checkDirectories() { $dirList = array( 'bilanclient', 'courrier', 'jo', 'log', 'logos', 'marques', 'pdf', 'asso', ); foreach ($dirList as $dir) { if (!file_exist(PATH_DATA.'/'.$dir)) { mkdir(PATH_DATA.'/'.$dir); } } } $action = $argv[1]; $mode = strtoupper($argv[2]); $hostname = exec('echo $(hostname)'); switch ($action) { case '--install': //Création de la configuration echo "Ecriture de la configuration\n"; writeConfig(); //Création des liens symboliques require_once 'config.inc'; echo "Création des liens symboliques\n"; writeSymlinks(); //Vérification des répertoires de données //Vérification du lien symbolique du projet echo "Changement des permissions\n"; changePermission(); break; }