aboutsummaryrefslogtreecommitdiff
path: root/src/service/Installation.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/service/Installation.php')
-rw-r--r--src/service/Installation.php47
1 files changed, 32 insertions, 15 deletions
diff --git a/src/service/Installation.php b/src/service/Installation.php
index 059c093..eb4b6db 100644
--- a/src/service/Installation.php
+++ b/src/service/Installation.php
@@ -9,10 +9,9 @@ class Installation
9 { 9 {
10 $flag = false; 10 $flag = false;
11 $extensions = ['pdo_mysql', 'mbstring', 'ctype', 'json', 'tokenizer', 'imagick']; // les 5 premières sont pour doctrine 11 $extensions = ['pdo_mysql', 'mbstring', 'ctype', 'json', 'tokenizer', 'imagick']; // les 5 premières sont pour doctrine
12 // ajouter plus tard zip pour les backup 12 // ajouter plus tard zlib pour la compression des backups
13 foreach($extensions as $extension){ 13 foreach($extensions as $extension){
14 if(!extension_loaded($extension)) 14 if(!extension_loaded($extension)){
15 {
16 echo("<p>l'extension <b>" . $extension . '</b> est manquante</p>'); 15 echo("<p>l'extension <b>" . $extension . '</b> est manquante</p>');
17 $flag = true; 16 $flag = true;
18 } 17 }
@@ -34,8 +33,8 @@ class Installation
34 static public function checkFilesAndFoldersRights(): void 33 static public function checkFilesAndFoldersRights(): void
35 { 34 {
36 // -- droits des fichiers et dossiers -- 35 // -- droits des fichiers et dossiers --
37 $droits_dossiers = 0700; 36 $droits_dossiers = 0755;
38 $droits_fichiers = 0600; 37 $droits_fichiers = 0644;
39 38
40 if(!file_exists('user_data')){ 39 if(!file_exists('user_data')){
41 // créer le dossier user_data 40 // créer le dossier user_data
@@ -46,25 +45,43 @@ class Installation
46 <p>Aide: "serveur web" se nomme "www-data" sur debian et ubuntu, il s\'appelera "http" sur d\'autres distributions.</p>'; 45 <p>Aide: "serveur web" se nomme "www-data" sur debian et ubuntu, il s\'appelera "http" sur d\'autres distributions.</p>';
47 die; 46 die;
48 } 47 }
48 if(!file_exists('../var')){
49 mkdir('../var');
50 chmod('../var', $droits_dossiers);
51 //
52 }
53 if(!file_exists('../var/backups')){
54 mkdir('../var/backups');
55 chmod('../var/backups', $droits_dossiers);
56 //
57 }
49 58
59 // droits 600 pour celui-ci
50 if(!file_exists('../config/config.ini')){ 60 if(!file_exists('../config/config.ini')){
51 // aide à la création du config.ini 61 // aide à la création du config.ini
52 echo '<p>Le fichier config/config.ini est introuvable.</p>'; 62 echo '<p>Le fichier config/config.ini est introuvable.</p>';
53 echo '<p>Il doit obligatoirement contenir les codes de la base de données, le protocole http ou https (et éventuellement le port) utilisé pour créer les liens internes.<br> 63 echo '<p>Il doit obligatoirement contenir les codes de la base de données, le protocole http ou https (et éventuellement le port) utilisé pour créer les liens internes.<br>
54 Un modèle est disponible, il s\'agit du fichier config/config-template.ini</p> 64 Un modèle est disponible, il s\'agit du fichier config/config-template.ini</p>
55 <p>Quand vous aurez terminé votre config.ini, donnez-lui par sécurité des droits 600.</p>'; 65 <p>Ce fichier a une importance critique. Si vous le pouvez faites en sorte que le serveur en soit le propriétaire et donner lui des droits 600.</p>';
56 die; 66 die;
57 } 67 }
58 else{ 68 /*else{
59 // droits du config.ini 69 // propriétaire du fichier
60 /*if(substr(sprintf('%o', fileperms('../config/config.ini')), -4) != 600){ 70 if(fileowner('../config/config.ini') != posix_geteuid()){
61 chmod('../config/config.ini', $droits_fichiers); 71 echo "<p>le fichier config/config.ini n'appartient pas au serveur.</p>";
62 }*/ 72 }
73 else{
74 // droits du config.ini
75 if(substr(sprintf('%o', fileperms('../config/config.ini')), -4) != 600){
76 echo '<p>Attention, le </p>';
77 //chmod('../config/config.ini', $droits_fichiers);
78 }
79 }
80 }*/
63 81
64 // tester les liens internes 82 // tester les liens internes
65 // 83 //
66 84
67 // le test de connexion à la BDD est dans le doctrine bootstrap 85 // le test de connexion à la BDD est dans le doctrine bootstrap
68 }
69 } 86 }
70} \ No newline at end of file 87} \ No newline at end of file