DrupalInstall » History » Version 14
Amministratore Truelite, 10/23/2006 04:23 PM
1 | 1 | Amministratore Truelite | [[TracNav(TOC)]] |
---|---|---|---|
2 | 13 | Amministratore Truelite | == Installare e configurare Drupal a livello di intero server == |
3 | 1 | Amministratore Truelite | |
4 | 13 | Amministratore Truelite | Benché sia disponibile anche nei pacchetti per Debian ed Ubuntu, la versione distribuita dal progetto stesso (a partire da http://www.drupal.org) è normalmente molto più aggiornata, e visto che essa fornisce anche un efficiente sistema di aggiornamento, alla fine la scelta di usare la versione ufficiale rispetto a quella della distribuzione è sostenibile in quanto il maggior carico di lavoro per la manutenzione è ridotto e viene abbondantemente bilanciato dalle maggiori funzionalità messe a disposizione. |
5 | 1 | Amministratore Truelite | |
6 | 13 | Amministratore Truelite | Il primo passo allora è quello di scaricare i sorgenti di Drupal e scompattarli nella directory di destinazione; nel nostro caso piazzeremo tutto sotto {{{/usr/share/local/drupal}}} con: |
7 | 1 | Amministratore Truelite | {{{ |
8 | 1 | Amministratore Truelite | cd |
9 | 1 | Amministratore Truelite | wget http://ftp.osuosl.org/pub/drupal/files/projects/drupal-4.7.x.tar.gz |
10 | 1 | Amministratore Truelite | cd /usr/share/local/drupal |
11 | 1 | Amministratore Truelite | tar -xvzf ~/drupal-4.7.x.tar.gz |
12 | 1 | Amministratore Truelite | mv drupal-4.7.x drupal |
13 | 1 | Amministratore Truelite | }}} |
14 | 1 | Amministratore Truelite | |
15 | 12 | Amministratore Truelite | Occorre poi creare il database, nel caso specifico si è usato MySQL, (per l'impostazione iniziale del quale si veda [wiki:MySQLInitConf]) e creato un database apposito '''sitodrupal'''; poi si sono dati i privilegi di gestione per detto database ad un apposito utente con: |
16 | 1 | Amministratore Truelite | {{{ |
17 | 1 | Amministratore Truelite | mysqladmin -u root -p create sitodrupal |
18 | 1 | Amministratore Truelite | mysql -u root -p |
19 | 1 | Amministratore Truelite | ... |
20 | 1 | Amministratore Truelite | mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, |
21 | 1 | Amministratore Truelite | ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON sitodrupal.* TO |
22 | 1 | Amministratore Truelite | 'utentedrupal'@'localhost' IDENTIFIED BY 'passwordsegreta'; |
23 | 1 | Amministratore Truelite | }}} |
24 | 2 | Amministratore Truelite | fatto questo si sono create le tabelle con l'apposito script fornito Drupal: |
25 | 2 | Amministratore Truelite | {{{ |
26 | 2 | Amministratore Truelite | cd /usr/share/local/drupal |
27 | 2 | Amministratore Truelite | mysql -u utentedrupal -p sitodrupal < database/database.4.1.mysql |
28 | 2 | Amministratore Truelite | }}} |
29 | 2 | Amministratore Truelite | è modificato il file {{{sites/default/settings.php}}} impostando il valore: |
30 | 2 | Amministratore Truelite | {{{ |
31 | 1 | Amministratore Truelite | $db_url = 'mysql://utentedrupal:passwordsegreta@localhost/sitodrupal'; |
32 | 6 | Amministratore Truelite | }}} |
33 | 6 | Amministratore Truelite | |
34 | 6 | Amministratore Truelite | Inoltre per la sicurezza dell'installazione è opportuno impostare dei permessi adeguati, questo significa assegnare a ''root'' tutti i file in modo che non siano modificabili da Apache, con qualcosa del tipo: |
35 | 6 | Amministratore Truelite | {{{ |
36 | 6 | Amministratore Truelite | chown -R root.root /usr/share/local/drupal |
37 | 6 | Amministratore Truelite | }}} |
38 | 8 | Amministratore Truelite | questo però non consentirà a Drupal di eseguire l'upload di file (ad esempio immagini) sul server. La caratteristica di Drupal infatti è che i suddetti file vengono tutti manenuti in una sotto directory {{{files}}} relativa a quella in cui si è installato il programma, che viene creata al primo upload. |
39 | 6 | Amministratore Truelite | |
40 | 8 | Amministratore Truelite | Il problema è che avendo installato il tutto sotto {{{/usr}}} e senza permesso di scrittura questo meccanismo non funzionerà; per questo sarà opportuno crare l'apposita directory sotto {{{/var}}} e dargli adeguati permessi, e poi usare un link simbolico; lo si è fatto con: |
41 | 6 | Amministratore Truelite | {{{ |
42 | 6 | Amministratore Truelite | mkdir /var/www/drupal/files |
43 | 6 | Amministratore Truelite | chmod 755 /var/www/drupal/files |
44 | 1 | Amministratore Truelite | chown www-data www-data /var/www/drupal/files |
45 | 1 | Amministratore Truelite | cd /usr/share/local/drupal |
46 | 1 | Amministratore Truelite | ln -s /var/www/drupal/files files |
47 | 13 | Amministratore Truelite | }}} |
48 | 13 | Amministratore Truelite | |
49 | 13 | Amministratore Truelite | Un altro aspetto critico è quello della riscrittura delle URL in modo da renderle più gradevoli (e facili da ricordare). Questo viene abilitato da Drupal nella sezione '''administer -> setting''' nella sezione delle impostazioni generali. Perché funzioni però è necessario abilitare delle rewrite rule, che sono mantenute nel file {{{.htaccess}}} installato nella directory principale dei sorgenti. |
50 | 13 | Amministratore Truelite | |
51 | 13 | Amministratore Truelite | Dato che l'uso di questi file comporta (giustificato quando l'installazione è nella home di un utente, non per una generale) un maggior carico di lavoro per il server (che li rilegge ad ogni accesso) si è preferito inserire la suddetta configurazione dentro la configurazione di Apache, con un qualcosa del tipo: |
52 | 13 | Amministratore Truelite | {{{ |
53 | 13 | Amministratore Truelite | # |
54 | 13 | Amministratore Truelite | # Apache/PHP/Drupal settings: |
55 | 13 | Amministratore Truelite | # |
56 | 13 | Amministratore Truelite | <Directory "/usr/local/share/drupal"> |
57 | 13 | Amministratore Truelite | |
58 | 13 | Amministratore Truelite | # Protect files and directories from prying eyes. |
59 | 13 | Amministratore Truelite | <FilesMatch "(\.(engine|inc|install|module|sh|.*sql|theme|tpl(\.php)?|xtmpl)|code-style\.pl|Entries.*|Repository|Root)$"> |
60 | 13 | Amministratore Truelite | Order deny,allow |
61 | 13 | Amministratore Truelite | Deny from all |
62 | 13 | Amministratore Truelite | </FilesMatch> |
63 | 13 | Amministratore Truelite | |
64 | 13 | Amministratore Truelite | # Set some options. |
65 | 13 | Amministratore Truelite | Options -Indexes |
66 | 13 | Amministratore Truelite | Options +FollowSymLinks |
67 | 13 | Amministratore Truelite | # Override PHP settings. More in sites/default/settings.php |
68 | 13 | Amministratore Truelite | # but the following cannot be changed at runtime. |
69 | 13 | Amministratore Truelite | # PHP 5, Apache 1 and 2 |
70 | 13 | Amministratore Truelite | <IfModule mod_php5.c> |
71 | 13 | Amministratore Truelite | php_value magic_quotes_gpc 0 |
72 | 13 | Amministratore Truelite | php_value register_globals 0 |
73 | 13 | Amministratore Truelite | php_value session.auto_start 0 |
74 | 13 | Amministratore Truelite | </IfModule> |
75 | 13 | Amministratore Truelite | |
76 | 13 | Amministratore Truelite | # Reduce the time dynamically generated pages are cache-able. |
77 | 13 | Amministratore Truelite | <IfModule mod_expires.c> |
78 | 13 | Amministratore Truelite | ExpiresByType text/html A1 |
79 | 13 | Amministratore Truelite | </IfModule> |
80 | 13 | Amministratore Truelite | |
81 | 13 | Amministratore Truelite | # Various rewrite rules. |
82 | 13 | Amministratore Truelite | <IfModule mod_rewrite.c> |
83 | 13 | Amministratore Truelite | RewriteEngine on |
84 | 13 | Amministratore Truelite | # If your site can be accessed both with and without the prefix www. |
85 | 14 | Amministratore Truelite | # you can use one of the following settings to force user to use only one option: |
86 | 13 | Amministratore Truelite | # |
87 | 13 | Amministratore Truelite | # If you want the site to be accessed WITH the www. only, adapt and uncomment the following: |
88 | 13 | Amministratore Truelite | # RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] |
89 | 13 | Amministratore Truelite | # RewriteRule .* http://www.example.com/ [L,R=301] |
90 | 13 | Amministratore Truelite | # |
91 | 13 | Amministratore Truelite | # |
92 | 13 | Amministratore Truelite | # If you want the site to be accessed only WITHOUT the www. , adapt and uncomment the following: |
93 | 13 | Amministratore Truelite | # RewriteCond %{HTTP_HOST} !^example\.com$ [NC] |
94 | 13 | Amministratore Truelite | # RewriteRule .* http://example.com/ [L,R=301] |
95 | 13 | Amministratore Truelite | |
96 | 13 | Amministratore Truelite | # Modify the RewriteBase if you are using Drupal in a subdirectory and |
97 | 13 | Amministratore Truelite | # the rewrite rules are not working properly. |
98 | 13 | Amministratore Truelite | RewriteBase /drupal |
99 | 13 | Amministratore Truelite | |
100 | 13 | Amministratore Truelite | # Rewrite current-style URLs of the form 'index.php?q=x'. |
101 | 13 | Amministratore Truelite | RewriteCond %{REQUEST_FILENAME} !-f |
102 | 13 | Amministratore Truelite | RewriteCond %{REQUEST_FILENAME} !-d |
103 | 13 | Amministratore Truelite | RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] |
104 | 13 | Amministratore Truelite | </IfModule> |
105 | 13 | Amministratore Truelite | </Directory> |
106 | 2 | Amministratore Truelite | }}} |