aboutsummaryrefslogtreecommitdiff
path: root/src/service/Installation.php
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2026-05-10 17:01:21 +0200
committerpolo <ordipolo@gmx.fr>2026-05-10 17:01:21 +0200
commit895cf7a438929f74c2e11996667685245a571f2a (patch)
tree5dfad9d5e0d2f4a802482f5883dd4673ed971238 /src/service/Installation.php
parent2c47085b27253c4ad2d062d15c18c3a8c7591298 (diff)
downloadcms-895cf7a438929f74c2e11996667685245a571f2a.tar.gz
cms-895cf7a438929f74c2e11996667685245a571f2a.tar.bz2
cms-895cf7a438929f74c2e11996667685245a571f2a.zip
partie client de la restauration de BDD, script bin/mysqldump.php, changements permissions dossiers, renommage ViewDirector
Diffstat (limited to 'src/service/Installation.php')
-rw-r--r--src/service/Installation.php54
1 files changed, 37 insertions, 17 deletions
diff --git a/src/service/Installation.php b/src/service/Installation.php
index eb4b6db..995ed4a 100644
--- a/src/service/Installation.php
+++ b/src/service/Installation.php
@@ -12,10 +12,14 @@ class Installation
12 // ajouter plus tard zlib pour la compression des backups 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 echo("<p>l'extension <b>" . $extension . '</b> est manquante</p>'); 15 echo("<p>l'extension <b>" . $extension . "</b> est manquante.</p>");
16 $flag = true; 16 $flag = true;
17 } 17 }
18 } 18 }
19 if(!class_exists(DOMDocument::class)){ // théoriquement plus fiable que extension_loaded()
20 echo("<p>l'extension <b>dom</b> est manquante.</p>");
21 $flag = true;
22 }
19 23
20 /*if(!extension_loaded('imagick') && !extension_loaded('gd')){ 24 /*if(!extension_loaded('imagick') && !extension_loaded('gd')){
21 echo("<p>il manque une de ces extensions au choix pour le traitement des images: <b>imagick</b> (de préférence) ou <b>gd</b>.</p>"); 25 echo("<p>il manque une de ces extensions au choix pour le traitement des images: <b>imagick</b> (de préférence) ou <b>gd</b>.</p>");
@@ -33,27 +37,40 @@ class Installation
33 static public function checkFilesAndFoldersRights(): void 37 static public function checkFilesAndFoldersRights(): void
34 { 38 {
35 // -- droits des fichiers et dossiers -- 39 // -- droits des fichiers et dossiers --
36 $droits_dossiers = 0755; 40 $droits_dossiers = 0777;
37 $droits_fichiers = 0644;
38 41
42 $flag = false;
39 if(!file_exists('user_data')){ 43 if(!file_exists('user_data')){
40 // créer le dossier user_data 44 try{
41 mkdir('user_data/'); 45 mkdir('user_data/');
42 chmod('user_data/', $droits_dossiers); 46 chmod('user_data/', $droits_dossiers);
43 echo '<p style="color: red;">Le dossier public/user_data introuvable et le serveur n\'a pas la permission de le créer.<br> 47 }
44 Pour faire ça bien:<br>sudo -u "serveur web" mkdir /chemin/du/site/public/user_data</p> 48 catch(Exception $e){
45 <p>Aide: "serveur web" se nomme "www-data" sur debian et ubuntu, il s\'appelera "http" sur d\'autres distributions.</p>'; 49 echo '<p style="color: red;">Le dossier public/user_data introuvable et le serveur n\'a pas la permission de le créer.<br>
46 die; 50 Pour faire ça bien:<br>sudo -u "serveur web" mkdir /chemin/du/site/public/user_data</p>';
51 echo $e;
52 $flag = true;
53 }
47 } 54 }
48 if(!file_exists('../var')){ 55 if(!file_exists('../var')){
49 mkdir('../var'); 56 try{
50 chmod('../var', $droits_dossiers); 57 mkdir('../var');
51 // 58 chmod('../var', $droits_dossiers);
59 }
60 catch(Exception $e){
61 echo $e;
62 $flag = true;
63 }
52 } 64 }
53 if(!file_exists('../var/backups')){ 65 if(!file_exists('../var/backups')){
54 mkdir('../var/backups'); 66 try{
55 chmod('../var/backups', $droits_dossiers); 67 mkdir('../var/backups');
56 // 68 chmod('../var/backups', $droits_dossiers); // autoriser à la fois le serveur et les scripts dans bin/
69 }
70 catch(Exception $e){
71 echo $e;
72 $flag = true;
73 }
57 } 74 }
58 75
59 // droits 600 pour celui-ci 76 // droits 600 pour celui-ci
@@ -63,7 +80,7 @@ class Installation
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> 80 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>
64 Un modèle est disponible, il s\'agit du fichier config/config-template.ini</p> 81 Un modèle est disponible, il s\'agit du fichier config/config-template.ini</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>'; 82 <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>';
66 die; 83 $flag = true;
67 } 84 }
68 /*else{ 85 /*else{
69 // propriétaire du fichier 86 // propriétaire du fichier
@@ -78,6 +95,9 @@ class Installation
78 } 95 }
79 } 96 }
80 }*/ 97 }*/
98 if($flag){
99 die;
100 }
81 101
82 // tester les liens internes 102 // tester les liens internes
83 // 103 //