Projet

Général

Profil

Competences techniques apache et drupal » Historique » Version 7

Julien Enselme, 29/05/2013 00:26
Réunion des informations à partir de de drupal6 vers drupal 7

1 1 Florent Torregrosa
{{toc}}
2 1 Florent Torregrosa
3 7 Julien Enselme
h1. Compétences techniques apache et drupal
4 1 Florent Torregrosa
5 7 Julien Enselme
h2. Différences majeures entre les distributions
6 1 Florent Torregrosa
7 7 Julien Enselme
apache2 -> httpd
8 7 Julien Enselme
service -> systemctl
9 1 Florent Torregrosa
10 7 Julien Enselme
h2. Installer et configurer Apache, phpmyadmin
11 7 Julien Enselme
12 7 Julien Enselme
# savoir installer un serveur apache et phpmyadmin (dépend de votre système)
13 7 Julien Enselme
# augmenter sa mémoire dédiée
14 7 Julien Enselme
# savoir ajouter/activer des modules pour le serveur apache (notamment le module mod rewrite pour les url-simplifiées) : <code>sudo a2enmod nom_du_module</code>
15 7 Julien Enselme
# avoir drush d'installer (peut-être présent dans les dépôts de votre distributions) et savoir où il est installé : which drush
16 7 Julien Enselme
# augmenter la taille maximale des fichiers pouvant être importés dans phpmyadmin (dans le(s) php.ini, la méthode suivante est basée sur les systèmes basés sur debian. À adapter pour votre système.). Il faut trouver et modifier les lignes suivantes dans /etc/php5/apache2/php.ini et /etc/php5/cli/php.ini
17 7 Julien Enselme
18 7 Julien Enselme
 # <code class="php">memory_limit = 512M;</code>
19 7 Julien Enselme
 # <code class="php">post_max_size = 32M;</code>
20 7 Julien Enselme
 # <code class="php">upload_max_filesize = 32M;</code>
21 7 Julien Enselme
 # <code>service apache2 restart</code>
22 7 Julien Enselme
# savoir recharger la configuration d’apache et le redémarer <code class="bash">service apache2 reload</code> et <code class="bash">service apache2 restart</code>
23 7 Julien Enselme
24 1 Florent Torregrosa
h2. Savoir ajouter/activer des modules pour le serveur apache (notamment le module pour les url-simplifiées)
25 1 Florent Torregrosa
26 1 Florent Torregrosa
* sudo a2enmod mod_rewrite
27 7 Julien Enselme
* sudo a2ensite NOM_DU_SITE
28 1 Florent Torregrosa
29 1 Florent Torregrosa
30 7 Julien Enselme
h2. Savoir installer drush et les bibliothèques php
31 7 Julien Enselme
32 7 Julien Enselme
* si drush est fourni dans les dépôts de votre distribution, l’installer depuis ceux-ci. Si votre distribution fourni également drupal, il peut être intéressant de l’installer également pour avoir la liste des dépendances. L’installation de drupal via drush est la méthode recommandée.
33 1 Florent Torregrosa
* savoir où est installé drush : drush config
34 7 Julien Enselme
* sudo apt-get install curl libcurl3 libcurl3-dev php5-curl
35 1 Florent Torregrosa
36 3 Florent Torregrosa
h2. Pouvoir utiliser un nom de domaine en local
37 1 Florent Torregrosa
38 1 Florent Torregrosa
Quand je vais sur assos.centrale-marseille.fr, c’est mon site local que je vois et non pas celui de centrale.
39 1 Florent Torregrosa
40 1 Florent Torregrosa
Constater qu’en allant sur assos.centrale-marseille.fr on tombe sur la page par defaut de notre apache (la page sur laquelle on tombe dépend de si oui ou non elle a un vhost qui la concerne).
41 1 Florent Torregrosa
42 3 Florent Torregrosa
* Pour les distributions basées sur Debian
43 3 Florent Torregrosa
* Pour Mageia 3
44 3 Florent Torregrosa
* Pour Fedora
45 3 Florent Torregrosa
46 7 Julien Enselme
* Quand je vais sur localhost.d6, c’est le site local qu'on voit : tout simplement ajouter l’entrée suivante dans /etc/hosts
47 7 Julien Enselme
<pre>127.0.0.1  assos.centrale-marseille.fr</pre>
48 7 Julien Enselme
* constater qu’en allant sur assos.centrale-marseille.fr on tombe sur la page par defaut de notre apache (la page sur laquelle on tombe dépend de si oui ou non elle a un vhost qui la concerne). On peut vérifier avec le module Firefox _show ip_ qui donne l’IP du site sur lequel on ait.
49 7 Julien Enselme
50 1 Florent Torregrosa
h2. Pouvoir créer des vhost à la pelle
51 1 Florent Torregrosa
52 1 Florent Torregrosa
Exemple : créer le domaine titi.local
53 1 Florent Torregrosa
54 1 Florent Torregrosa
* Pour les distributions basées sur Debian
55 1 Florent Torregrosa
* Pour Mageia 3
56 1 Florent Torregrosa
* Pour Fedora
57 1 Florent Torregrosa
58 7 Julien Enselme
* Exemple : créer deux domaines assos.fun.local et titi.local
59 7 Julien Enselme
Exemple pour titi.local :
60 7 Julien Enselme
61 7 Julien Enselme
* dans /etc/apache2/sites-available/ créer un fichier titi. Le contenu de titi est :
62 7 Julien Enselme
63 7 Julien Enselme
<pre>
64 7 Julien Enselme
<VirtualHost *:80>
65 7 Julien Enselme
       ServerAdmin webmaster@localhost
66 7 Julien Enselme
       ServerName titi.local
67 7 Julien Enselme
       ServerAlias titi.local
68 7 Julien Enselme
69 7 Julien Enselme
       DocumentRoot /chemin/dossier_site
70 7 Julien Enselme
71 7 Julien Enselme
       <Directory /chemin/dossier_site/>
72 7 Julien Enselme
               Options Indexes FollowSymLinks MultiViews
73 7 Julien Enselme
               AllowOverride All
74 7 Julien Enselme
               Order allow,deny
75 7 Julien Enselme
               allow from all
76 7 Julien Enselme
       </Directory>
77 7 Julien Enselme
78 7 Julien Enselme
       ErrorLog ${APACHE_LOG_DIR}/titi.error.log
79 7 Julien Enselme
80 7 Julien Enselme
       # Possible values include: debug, info, notice, warn, error, crit,
81 7 Julien Enselme
       # alert, emerg.
82 7 Julien Enselme
       LogLevel warn
83 7 Julien Enselme
84 7 Julien Enselme
       CustomLog ${APACHE_LOG_DIR}/titi.access.log combined
85 7 Julien Enselme
</VirtualHost>
86 7 Julien Enselme
</pre>
87 7 Julien Enselme
88 7 Julien Enselme
* créer le fichier test.html dans /chemin/dossier_site  et mettre dedans <pre><h1>TITI</h1></pre>
89 7 Julien Enselme
* ajouter un lien symbolique dans /etc/apache2/sites-enabled qui pointe sur le fichiet titi qui est dans /etc/apache2/sites-available/
90 7 Julien Enselme
91 7 Julien Enselme
 * <code>cd /etc/apache2/sites-enabled/</code>
92 7 Julien Enselme
 * <code>ln -s ../sites-available/titi .</code>
93 7 Julien Enselme
* ajouter l’entrée titi.local dans le fichier /etc/hosts
94 7 Julien Enselme
<pre>
95 7 Julien Enselme
127.0.0.1        titi.local
96 7 Julien Enselme
</pre>
97 7 Julien Enselme
98 7 Julien Enselme
* Redémarrer apache : <code>sudo service apache2 restart</code>
99 7 Julien Enselme
* Consulter  titi.local/test.html
100 7 Julien Enselme
101 1 Florent Torregrosa
h2. Pouvoir reproduire en local un site en particulier
102 1 Florent Torregrosa
103 7 Julien Enselme
h3. Par Florent
104 7 Julien Enselme
105 1 Florent Torregrosa
* pouvoir télécharger en local juste le minimum de fichiers
106 1 Florent Torregrosa
* le minimum c’est tout le htmltest sauf le dossier sites
107 1 Florent Torregrosa
* dans sites/ il faut ne prendre que le dossier default et le dossier du site qui nous concerne.
108 1 Florent Torregrosa
* pouvoir se démerder (script ou suite de ligne de commande ou …) pour pouvoir faire ça efficacement (une suite de commande scp n’est pas une mauvaise idée)
109 1 Florent Torregrosa
* rsync -lr --exclude nom_fichier_ou_dossier_a_exclure assos@sas1.centrale-marseille.fr:chemin_vers_dossier/* .
110 1 Florent Torregrosa
* sur sa machine se faire un dossier d6 et un dossier d7
111 1 Florent Torregrosa
112 1 Florent Torregrosa
* exemple dans d6 :
113 1 Florent Torregrosa
<pre>
114 1 Florent Torregrosa
cd d6
115 1 Florent Torregrosa
rsync -lr --exclude sites assos@sas1.centrale-marseille.fr:html/* .
116 1 Florent Torregrosa
mkdir sites
117 1 Florent Torregrosa
cd sites
118 1 Florent Torregrosa
rsync -lr assos@sas1.centrale-marseille.fr:html/sites/default .
119 1 Florent Torregrosa
rsync -lr assos@sas1.centrale-marseille.fr:html/sites/assos.centrale-marseille.fr.annales . (étape longue)
120 1 Florent Torregrosa
</pre>
121 1 Florent Torregrosa
122 7 Julien Enselme
h3. Par Jenselme
123 7 Julien Enselme
124 7 Julien Enselme
* pouvoir télécharger en local juste le minimum de fichiers. Le minimum c’est :
125 7 Julien Enselme
126 7 Julien Enselme
 * tout le htmltest sauf le dossier sites
127 7 Julien Enselme
 * dans sites/ il faut ne prendre que le dossier default et le dossier du site qui nous concerne.
128 7 Julien Enselme
 * pouvoir se démerder (script ou suite de ligne de commande ou …) pour pouvoir faire ça efficacement (une suite de commande scp ou rsync n’est pas une mauvaise idée)
129 7 Julien Enselme
130 7 Julien Enselme
  * sur sa machine : se faire un dossier d6 et un dossier d7
131 7 Julien Enselme
  * <code>cd d6</code>
132 7 Julien Enselme
  * _Exemple pour le site des annales, à apapter_ : <code>rsync -lr --exclude sites assos@sas1.centrale-marseille.fr:html/* .</code>
133 7 Julien Enselme
  * <code>mkdir sites</code>
134 7 Julien Enselme
  * <code>cd sites</code>
135 7 Julien Enselme
  * <code>rsync -lr assos@sas1.centrale-marseille.fr:html/sites/default .</code>
136 7 Julien Enselme
  * <code>rsync -lr assos@sas1.centrale-marseille.fr:html/sites/assos.centrale-marseille.fr.annales .</code> (étape longue)
137 7 Julien Enselme
138 1 Florent Torregrosa
h2. Pouvoir télécharger la base de donnée d’un seul site en particulier
139 2 Florent Torregrosa
140 1 Florent Torregrosa
* savoir faire ça avec phpmyadmin, dans phpmyadmin :
141 1 Florent Torregrosa
> * exporter
142 1 Florent Torregrosa
> * options personnalisées
143 1 Florent Torregrosa
> * choisir que les tables qui vous intéressent
144 1 Florent Torregrosa
> * laisser les autres options
145 1 Florent Torregrosa
> * enregistrer
146 1 Florent Torregrosa
> * ça enregistre dans votre dossier de téléchargements sur votre machine
147 2 Florent Torregrosa
148 1 Florent Torregrosa
* savoir le faire avec drush car parfois le fichier téléchargé par phpmyadmin est trop gros
149 1 Florent Torregrosa
150 1 Florent Torregrosa
> * sur le sas :
151 7 Julien Enselme
> > <pre>dump_site annales (pour une base de données isolée, se placer dans le dossier du site puis drush sql-dump > nom_du_fichier.sql)
152 1 Florent Torregrosa
cd Desktop/dump_individuels</pre>
153 4 Florent Torregrosa
154 1 Florent Torregrosa
> * sur sa machine :
155 1 Florent Torregrosa
> > </pre>@scp assos@sas1.centrale-marseille.fr:Desktop/dump_individuels/annales....</pre>
156 1 Florent Torregrosa
157 1 Florent Torregrosa
h2. Monter un site en local
158 1 Florent Torregrosa
159 1 Florent Torregrosa
* monter un seul vhost pour assos.centrale-marseille.fr (il sera valable pour tous les sous sites, il ne sera jamais édité)
160 1 Florent Torregrosa
* télécharger les fichiers et la base de donnée du site en question
161 1 Florent Torregrosa
* injecter la dbb en local (utiliser le phpmyadmin en local ou sudo mysql -u root -pmotdepasse nomdelabase < fichier.sql)
162 7 Julien Enselme
* modifier le settings.php du site en question pour donner les informations de connection mysql et modifier $base_url
163 7 Julien Enselme
* pour aller plus vite, renommer le dossier du site en default
164 1 Florent Torregrosa
165 1 Florent Torregrosa
h2. Installer le script drush de mise à jour http://drupal.org/project/drush_sup
166 1 Florent Torregrosa
167 1 Florent Torregrosa
* suivre la procédure d’installation
168 1 Florent Torregrosa
* critère de validation : la commande suivante marche : drush sup
169 1 Florent Torregrosa
170 1 Florent Torregrosa
h2. Exécuter correctement le script de mise à jour
171 1 Florent Torregrosa
172 1 Florent Torregrosa
* lire la doc de drush sup
173 1 Florent Torregrosa
* exécuter drush sup avec les bons arguments
174 7 Julien Enselme
175 7 Julien Enselme
h2. Alias drush
176 7 Julien Enselme
177 7 Julien Enselme
178 7 Julien Enselme
TODO (dans la doc drush ?)
179 7 Julien Enselme
installer dom, xml (paquet php)
180 1 Florent Torregrosa
181 3 Florent Torregrosa
h1. Annexe : Nom de domaine
182 1 Florent Torregrosa
183 5 Julien Enselme
Normalement, toutes les unix reposent sur le même principe. Ajouter l’entrée suivante dans /etc/hosts : @127.0.0.1  assos.centrale-marseille.fr@
184 1 Florent Torregrosa
185 3 Florent Torregrosa
h1. Annexe : Vhosts
186 1 Florent Torregrosa
187 1 Florent Torregrosa
h2. Pour les distributions basées sous Debian
188 1 Florent Torregrosa
189 3 Florent Torregrosa
* Dans /etc/apache2/sites-available/ créer un fichier titi dont le contenu est :
190 3 Florent Torregrosa
<pre>
191 3 Florent Torregrosa
<VirtualHost *:80>
192 3 Florent Torregrosa
    ServerAdmin webmaster@localhost
193 3 Florent Torregrosa
    ServerName titi.local
194 3 Florent Torregrosa
    ServerAlias titi.local
195 2 Florent Torregrosa
196 3 Florent Torregrosa
    DocumentRoot /chemin/dossier_site
197 1 Florent Torregrosa
198 3 Florent Torregrosa
    <Directory /chemin/dossier_site/>
199 3 Florent Torregrosa
        Options Indexes FollowSymLinks MultiViews
200 3 Florent Torregrosa
        AllowOverride All
201 3 Florent Torregrosa
        Order allow,deny
202 3 Florent Torregrosa
        allow from all
203 3 Florent Torregrosa
    </Directory>
204 3 Florent Torregrosa
205 3 Florent Torregrosa
    ErrorLog ${APACHE_LOG_DIR}/titi.error.log
206 3 Florent Torregrosa
207 3 Florent Torregrosa
    # Possible values include: debug, info, notice, warn, error, crit,
208 3 Florent Torregrosa
    # alert, emerg.
209 3 Florent Torregrosa
    LogLevel warn
210 3 Florent Torregrosa
211 3 Florent Torregrosa
    CustomLog ${APACHE_LOG_DIR}/titi.access.log combined
212 3 Florent Torregrosa
213 3 Florent Torregrosa
</VirtualHost>
214 3 Florent Torregrosa
</pre>
215 3 Florent Torregrosa
* créer le fichier test.html dans /chemin/dossier_site et mettre dedans @<h1>TITI</h1>@
216 3 Florent Torregrosa
* ajouter un lien symbolique dans /etc/apache2/sites-enabled qui pointe sur le fichier titi qui est dans /etc/apache2/sites-available/ :
217 3 Florent Torregrosa
> * Manuellement :
218 4 Florent Torregrosa
> <pre>
219 3 Florent Torregrosa
cd /etc/apache2/sites-enabled/
220 3 Florent Torregrosa
ln -s ../sites-available/titi .
221 3 Florent Torregrosa
</pre>
222 3 Florent Torregrosa
> * Avec la commande apache :
223 4 Florent Torregrosa
> <pre>
224 3 Florent Torregrosa
sudo service a2ensite titi
225 3 Florent Torregrosa
</pre>
226 3 Florent Torregrosa
* ajouter l’entrée titi.local dans le fichier /etc/hosts :
227 1 Florent Torregrosa
<pre>
228 1 Florent Torregrosa
@127.0.0.1        titi.local@
229 3 Florent Torregrosa
</pre>
230 4 Florent Torregrosa
* restart apache
231 3 Florent Torregrosa
<pre>
232 4 Florent Torregrosa
sudo service apache2 restart
233 1 Florent Torregrosa
</pre>
234 1 Florent Torregrosa
* consulter  titi.local/test.html
235 1 Florent Torregrosa
236 1 Florent Torregrosa
h2. Pour Mageia 3
237 4 Florent Torregrosa
238 4 Florent Torregrosa
{{warning(la partie pour mageia permet pour l'instant d'atteindre le site via localhost/nom_du_site, pas encore bien connecté avec le fichier Hosts)}}
239 4 Florent Torregrosa
240 4 Florent Torregrosa
* Dans /etc/httpd/conf/sites.d/ créer un fichier nom_du_fichier.conf dont le contenu est :
241 4 Florent Torregrosa
<pre>
242 4 Florent Torregrosa
# Drupal configuration
243 4 Florent Torregrosa
Alias /nom_du_site /chemin/dossier_site
244 4 Florent Torregrosa
245 4 Florent Torregrosa
<Directory /chemin/dossier_site/>
246 4 Florent Torregrosa
   Require local granted
247 4 Florent Torregrosa
   Options -Indexes +FollowSymlinks +Multiviews
248 4 Florent Torregrosa
   AllowOverride None
249 4 Florent Torregrosa
250 4 Florent Torregrosa
    # Protect files and directories from prying eyes.
251 4 Florent Torregrosa
    <FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$">
252 4 Florent Torregrosa
      Order allow,deny
253 4 Florent Torregrosa
    </FilesMatch>
254 4 Florent Torregrosa
255 4 Florent Torregrosa
    # Don't show directory listings for URLs which map to a directory.
256 4 Florent Torregrosa
    Options -Indexes
257 4 Florent Torregrosa
258 4 Florent Torregrosa
    # Follow symbolic links in this directory.
259 4 Florent Torregrosa
    Options +FollowSymLinks
260 4 Florent Torregrosa
261 4 Florent Torregrosa
    # Make Drupal handle any 404 errors.
262 4 Florent Torregrosa
    ErrorDocument 404 /index.php
263 4 Florent Torregrosa
264 4 Florent Torregrosa
    # Set the default handler.
265 4 Florent Torregrosa
    DirectoryIndex index.php index.html index.htm
266 4 Florent Torregrosa
267 4 Florent Torregrosa
    # Override PHP settings that cannot be changed at runtime. See
268 4 Florent Torregrosa
    # sites/default/default.settings.php and drupal_environment_initialize() in
269 4 Florent Torregrosa
    # includes/bootstrap.inc for settings that can be changed at runtime.
270 4 Florent Torregrosa
271 4 Florent Torregrosa
    # PHP 5, Apache 1 and 2.
272 4 Florent Torregrosa
    <IfModule mod_php5.c>
273 4 Florent Torregrosa
        php_flag magic_quotes_gpc                 off
274 4 Florent Torregrosa
        php_flag magic_quotes_sybase              off
275 4 Florent Torregrosa
        php_flag register_globals                 off
276 4 Florent Torregrosa
        php_flag session.auto_start               off
277 4 Florent Torregrosa
        php_value mbstring.http_input             pass
278 4 Florent Torregrosa
        php_value mbstring.http_output            pass
279 4 Florent Torregrosa
        php_flag mbstring.encoding_translation    off
280 4 Florent Torregrosa
    </IfModule>
281 4 Florent Torregrosa
282 4 Florent Torregrosa
    # Requires mod_expires to be enabled.
283 4 Florent Torregrosa
    <IfModule mod_expires.c>
284 4 Florent Torregrosa
        # Enable expirations.
285 4 Florent Torregrosa
        ExpiresActive On
286 4 Florent Torregrosa
287 4 Florent Torregrosa
        # Cache all files for 2 weeks after access (A).
288 4 Florent Torregrosa
        ExpiresDefault A1209600
289 4 Florent Torregrosa
290 4 Florent Torregrosa
        <FilesMatch \.php$>
291 4 Florent Torregrosa
            # Do not allow PHP scripts to be cached unless they explicitly send
292 4 Florent Torregrosa
            # cache headers themselves. Otherwise all scripts would have to 
293 4 Florent Torregrosa
            # overwrite the headers set by mod_expires if they want another 
294 4 Florent Torregrosa
            # caching behavior. This may fail if an error occurs early in the
295 4 Florent Torregrosa
            # bootstrap process, and it may cause problems if a non-Drupal PHP
296 4 Florent Torregrosa
            # file is installed in a subdirectory.
297 4 Florent Torregrosa
            ExpiresActive Off
298 4 Florent Torregrosa
        </FilesMatch>
299 4 Florent Torregrosa
    </IfModule>
300 4 Florent Torregrosa
301 4 Florent Torregrosa
    # Various rewrite rules.
302 4 Florent Torregrosa
    <IfModule mod_rewrite.c>
303 4 Florent Torregrosa
        RewriteEngine on
304 4 Florent Torregrosa
305 4 Florent Torregrosa
        # Block access to "hidden" directories whose names begin with a period.
306 4 Florent Torregrosa
        # This includes directories used by version control systems such as
307 4 Florent Torregrosa
        # Subversion or Git to store control files. Files whose names begin with
308 4 Florent Torregrosa
        # a period, as well as the control files used by CVS, are protected by 
309 4 Florent Torregrosa
        # the FilesMatch directive above.
310 4 Florent Torregrosa
        #
311 4 Florent Torregrosa
        # NOTE: This only works when mod_rewrite is loaded. Without mod_rewrite,
312 4 Florent Torregrosa
        # it is not possible to block access to entire directories from 
313 4 Florent Torregrosa
        # .htaccess, because <DirectoryMatch> is not allowed here.
314 4 Florent Torregrosa
        #
315 4 Florent Torregrosa
        # If you do not have mod_rewrite installed, you should remove these
316 4 Florent Torregrosa
        # directories from your webroot or otherwise protect them from being
317 4 Florent Torregrosa
        # downloaded.
318 4 Florent Torregrosa
        RewriteRule "(^|/)\." - [F]
319 4 Florent Torregrosa
320 4 Florent Torregrosa
        # If your site can be accessed both with and without the 'www.' prefix,
321 4 Florent Torregrosa
        # you can use one of the following settings to redirect users to your
322 4 Florent Torregrosa
        # preferred URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY
323 4 Florent Torregrosa
        # one option: 
324 4 Florent Torregrosa
        # To redirect all users to access the site WITH the 'www.' prefix,
325 4 Florent Torregrosa
        # (http://example.com/... will be redirected to http://www.example.com/...)
326 4 Florent Torregrosa
        # uncomment the following:
327 4 Florent Torregrosa
        # RewriteCond %{HTTP_HOST} !^www\. [NC]
328 4 Florent Torregrosa
        # RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
329 4 Florent Torregrosa
        #
330 4 Florent Torregrosa
        # To redirect all users to access the site WITHOUT the 'www.' prefix,
331 4 Florent Torregrosa
        # (http://www.example.com/... will be redirected to http://example.com/...)
332 4 Florent Torregrosa
        # uncomment the following:
333 4 Florent Torregrosa
        # RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
334 4 Florent Torregrosa
        # RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
335 4 Florent Torregrosa
336 4 Florent Torregrosa
        # Modify the RewriteBase if you are using Drupal in a subdirectory or in a
337 4 Florent Torregrosa
        # VirtualDocumentRoot and the rewrite rules are not working properly.
338 4 Florent Torregrosa
        # For example if your site is at http://example.com/drupal uncomment and
339 4 Florent Torregrosa
        # modify the following line:
340 4 Florent Torregrosa
        RewriteBase /nom_du_site
341 4 Florent Torregrosa
        #
342 4 Florent Torregrosa
        # If your site is running in a VirtualDocumentRoot at http://example.com/,
343 4 Florent Torregrosa
        # uncomment the following line:
344 4 Florent Torregrosa
        # RewriteBase /
345 4 Florent Torregrosa
346 4 Florent Torregrosa
        # Pass all requests not referring directly to files in the filesystem to
347 4 Florent Torregrosa
        # index.php. Clean URLs are handled in drupal_environment_initialize().
348 4 Florent Torregrosa
        RewriteCond %{REQUEST_FILENAME} !-f
349 4 Florent Torregrosa
        RewriteCond %{REQUEST_FILENAME} !-d
350 4 Florent Torregrosa
        RewriteCond %{REQUEST_URI} !=/favicon.ico
351 4 Florent Torregrosa
        RewriteRule ^ index.php [L]
352 4 Florent Torregrosa
353 4 Florent Torregrosa
        # Rules to correctly serve gzip compressed CSS and JS files.
354 4 Florent Torregrosa
        # Requires both mod_rewrite and mod_headers to be enabled.
355 4 Florent Torregrosa
        <IfModule mod_headers.c>
356 4 Florent Torregrosa
        # Serve gzip compressed CSS files if they exist and the client accepts gzip.
357 4 Florent Torregrosa
        RewriteCond %{HTTP:Accept-encoding} gzip
358 4 Florent Torregrosa
        RewriteCond %{REQUEST_FILENAME}\.gz -s
359 4 Florent Torregrosa
        RewriteRule ^(.*)\.css $1\.css\.gz [QSA]
360 4 Florent Torregrosa
361 4 Florent Torregrosa
        # Serve gzip compressed JS files if they exist and the client accepts gzip.
362 4 Florent Torregrosa
        RewriteCond %{HTTP:Accept-encoding} gzip
363 4 Florent Torregrosa
        RewriteCond %{REQUEST_FILENAME}\.gz -s
364 4 Florent Torregrosa
        RewriteRule ^(.*)\.js $1\.js\.gz [QSA]
365 4 Florent Torregrosa
366 4 Florent Torregrosa
        # Serve correct content types, and prevent mod_deflate double gzip.
367 4 Florent Torregrosa
        RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
368 4 Florent Torregrosa
        RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]
369 4 Florent Torregrosa
370 4 Florent Torregrosa
        <FilesMatch "(\.js\.gz|\.css\.gz)$">
371 4 Florent Torregrosa
            # Serve correct encoding type.
372 4 Florent Torregrosa
            Header set Content-Encoding gzip
373 4 Florent Torregrosa
            # Force proxies to cache gzipped & non-gzipped css/js files 
374 4 Florent Torregrosa
            # separately.
375 4 Florent Torregrosa
            Header append Vary Accept-Encoding
376 4 Florent Torregrosa
        </FilesMatch>
377 4 Florent Torregrosa
        </IfModule>
378 4 Florent Torregrosa
    </IfModule>
379 4 Florent Torregrosa
380 4 Florent Torregrosa
</Directory>
381 4 Florent Torregrosa
</pre>
382 4 Florent Torregrosa
{{tip(Pour ce fichier de configuration, se baser sur celui fournit par Mageia lors de l'installation d'un Drupal depuis la logithèque de Mageia.)}}
383 4 Florent Torregrosa
384 4 Florent Torregrosa
* créer un dossier (avec un Drupal dedans) appelé dossier_site dans /chemin/
385 4 Florent Torregrosa
* restart apache
386 4 Florent Torregrosa
<pre>
387 4 Florent Torregrosa
sudo service httpd stop
388 4 Florent Torregrosa
sudo service httpd start
389 4 Florent Torregrosa
</pre>
390 4 Florent Torregrosa
391 4 Florent Torregrosa
* consulter  localhost/nom_du_site
392 4 Florent Torregrosa
393 2 Florent Torregrosa
394 2 Florent Torregrosa
h2. Pour Fedora