summaryrefslogtreecommitdiff
path: root/controller/installation.php
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2022-02-17 18:13:00 +0100
committerpolo <ordipolo@gmx.fr>2022-02-17 18:13:00 +0100
commit787d03e48471ba62cd830379428f04d996f0b74b (patch)
treee9f98c7b9288c4530b50985688dd82622106ba2d /controller/installation.php
parent29df6f1362745eabf4fbcaedf309eb63795152fa (diff)
downloadmelaine-787d03e48471ba62cd830379428f04d996f0b74b.zip
model update
Diffstat (limited to 'controller/installation.php')
-rw-r--r--controller/installation.php190
1 files changed, 95 insertions, 95 deletions
diff --git a/controller/installation.php b/controller/installation.php
index fc8c900..91521e2 100644
--- a/controller/installation.php
+++ b/controller/installation.php
@@ -1,95 +1,95 @@
1<?php 1<?php
2// premier démarrage du site 2// premier démarrage du site
3function installation() 3function installation()
4{ 4{
5 // les chemins dans le .htaccess seront des chemins relatifs, 5 // les chemins dans le .htaccess seront des chemins relatifs,
6 // la racine dépendant du serveur, donc de l'hébergeur, 6 // la racine dépendant du serveur, donc de l'hébergeur,
7 // par défaut c'est /var/www/ pour debian, etc 7 // par défaut c'est /var/www/ pour debian, etc
8 // c'est /var/www/nom_de_domaine/ avec des hôtes virtuels 8 // c'est /var/www/nom_de_domaine/ avec des hôtes virtuels
9 // on utilisera donc des chemins adaptés à des hôtes virtuels 9 // on utilisera donc des chemins adaptés à des hôtes virtuels
10 10
11 // le nom du serveur sera le nom de domaine tout court 11 // le nom du serveur sera le nom de domaine tout court
12 // la racine sera /var/www/nom_de_domaine 12 // la racine sera /var/www/nom_de_domaine
13 13
14 //echo('document root: ' . $_SERVER['DOCUMENT_ROOT'] . '<br />'); 14 //echo('document root: ' . $_SERVER['DOCUMENT_ROOT'] . '<br />');
15 //echo('server name: ' . $_SERVER['SERVER_NAME'] . '<br /'); 15 //echo('server name: ' . $_SERVER['SERVER_NAME'] . '<br /');
16 // echo('getcwd: ' . getcwd() . '<br />'); 16 // echo('getcwd: ' . getcwd() . '<br />');
17 // echo('dirname: ' . dirname(__FILE__) . '<br />'); 17 // echo('dirname: ' . dirname(__FILE__) . '<br />');
18 // echo('file: ' . __FILE__ . '<br />'); 18 // echo('file: ' . __FILE__ . '<br />');
19 // echo('dir: ' . __DIR__. '<br />'); 19 // echo('dir: ' . __DIR__. '<br />');
20 20
21 //$lien_htaccess = $_SERVER['SERVER_NAME'] . "/.htaccess"; 21 //$lien_htaccess = $_SERVER['SERVER_NAME'] . "/.htaccess";
22 //$nomDuSite = "melaine"; 22 //$nomDuSite = "melaine";
23 23
24 // créer le .htaccess 24 // créer le .htaccess
25 if(!file_exists(".htaccess")) 25 if(!file_exists(".htaccess"))
26 { 26 {
27 echo('<p style="color: red;" >Le .htaccess semble absent ce qui rend le site vulnérable aux attaques, veuillez contacter l\'administrateur.</p>'); 27 echo('<p style="color: red;" >Le .htaccess semble absent ce qui rend le site vulnérable aux attaques, veuillez contacter l\'administrateur.</p>');
28 //$contenu = "# redirection en cas d'erreur 404\nErrorDocument 404 http://" . $_SERVER['SERVER_NAME'] . "/" . $nomDuSite . "/erreur404.php\n# Interdire exploration du répertoire\nOptions All -Indexes"; 28 //$contenu = "# redirection en cas d'erreur 404\nErrorDocument 404 http://" . $_SERVER['SERVER_NAME'] . "/" . $nomDuSite . "/erreur404.php\n# Interdire exploration du répertoire\nOptions All -Indexes";
29 // $fichier = fopen('.htaccess', 'w'); 29 // $fichier = fopen('.htaccess', 'w');
30 // fputs($fichier, $contenu); 30 // fputs($fichier, $contenu);
31 // fclose($fichier); 31 // fclose($fichier);
32 // chmod('.htaccess', 0666); // mettre 0644 en production 32 // chmod('.htaccess', 0666); // mettre 0644 en production
33 } 33 }
34 34
35 // droits en lecture et écriture dans le cas d'une migration 35 // droits en lecture et écriture dans le cas d'une migration
36 // tester si le site est "vide" et prévoir un formulaire permettant d'upload le fichier .zip 36 // tester si le site est "vide" et prévoir un formulaire permettant d'upload le fichier .zip
37 // contenant toutes les données qu'il est possible de créer depuis le mode admin 37 // contenant toutes les données qu'il est possible de créer depuis le mode admin
38 // cette méthode a deux intérêts: 38 // cette méthode a deux intérêts:
39 // - facilité pour l'utilisateur 39 // - facilité pour l'utilisateur
40 // - toutes les données sont la "possession" du serveur apache, 40 // - toutes les données sont la "possession" du serveur apache,
41 // on prévient ainsi tous les futurs problèmes de droits 41 // on prévient ainsi tous les futurs problèmes de droits
42 42
43 // dans le cas de l'utilisation d'une base de données, le fichiers zip devrait contenir un "dump" 43 // dans le cas de l'utilisation d'une base de données, le fichiers zip devrait contenir un "dump"
44 // (un fichier .sql), à voir si php est capable d'obtenir ou redonner ce fichier à la BDD 44 // (un fichier .sql), à voir si php est capable d'obtenir ou redonner ce fichier à la BDD
45 45
46 // créer les dossiers (fait également à l'extraction du zip de données) 46 // créer les dossiers (fait également à l'extraction du zip de données)
47 // attention: ne fonctionne pas sans une manipulation préalable 47 // attention: ne fonctionne pas sans une manipulation préalable
48 // - modifier soit-même les droits du dossier data (777), quoique 111 serait pas mal non plus 48 // - modifier soit-même les droits du dossier data (777), quoique 111 serait pas mal non plus
49 // - modifier ceux du dossier parent (nom du site) avec son client FTP à la mise en ligne chez l'hébergeur et ensuite remettre tout comme avant 49 // - modifier ceux du dossier parent (nom du site) avec son client FTP à la mise en ligne chez l'hébergeur et ensuite remettre tout comme avant
50 50
51 // le 0 devant signifie que le nombre est en octal 51 // le 0 devant signifie que le nombre est en octal
52 $droitsDossiers = 0777; // mettre 0700 à la fin 52 $droitsDossiers = 0777; // mettre 0700 à la fin
53 53
54 $listePages = array('melaine', 'discographie', 'concerts', 'presse', 'ateliers', 'liens', 'peinture', 'archives'); 54 $listePages = array('melaine', 'discographie', 'concerts', 'presse', 'ateliers', 'liens', 'peinture', 'archives');
55 foreach ($listePages as $page) 55 foreach ($listePages as $page)
56 { 56 {
57 if(!file_exists('data/' . $page)) 57 if(!file_exists('data/' . $page))
58 { 58 {
59 mkdir('data/' . $page); 59 mkdir('data/' . $page);
60 chmod('data/' . $page, $droitsDossiers); 60 chmod('data/' . $page, $droitsDossiers);
61 } 61 }
62 if(!file_exists('data/' . $page . '/html')) 62 if(!file_exists('data/' . $page . '/html'))
63 { 63 {
64 mkdir('data/' . $page . '/html'); 64 mkdir('data/' . $page . '/html');
65 chmod('data/' . $page . '/html', $droitsDossiers); 65 chmod('data/' . $page . '/html', $droitsDossiers);
66 } 66 }
67 if(!file_exists('data/' . $page . '/images')) 67 if(!file_exists('data/' . $page . '/images'))
68 { 68 {
69 mkdir('data/' . $page . '/images'); 69 mkdir('data/' . $page . '/images');
70 chmod('data/' . $page . '/images', $droitsDossiers); 70 chmod('data/' . $page . '/images', $droitsDossiers);
71 } 71 }
72 // if(!file_exists('data/' . $page . '/multimedia')) 72 // if(!file_exists('data/' . $page . '/multimedia'))
73 // { 73 // {
74 // mkdir('data/' . $page . '/multimedia'); 74 // mkdir('data/' . $page . '/multimedia');
75 // chmod('data/' . $page . '/multimedia', 0777); 75 // chmod('data/' . $page . '/multimedia', 0777);
76 // } 76 // }
77 } 77 }
78 // dossier supplémentaire dans discographie 78 // dossier supplémentaire dans discographie
79 if(!file_exists('data/discographie/json')) 79 if(!file_exists('data/discographie/json'))
80 { 80 {
81 mkdir('data/discographie/json'); 81 mkdir('data/discographie/json');
82 chmod('data/discographie/json', $droitsDossiers); 82 chmod('data/discographie/json', $droitsDossiers);
83 } 83 }
84 // fichier password.txt 84 // fichier password.txt
85 if(!file_exists('data/password.txt')) 85 if(!file_exists('data/password.txt'))
86 { 86 {
87 touch('data/password.txt'); 87 touch('data/password.txt');
88 chmod('data/password.txt', 0600); 88 chmod('data/password.txt', 0600);
89 } 89 }
90 90
91 // le modèle donnera les droits 0666 (octal) aux nouveaux fichiers à l'intérieur des dossiers 91 // le modèle donnera les droits 0666 (octal) aux nouveaux fichiers à l'intérieur des dossiers
92 92
93 // création d'un mot de passe si password.txt est vide 93 // création d'un mot de passe si password.txt est vide
94 createPassword(); 94 createPassword();
95} 95}