diff options
author | polo <ordipolo@gmx.fr> | 2022-02-17 18:13:00 +0100 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2022-02-17 18:13:00 +0100 |
commit | 787d03e48471ba62cd830379428f04d996f0b74b (patch) | |
tree | e9f98c7b9288c4530b50985688dd82622106ba2d /controller/installation.php | |
parent | 29df6f1362745eabf4fbcaedf309eb63795152fa (diff) | |
download | melaine-787d03e48471ba62cd830379428f04d996f0b74b.zip |
model update
Diffstat (limited to 'controller/installation.php')
-rw-r--r-- | controller/installation.php | 190 |
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 |
3 | function installation() | 3 | function 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 | } |