diff options
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 | } | ||
