Incrementare le prestazioni di Apache con mod pagespeed: differenze tra le versioni

Parziale riscrittura per buster e bullseye, rimosso supporto per versione < debian 9
mNessun oggetto della modifica
(Parziale riscrittura per buster e bullseye, rimosso supporto per versione < debian 9)
Riga 1: Riga 1:
{{Versioni compatibili|Squeeze|Wheezy|Jessie|Stretch|Buster}}
{{Versioni compatibili|Stretch|Buster|Bullseye}}
__TOC__
__TOC__
==Introduzione==
==Introduzione==
Riga 9: Riga 9:
<br />
<br />
https://developers.google.com/speed/pagespeed/module<br />
https://developers.google.com/speed/pagespeed/module<br />
Una volta scaricata l'ultima versione del pacchetto:<ref>[https://www.modpagespeed.com/doc/download] Pagina di installazione </ref>
Una volta scaricata l'ultima versione del pacchetto:<ref>[https://www.modpagespeed.com/doc/download pagina per il download] </ref>
<pre>
<pre>
# wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb
# wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb
Riga 25: Riga 25:
Gdebi è comunque consigliato perché scarica e prova a installare le dipendenze prima di installare il pacchetto.
Gdebi è comunque consigliato perché scarica e prova a installare le dipendenze prima di installare il pacchetto.
}}
}}
Quindi abilitiamo il modulo e riavviamo Apache.
Il modulo sarà abilitato automaticamente su Apache, ma per attivarlo è necessario riavviare Apache con
*Fino a Jessie:
<pre>
# a2enmod pagespeed
# /etc/init.d/apache2 restart
</pre>
*Da Stretch:
<pre>
<pre>
# systemctl reload apache2
# systemctl reload apache2
</pre>
</pre>
L'installazione configura anche un file all'interno della directory <code>/etc/apt/sources.list.d</code>, abilitando un [[repository]] esterno per gli aggiornamenti automatici del modulo.
L'installazione configura anche un file all'interno della directory <code>/etc/apt/sources.list.d</code>, abilitando un [[repository]] esterno per gli aggiornamenti automatici del modulo.
==Configurazione==
 
{{Suggerimento|Nel caso in cui un <code>apt-get update</code> vi fornisca un errore di file Release non firmato a seguito dell'aggiunta del [[repository]] di pagespeed
<pre>W: GPG error: http://dl.google.com/linux/mod-pagespeed/deb stable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 78BD65473CB3BD13
E: The repository 'http://dl.google.com/linux/mod-pagespeed/deb stable Release' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.</pre>
Potrete risolvere velocemente il problema aggiungendo le chiavi [[GPG]] dei [[repository]] google.
<pre># cd /etc/apt/trusted.gpg.d
# wget -O google-archive.pub https://dl-ssl.google.com/linux/linux_signing_key.pub</pre>
ed infine aggiornare nuovamente l'elenco dei pacchetti sempre con un <code>apt-get update</code>}}
 
== Configurazione==
Dopo l'installazione, può essere utile apportare alcune modifiche alla configurazione del modulo, agendo sul suo file di configurazione principale:
Dopo l'installazione, può essere utile apportare alcune modifiche alla configurazione del modulo, agendo sul suo file di configurazione principale:
<pre>
<pre>
Riga 54: Riga 59:
     # ModPagespeedRewriteLevel PassThrough
     # ModPagespeedRewriteLevel PassThrough
</pre>
</pre>
Lasciamola commentata, infatti l'opzione predefinita per <code>ModPagespeedRewriteLevel</code> è <code>CoreFilters</code> che permette di avere attivati molti filtri di default che sono quelli ritenuti sicuri per la maggior parte delle applicazioni. Un'altra opzione più aggressiva è <code>TestingCoreFilters</code>, che permette di attivare i filtri sperimentali, ma prima di arrischiarsi è bene testare il sito prima di lasciarli in produzione, mentre <code>PassThrough</code> disabiliterà ogni filtro di default<ref>[https://www.modpagespeed.com/doc/config_filters] manuale di configurazione dei filtri</ref>.<br />I filtri di default aggiunti da <code>CoreFilters</code> sono:
Lasciamola commentata, infatti l'opzione predefinita per <code>ModPagespeedRewriteLevel</code> è <code>CoreFilters</code> che permette di avere attivati molti filtri di default che sono quelli ritenuti sicuri per la maggior parte delle applicazioni. Un'altra opzione più aggressiva è <code>TestingCoreFilters</code>, che permette di attivare i filtri sperimentali, ma prima di arrischiarsi è bene testare il sito prima di lasciarli in produzione, mentre <code>PassThrough</code> disabiliterà ogni filtro di default<ref>[https://www.modpagespeed.com/doc/config_filters manuale di configurazione dei filtri]</ref>.<br />I filtri di default aggiunti da <code>CoreFilters</code> sono:
* add_head
*add_head
* combine_css
*combine_css
* combine_javascript
*combine_javascript
* convert_meta_tags
*convert_meta_tags
* extend_cache
*extend_cache
* fallback_rewrite_css_urls
*fallback_rewrite_css_urls
* flatten_css_imports
*flatten_css_imports
* inline_css
*inline_css
* inline_import_to_link
*inline_import_to_link
* inline_javascript
*inline_javascript
* rewrite_css
* rewrite_css
* rewrite_images: implica recompress_images, recompress_jpeg, recompress_png, recompress_webp, convert_gif_to_png, strip_image_color_profile, strip_image_meta_data, jpeg_sampling
*rewrite_images: implica recompress_images, recompress_jpeg, recompress_png, recompress_webp, convert_gif_to_png, strip_image_color_profile, strip_image_meta_data, jpeg_sampling
* rewrite_javascript
*rewrite_javascript
* rewrite_style_attributes_with_url
*rewrite_style_attributes_with_url
Se vogliamo attivare ulteriori direttive lo possiamo fare dopo la riga
Se vogliamo attivare ulteriori direttive lo possiamo fare dopo la riga
     # ModPagespeedEnableFilters collapse_whitespace,elide_attributes
     # ModPagespeedEnableFilters collapse_whitespace,elide_attributes
Riga 82: Riga 87:
</pre>
</pre>
Quindi riavviamo Apache per fargli digerire le modifiche.
Quindi riavviamo Apache per fargli digerire le modifiche.
*Fino a Jessie:
<pre>
# /etc/init.d/apache2 restart
</pre>
*Da Stretch:
<pre>
<pre>
# systemctl reload apache2
# systemctl reload apache2
</pre>
</pre>
== Virtual Host==
==Virtual Host==
La configurazione precedente applica le stesse impostazioni di ''mod_pagespeed'' a tutti i Virtual Host presenti sul nostro server. È però possibile applicare configurazioni personalizzate per ogni Virtual Host, agendo sul file di configurazione del Virtual Host stesso:
La configurazione precedente applica le stesse impostazioni di ''mod_pagespeed'' a tutti i Virtual Host presenti sul nostro server. È però possibile applicare configurazioni personalizzate per ogni Virtual Host, agendo sul file di configurazione del Virtual Host stesso:
<pre>
<pre>
Riga 109: Riga 109:
   ModPagespeedFileCachePath "/usr/local/apache2/pagespeed/cache/"
   ModPagespeedFileCachePath "/usr/local/apache2/pagespeed/cache/"
   ModPagespeedGeneratedFilePrefix "/usr/local/apache2/pagespeed/files/"
   ModPagespeedGeneratedFilePrefix "/usr/local/apache2/pagespeed/files/"
   ModPagespeedEnableFilters combine_css
   ModPagespeedRewriteLevel CoreFilters
  ModPagespeedEnableFilters rewrite_css,rewrite_javascript
   ModPagespeedEnableFilters collapse_whitespace,elide_attributes
   ModPagespeedEnableFilters inline_css,inline_javascript
   ModPagespeedEnableFilters convert_to_webp_animated
  ModPagespeedEnableFilters rewrite_images
   ModPagespeedEnableFilters insert_img_dimensions
   ModPagespeedEnableFilters remove_comments
   ModPagespeedEnableFilters remove_comments
   ModPagespeedEnableFilters extend_cache
   ModPagespeedEnableFilters remove_quotes
   ModPagespeedEnableFilters remove_quotes 
   ModPagespeedEnableFilters hint_preload_subresources 
</VirtualHost>
</VirtualHost>
</pre>
</pre>