diff options
Diffstat (limited to 'src/service/Installation.php')
| -rw-r--r-- | src/service/Installation.php | 47 |
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 |
