diff options
author | polo <ordipolo@gmx.fr> | 2021-04-20 21:46:33 +0200 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2021-04-20 21:46:33 +0200 |
commit | 87798e5554eb0330cd2de255e5034f0472d410a4 (patch) | |
tree | acd9e26a7d912c7575cb6dd1c7b42cc3e9f52993 /controller/installation.php | |
download | melaine-87798e5554eb0330cd2de255e5034f0472d410a4.zip |
mot de passe
Diffstat (limited to 'controller/installation.php')
-rw-r--r-- | controller/installation.php | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/controller/installation.php b/controller/installation.php new file mode 100644 index 0000000..f7d42fc --- /dev/null +++ b/controller/installation.php | |||
@@ -0,0 +1,75 @@ | |||
1 | <?php | ||
2 | // premier démarrage du site | ||
3 | function installation() | ||
4 | { | ||
5 | // les chemins dans le .htaccess seront des chemins relatifs, | ||
6 | // la racine dépendant du serveur, donc de l'hébergeur, | ||
7 | // par défaut c'est /var/www/ pour debian, etc | ||
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 | ||
10 | |||
11 | // le nom du serveur sera le nom de domaine tout court | ||
12 | // la racine sera /var/www/nom_de_domaine | ||
13 | |||
14 | //echo('document root: ' . $_SERVER['DOCUMENT_ROOT'] . '<br />'); | ||
15 | //echo('server name: ' . $_SERVER['SERVER_NAME'] . '<br /'); | ||
16 | // echo('getcwd: ' . getcwd() . '<br />'); | ||
17 | // echo('dirname: ' . dirname(__FILE__) . '<br />'); | ||
18 | // echo('file: ' . __FILE__ . '<br />'); | ||
19 | // echo('dir: ' . __DIR__. '<br />'); | ||
20 | |||
21 | // créer le .htaccess | ||
22 | //$lien_htaccess = $_SERVER['SERVER_NAME'] . "/.htaccess"; | ||
23 | //$nomDuSite = "melaine"; | ||
24 | if(!file_exists(".htaccess")) | ||
25 | { | ||
26 | echo('<p style="color: red;" >Le .htaccess semble absent ce qui rend le site vulnérable aux attaques, veuillez contacter l\'administrateur.</p>'); | ||
27 | // $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 | // $fichier = fopen('.htaccess', 'w'); | ||
29 | // fputs($fichier, $contenu); | ||
30 | // fclose($fichier); | ||
31 | // chmod('.htaccess', 0666); // mettre 0644 en production | ||
32 | } | ||
33 | |||
34 | // droits en lecture et écriture dans le cas d'une migration | ||
35 | // tester si le site est "vide" et prévoir un formulaire permettant d'upload le fichier .zip | ||
36 | // contenant toutes les données qu'il est possible de créer depuis le mode admin | ||
37 | // cette méthode a deux intérêts: | ||
38 | // - facilité pour l'utilisateur | ||
39 | // - toutes les données sont la "possession" du serveur apache, | ||
40 | // on prévient ainsi tous les futurs problèmes de droits | ||
41 | |||
42 | // dans le cas de l'utilisation d'une base de données, le fichiers zip devrait contenir un "dump" | ||
43 | // (un fichier .sql), à voir si php est capable d'obtenir ou redonner ce fichier à la BDD | ||
44 | |||
45 | // créer les dossiers (fait également à l'extraction du zip de données) | ||
46 | // attention: ne fonctionne pas sans une manipulation préalable | ||
47 | // - modifier soit-même les droits du dossier data (777), quoique 111 serait pas mal non plus | ||
48 | // - 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 | |||
50 | $listePages = array('melaine'); | ||
51 | foreach ($listePages as $page) | ||
52 | { | ||
53 | if(!file_exists('data/' . $page)) | ||
54 | { | ||
55 | mkdir('data/' . $page); | ||
56 | chmod('data/' . $page, 0777); | ||
57 | } | ||
58 | if(!file_exists('data/' . $page . '/html')) | ||
59 | { | ||
60 | mkdir('data/' . $page . '/html'); | ||
61 | chmod('data/' . $page . '/html', 0777); | ||
62 | } | ||
63 | if(!file_exists('data/' . $page . '/images')) | ||
64 | { | ||
65 | mkdir('data/' . $page . '/images'); | ||
66 | chmod('data/' . $page . '/images', 0777); | ||
67 | } | ||
68 | // if(!file_exists('data/' . $page . '/multimedia')) | ||
69 | // { | ||
70 | // mkdir('data/' . $page . '/multimedia'); | ||
71 | // chmod('data/' . $page . '/multimedia', 0777); | ||
72 | // } | ||
73 | } | ||
74 | // donner les droits 666 aux fichiers à l'intérieur | ||
75 | } | ||