install.php 3.31 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

$fromMaster = true;

$osedir = $oa->getOseDir();

$c->println("Installation de OSE");

if (!$fromMaster) {
    // Choix de la version
    $c->println("\nSélection de la version à déployer", $c::COLOR_LIGHT_CYAN);
    $c->println("Voici la liste des versions de OSE disponibles:");
    $tags = $oa->getTags();
    foreach ($tags as $tag) {
        $c->println($tag);
    }
17
18
19
20
    $c->print("Veuillez choisir une version à déployer: ");
    $version = $c->getInput();
    if (!($oa->tagIsValid($version) || $oa->brancheIsValid($version))) {
        $c->printDie("$version n'est pas dans la liste des versions disponibles.");
21
22
    }

23

24
25
    // Récupération des sources
    $c->println("\nDéploiement à partir des sources GIT", $c::COLOR_LIGHT_CYAN);
26
    $tbr = $oa->tagIsValid($version) ? 'tags/' : '';
27
28
    $c->exec([
        "cd $osedir",
29
        "git checkout $tbr$version",
30
31
        "mkdir cache",
        "chmod 777 cache",
32
33
        "mkdir log",
        "chmod 777 log",
34
35
        "chmod +7 bin/ose",
    ]);
36
    $oa->writeVersion($version);
37
38
39
40
41
} else {
    $c->exec([
        "cd $osedir",
        "mkdir cache",
        "chmod 777 cache",
42
43
        "mkdir log",
        "chmod 777 log",
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
        "chmod +7 bin/ose",
    ]);
}

try {
    $e              = $c->exec('composer', false, true);
    $composerExists = true;
} catch (\Exception $e) {
    $composerExists = false;
}

if ($composerExists) {
    // Récupération des dépendances
    $c->println("\nChargement des dépendances à l'aide de Composer", $c::COLOR_LIGHT_CYAN);
    $c->passthru("cd $osedir;composer install");
} else {
    // Récupération de Composer
    $c->println("\nRécupération de l'outil de gestion des dépendances Composer", $c::COLOR_LIGHT_CYAN);
    $c->passthru("cd $osedir;wget https://getcomposer.org/composer.phar");

    // Récupération des dépendances
    $c->println("\nChargement des dépendances à l'aide de Composer", $c::COLOR_LIGHT_CYAN);
    $c->passthru("cd $osedir;php composer.phar install");
}

// Mise à jour des liens vers les répertoires publics des dépendances
70
$oa->run('maj-public-links', false);
71

72
if (!file_exists($osedir . 'config.local.php')) {
73
74
75
76
77
    $c->exec([
        "cd $osedir",
        "cp config.local.php.default config.local.php",
    ]);
}
78
79
80
81
82
83
84
85
86
87
88

// Génération des proxies pour l'ORM Doctrine
$c->println("\nGénération des proxies pour l'ORM Doctrine", $c::COLOR_LIGHT_CYAN);
$c->exec([
    "cd $osedir",
    "php vendor/bin/doctrine-module orm:generate-proxies",
    "chmod -R 777 cache/DoctrineProxy",
    "chmod -R 777 cache/Doctrine",
]);

// Conclusion
89
90
91
92
93
94
95
96
97
$c->println("\nFin du script d'installation des fichiers", $c::COLOR_LIGHT_GREEN);
$c->println("Il reste encore plusieurs étapes à réaliser pour que OSE soit pleinement fonctionnel :");
$c->println(" 1 - Configurez le cas échéant votre serveur Apache");
$c->println(" 2 - Veuillez personnaliser le fichier de configuration de OSE config.local.php, si ce n'est déjà le cas");
$c->println(" 3 - La base de données devra au besoin être initialisée à l'aide de la commande ./bin/ose install-bdd");
$c->println(" 4 - Mettez en place les tâches CRON nécessaires (envoi de mails pour les indicateurs, Synchronisation automatique, etc.");
$c->println('');
$c->println("Pour la suite, merci de vous reporter au guide de l'administrateur pour vous aider à configurer l'application");
$c->println('');