2010-09-22 09:19:17 +00:00
|
|
|
#!/usr/bin/php
|
|
|
|
<?php
|
|
|
|
// Paramètres
|
2010-09-22 15:27:56 +00:00
|
|
|
if ( $argc != 3 || in_array($argv[1], array('--help', '-help', '-h', '-?')) ) {
|
2010-09-22 09:19:17 +00:00
|
|
|
?>
|
2010-09-22 15:27:56 +00:00
|
|
|
Installation
|
2010-09-22 09:19:17 +00:00
|
|
|
Avec les options --help, -help, -h, et -?, vous obtiendrez cette aide.
|
|
|
|
|
2010-09-22 15:27:56 +00:00
|
|
|
Utilisation : <?php echo $argv[0]; ?> options environnement
|
2010-09-22 09:19:17 +00:00
|
|
|
|
2010-09-22 15:27:56 +00:00
|
|
|
options :
|
|
|
|
check
|
|
|
|
Vérifie les différents éléments de la configuration
|
|
|
|
et affiche le résultat (Nécessite d'être ROOT)
|
|
|
|
configure
|
|
|
|
Execute les actions de configuration suivant le serveur
|
|
|
|
install
|
|
|
|
Créer le lien symbolique
|
|
|
|
update-vhost
|
|
|
|
Met à jour la configuration définie dans apache si nécessaire
|
|
|
|
(Nécessite d'être ROOT)
|
|
|
|
|
|
|
|
environnement :
|
|
|
|
PRD : Production
|
|
|
|
REC : Recette
|
|
|
|
DEV : Developpement
|
2010-09-22 09:19:17 +00:00
|
|
|
<?php
|
|
|
|
exit;
|
|
|
|
}
|
2010-09-22 15:27:56 +00:00
|
|
|
|
|
|
|
$action = $argv[1];
|
|
|
|
$mode = strtoupper($argv[2]);
|
|
|
|
$hostname = exec('echo $(hostname)');
|
|
|
|
|
|
|
|
switch ($action)
|
|
|
|
{
|
|
|
|
case 'check':
|
|
|
|
if (!isRoot()) {
|
|
|
|
echo "Vous devez être ROOT pour utiliser ce script.\n"; exit;
|
|
|
|
}
|
|
|
|
if (!hasConfig()) {
|
|
|
|
echo "Fichier de configuration manquant...\n"; exit;
|
|
|
|
}
|
|
|
|
echo "Lien symbolique 'cache/logos' : ";
|
|
|
|
echo hasSymlink('cache/logos') ? "Ok" : "Manquant";
|
|
|
|
echo "\n";
|
|
|
|
echo "Lien symbolique 'cache/img' : ";
|
|
|
|
echo hasSymlink('cache/img') ? "Ok" : "Manquant";
|
|
|
|
echo "\n";
|
|
|
|
echo "Lien symbolique 'data' : ";
|
|
|
|
echo hasSymlink('data') ? "Ok" : "Manquant";
|
|
|
|
echo "\n";
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'configure':
|
|
|
|
//Création de la configuration
|
|
|
|
echo "Ecriture de la configuration\n";
|
|
|
|
writeConfig($mode);
|
|
|
|
//Création des liens symboliques
|
|
|
|
echo "Création des liens symboliques\n";
|
|
|
|
writeSymlinks();
|
|
|
|
//Vérification du lien symbolique du projet
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'install':
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'update-vhost':
|
|
|
|
if (!isRoot()) {
|
|
|
|
echo 'Vous devez être ROOT pour utiliser ce script';
|
|
|
|
exit;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
default :
|
|
|
|
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 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 checkApacheModules(){}
|
|
|
|
function checkPHPModules(){}
|
|
|
|
|
|
|
|
function checkProjectSymlink()
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function writeSymlinks(){
|
|
|
|
if( !file_exists(PATH_SITE.'/cache/logos') ) {
|
|
|
|
passthru('ln -s '.PATH_DATA.'/logos '.PATH_SITE.'/cache/logos');
|
|
|
|
}
|
|
|
|
if( !file_exists(PATH_SITE.'/cache/img') ) {
|
|
|
|
passthru('ln -s '.PATH_SITE.'/www/img '.PATH_SITE.'/cache/img');
|
|
|
|
}
|
|
|
|
if( !file_exists(PATH_SITE.'/data') ) {
|
|
|
|
passthru('ln -s '.PATH_DATA.' '.PATH_SITE.'/data');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function writeConfig($mode)
|
|
|
|
{
|
|
|
|
global $hostname;
|
|
|
|
passthru('cp '.PATH_SITE.'/config/'.$hostname.'/config.inc '.PATH_SITE.'/config/config.inc');
|
|
|
|
}
|
|
|
|
|