webservice/config/install.php
2010-10-29 09:16:37 +00:00

102 lines
1.9 KiB
PHP

#!/usr/bin/php
<?php
// Copier la configuration suivant le nom du serveur
// Créer le lien symoblique data/ -> wwwroot/data/
//
// 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 [environnement]
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
<?php
exit;
}
$action = $argv[1];
$mode = strtoupper($argv[2]);
$hostname = exec('echo $(hostname)');
switch ($action)
{
case 'check':
break;
case 'configure':
//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 du lien symbolique du projet
echo "Changement des permissions\n";
changePermission();
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 changePermission(){
}
function writeSymlinks(){
if( !file_exists(PATH_SITE.'/data') ) {
passthru('ln -vs '.realpath(dirname(__FILE__).'/../../data').' '.PATH_SITE.'/data');
}
}
function writeConfig()
{
global $hostname;
passthru('cp -v '.realpath(dirname(__FILE__)).'/'.$hostname.'/config.* '.realpath(dirname(__FILE__)).'/');
}