Projet

Général

Profil

Site local » Historique » Version 6

Julien Enselme, 14/02/2014 23:06

1 1 Julien Enselme
{{important(Vous devez être à l'aise avec les notions expliquées [[Competences_techniques_apache_et_drupal|ici]] avant de lire ce document)}}
2 1 Julien Enselme
3 1 Julien Enselme
{{note(Les commandes seront données pour Fedora. Adaptez à votre distribution.)}}
4 1 Julien Enselme
5 1 Julien Enselme
{{>toc}}
6 1 Julien Enselme
7 1 Julien Enselme
h1. Modifier le host
8 1 Julien Enselme
9 1 Julien Enselme
Les sites sont hébergés sur le sous-domaine assos.local. Ajoutez donc la ligne @127.0.0.1 assos.local@ à /etc/hosts.
10 1 Julien Enselme
11 1 Julien Enselme
h1. Préparer Apache
12 1 Julien Enselme
13 1 Julien Enselme
Dans toute la suite _DIR_ASSOS_ sera à remplacer par le chemin vers le dossiers contenant l'installation Drupal.
14 1 Julien Enselme
15 1 Julien Enselme
h2. Activer les userdirs
16 1 Julien Enselme
17 1 Julien Enselme
Par défaut, Apache ne peux pas aller dans les dossiers utilisateurs. Il faut les activer. Cela se passe dans le fichier de configuration principal de Apache. Ouvrez @/etc/http/conf.d/userdir.conf@ et remplacez @UserDir disabled@ par @UserDir enabled@.
18 1 Julien Enselme
19 1 Julien Enselme
h2. Créer le bon vhost
20 1 Julien Enselme
21 1 Julien Enselme
h3. Apache 2.2
22 1 Julien Enselme
23 1 Julien Enselme
<pre>
24 1 Julien Enselme
<code class="xml">
25 1 Julien Enselme
<VirtualHost *:80>
26 1 Julien Enselme
       ServerAdmin webmaster@localhost
27 1 Julien Enselme
       ServerAlias fedora
28 1 Julien Enselme
29 1 Julien Enselme
       <Directory DIR_ASSOS>
30 1 Julien Enselme
               Options Indexes FollowSymLinks MultiViews
31 1 Julien Enselme
               AllowOverride All
32 1 Julien Enselme
               Order allow,deny
33 1 Julien Enselme
               allow from all
34 1 Julien Enselme
       </Directory>
35 1 Julien Enselme
36 1 Julien Enselme
       # Possible values include: debug, info, notice, warn, error, crit,
37 1 Julien Enselme
       # alert, emerg.
38 1 Julien Enselme
       LogLevel warn
39 1 Julien Enselme
40 1 Julien Enselme
</VirtualHost>
41 1 Julien Enselme
</code>
42 1 Julien Enselme
</pre>
43 1 Julien Enselme
44 1 Julien Enselme
h3. Apache 2.4
45 1 Julien Enselme
46 1 Julien Enselme
La configuration d'Apache 2.4 est légèrement différente de celle de la version 2.2.
47 1 Julien Enselme
48 1 Julien Enselme
<pre>
49 1 Julien Enselme
<code class="xml">
50 1 Julien Enselme
<VirtualHost *:80>
51 1 Julien Enselme
       ServerAdmin webmaster@localhost
52 1 Julien Enselme
       ServerName assos.local
53 1 Julien Enselme
       ServerAlias assos.local
54 1 Julien Enselme
55 1 Julien Enselme
       DocumentRoot DIR_ASSOS
56 1 Julien Enselme
57 1 Julien Enselme
       <Directory DIR_ASSOS>
58 1 Julien Enselme
               Options Indexes FollowSymLinks MultiViews
59 1 Julien Enselme
               AllowOverride All
60 1 Julien Enselme
               Require all granted
61 1 Julien Enselme
       </Directory>
62 1 Julien Enselme
63 1 Julien Enselme
       # Possible values include: debug, info, notice, warn, error, crit,
64 1 Julien Enselme
       # alert, emerg.
65 1 Julien Enselme
       LogLevel warn
66 1 Julien Enselme
67 1 Julien Enselme
</VirtualHost>
68 1 Julien Enselme
</code>
69 1 Julien Enselme
</pre>
70 1 Julien Enselme
71 1 Julien Enselme
{{tip(Pensez à relancer Apache après ces modifications)}}
72 1 Julien Enselme
73 6 Julien Enselme
h1. Préparer mysql
74 6 Julien Enselme
75 6 Julien Enselme
Par défaut, mysql n'autorise pas les requêtes trop importantes ce qui peut conduire à l'erreur _MySQL server has gone away_ côté Drupal. Ajouter ou modifier @max_allowed_packet=16M@ à votre /etc/my.cnf
76 6 Julien Enselme
77 1 Julien Enselme
h1. Settings.php
78 1 Julien Enselme
79 1 Julien Enselme
Mettez les bonnes valeurs dans settings.local.php.
80 1 Julien Enselme
81 1 Julien Enselme
h1. sites.php
82 1 Julien Enselme
83 1 Julien Enselme
Remplacer assos.centrale-marseille.fr par assos.local sur la ligne du site choisi.
84 1 Julien Enselme
85 1 Julien Enselme
h1. Permissions
86 1 Julien Enselme
87 3 Julien Enselme
Vérifier que le serveur Apache a les bonnes permissions, ie qu'il peut accéder au dossier sans problème. Faîtes des @chmod 711@ sur les dossiers qu'il doit traverser, @chmod -R 755 DOSSIER_DU_SITE@, @chmod -R 777 FILES@.
88 1 Julien Enselme
89 5 Julien Enselme
Si vous utilisez SELinux, pensez à le désactiver avec @sudo setenforce 0@ ou à modifier le contexte du dossier drupal avec @sudo chcon -t httpd_sys_content_t public_html@.
90 5 Julien Enselme
91 4 Julien Enselme
{{important(Les permissions des dossiers et fichiers sont trop permissives mais évitent les erreurs. À améliorer.)}}
92 4 Julien Enselme
93 1 Julien Enselme
h1. Le script
94 1 Julien Enselme
95 1 Julien Enselme
Il existe un script qui synchronise et fait ces opérations pour vous : source:other-scripts/d7-sync.sh. Il ne supporte pas encore correctement le sites.php. Lorsqu'on se connecte au site, la page est blanche.
96 1 Julien Enselme
97 1 Julien Enselme
h1. Sources externes
98 1 Julien Enselme
99 1 Julien Enselme
* http://fedoraphprails.blogspot.fr/2009/08/how-to-set-up-apache-user-home.html
100 1 Julien Enselme
* http://httpd.apache.org/docs/2.4/upgrading.html