Projet

Général

Profil

Competences techniques apache et drupal » Historique » Version 9

Julien Enselme, 29/05/2013 01:02
# -> *

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