diff options
author | Nicolas Lœuillet <nicolas@loeuillet.org> | 2017-05-16 13:09:40 +0200 |
---|---|---|
committer | Nicolas Lœuillet <nicolas@loeuillet.org> | 2017-05-16 13:09:40 +0200 |
commit | 322c270b6590d0d0bf5025f4782ffe7cdea0f8b0 (patch) | |
tree | e9b900edfa1ca5364820e2b326f77fb689ec6710 /docs/it/user/installation.rst | |
parent | d168fff7a9aedb19db05a95a3264e548748126c1 (diff) | |
download | wallabag-322c270b6590d0d0bf5025f4782ffe7cdea0f8b0.tar.gz wallabag-322c270b6590d0d0bf5025f4782ffe7cdea0f8b0.tar.zst wallabag-322c270b6590d0d0bf5025f4782ffe7cdea0f8b0.zip |
Removed embedded documentation
Diffstat (limited to 'docs/it/user/installation.rst')
-rw-r--r-- | docs/it/user/installation.rst | 346 |
1 files changed, 0 insertions, 346 deletions
diff --git a/docs/it/user/installation.rst b/docs/it/user/installation.rst deleted file mode 100644 index 174507b8..00000000 --- a/docs/it/user/installation.rst +++ /dev/null | |||
@@ -1,346 +0,0 @@ | |||
1 | |||
2 | |||
3 | Installa wallabag | ||
4 | ================= | ||
5 | |||
6 | Requisiti | ||
7 | --------- | ||
8 | wallabag é compatibile con PHP >= 5.5, incluso PHP 7. | ||
9 | |||
10 | .. nota:: | ||
11 | |||
12 | Per installare facilmente wallabag vi forniamo un Makefile, dunque avrete bisogno dello strumento make. | ||
13 | |||
14 | wallabag utilizza un gran numero di librerie PHP per funzionare. Queste librerie vanno installate tramite uno strumento chiamato Composer. Dovete installarlo se non lo avete giá fatto e assicuratevi di usare la versione 1.2 ( se giá avete Composer, esegui il comando composer selfupdate). | ||
15 | |||
16 | Installa Composer: | ||
17 | |||
18 | :: | ||
19 | curl -s http://getcomposer.org/installer | php | ||
20 | |||
21 | `Qui <https://getcomposer.org/doc/00-intro.md>`__ puoi trovare istruzioni specifiche. | ||
22 | |||
23 | Per far funzionare wallabag avrete anche bisogno delle seguenti estensioni. Alcune di queste dovrebbero essere giá attive nella vostra versione di PHP, per cui potrebbe non essere necessario installare tutti i pacchetti corrispondenti. | ||
24 | |||
25 | - php-session | ||
26 | - php-ctype | ||
27 | - php-dom | ||
28 | - php-hash | ||
29 | - php-simplexml | ||
30 | - php-json | ||
31 | - php-gd | ||
32 | - php-mbstring | ||
33 | - php-xml | ||
34 | - php-tidy | ||
35 | - php-iconv | ||
36 | - php-curl | ||
37 | - php-gettext | ||
38 | - php-tokenizer | ||
39 | - php-bcmath | ||
40 | |||
41 | wallabag usa PDO per connettersi, per cui avrete bisogno di uno dei seguenti: | ||
42 | |||
43 | -pdo_mysql | ||
44 | -pdo_sqlite | ||
45 | -pdo_pgsql | ||
46 | |||
47 | E il corrispondente database server. | ||
48 | |||
49 | Installazione | ||
50 | ------------- | ||
51 | |||
52 | Su un web server dedicato (raccomandato) | ||
53 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
54 | |||
55 | Per installare wallabag stesso dovete eseguire i seguenti comandi: | ||
56 | |||
57 | :: | ||
58 | |||
59 | git clone https://github.com/wallabag/wallabag.git | ||
60 | cd wallabag && make install | ||
61 | |||
62 | Per attivare il server incorporato di PHP e verificare che l’installazione sia andata a buon fine potete eseguire: | ||
63 | |||
64 | :: | ||
65 | |||
66 | make run | ||
67 | |||
68 | E accedere a wallabag all’indirizzo http://ipdeltuoserver:8000 | ||
69 | |||
70 | .. consiglio:: | ||
71 | |||
72 | Per definire i parametri con variabili d’ambiente é necessario impostare queste ultime con il prefisso ``SYMFONY_``. Per esempio, ``SYMFONY__DATABASE_DRIVER``. Puoi guardare la `documentazione di Symfony <http://symfony.com/doc/current/cookbook/configuration/external_parameters.html>`__ per maggiori informazioni. | ||
73 | |||
74 | A proposito di hosting condiviso | ||
75 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
76 | |||
77 | Offriamo un pacchetto con tutte le dipendenze incluse. La configurazione di default usa SQLite per il database. Se volete cambiare queste impostazioni, modificate app/config/parameters.yml. | ||
78 | |||
79 | Abbiamo giá creato un utente: il login e la password sono wallabag. | ||
80 | |||
81 | .. attenzione: | ||
82 | |||
83 | Con questo pacchetto, wallabag non controlla le estensioni obbligatorie usate nell’applicazione (questi controlli sono fatti durante ``composer install`` quando hai un server web dedicato, vedi sopra). | ||
84 | |||
85 | Eseguite questo comando per scaricare ed estrarre il pacchetto piú aggiornato: | ||
86 | |||
87 | .. code-block:: bash | ||
88 | |||
89 | wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package | ||
90 | |||
91 | Troverete il `hash md5 del pacchetto piú aggiornato sul nostro sito <https://static.wallabag.org/releases/>`_. | ||
92 | |||
93 | Ora leggete la seguente documentazione per creare il vostro host virtuale poi accedete al vostro wallabag. Se avete cambiato la configurazione del database per usare MySQL o PostrgreSQL, dovrete creare un utente con il comando php bin/console wallabag:install --env=prod . | ||
94 | |||
95 | Installazione con Docker | ||
96 | ~~~~~~~~~~~~~~~~~~~~~~~~ | ||
97 | |||
98 | Offriamo un’immagine Docker per installare wallabag facilmente. Guarda la nostra repository su `Docker Hub <https://hub.docker.com/r/wallabag/wallabag/>`__ per maggiori informazioni. | ||
99 | |||
100 | Comando per avviare il container | ||
101 | |||
102 | .. code-block:: bash | ||
103 | |||
104 | docker pull wallabag/wallabag | ||
105 | |||
106 | Installazione su Cloudron | ||
107 | ~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
108 | |||
109 | Cloudron fornisce un modo facile di installare webapps sul vostro server mirato ad automatizzare i compiti del sysadmin ed a mantenere le app aggiornate. | ||
110 | wallabag é pacchettizzata come app Cloudron ed é disponibile all'installazione direttamente dallo store. | ||
111 | |||
112 | `Installa wallabag sul tuo Cloudron <https://cloudron.io/store/org.wallabag.cloudronapp.html>`__ | ||
113 | |||
114 | Host virtuali | ||
115 | ------------- | ||
116 | |||
117 | Configurazione su Apache | ||
118 | ~~~~~~~~~~~~~~~~~~~~~~~~ | ||
119 | |||
120 | Non dimenticate di attivare la mod *rewrite* di Apache | ||
121 | |||
122 | .. code-block:: bash | ||
123 | |||
124 | a2enmod rewrite && systemctl reload apache2 | ||
125 | |||
126 | Assumendo che voi abbiate installato wallabag nella cartella ``/var/www/wallabag`` e che vogliate usare PHP come un modulo Apache, ecco un vhost per l’applicazione: | ||
127 | |||
128 | :: | ||
129 | |||
130 | <VirtualHost *:80> | ||
131 | ServerName domain.tld | ||
132 | ServerAlias www.domain.tld | ||
133 | |||
134 | DocumentRoot /var/www/wallabag/web | ||
135 | <Directory /var/www/wallabag/web> | ||
136 | AllowOverride None | ||
137 | Order Allow,Deny | ||
138 | Allow from All | ||
139 | |||
140 | <IfModule mod_rewrite.c> | ||
141 | Options -MultiViews | ||
142 | RewriteEngine On | ||
143 | RewriteCond %{REQUEST_FILENAME} !-f | ||
144 | RewriteRule ^(.*)$ app.php [QSA,L] | ||
145 | </IfModule> | ||
146 | </Directory> | ||
147 | |||
148 | # uncomment the following lines if you install assets as symlinks | ||
149 | # or run into problems when compiling LESS/Sass/CoffeScript assets | ||
150 | # <Directory /var/www/wallabag> | ||
151 | # Options FollowSymlinks | ||
152 | # </Directory> | ||
153 | |||
154 | # optionally disable the RewriteEngine for the asset directories | ||
155 | # which will allow apache to simply reply with a 404 when files are | ||
156 | # not found instead of passing the request into the full symfony stack | ||
157 | <Directory /var/www/wallabag/web/bundles> | ||
158 | <IfModule mod_rewrite.c> | ||
159 | RewriteEngine Off | ||
160 | </IfModule> | ||
161 | </Directory> | ||
162 | ErrorLog /var/log/apache2/wallabag_error.log | ||
163 | CustomLog /var/log/apache2/wallabag_access.log combined | ||
164 | </VirtualHost> | ||
165 | |||
166 | Dopo aver riavviato o ricaricato Apache dovreste essere in grado di accedere a wallabag tramite l’indirizzo http://domain.tld. | ||
167 | |||
168 | Configurazione su Nginx | ||
169 | ~~~~~~~~~~~~~~~~~~~~~~~ | ||
170 | |||
171 | Assumendo che abbiate installato wallabag nella cartella ``/var/www/wallabag``, ecco una ricetta per l’applicazione: | ||
172 | |||
173 | :: | ||
174 | |||
175 | server { | ||
176 | server_name domain.tld www.domain.tld; | ||
177 | root /var/www/wallabag/web; | ||
178 | |||
179 | location / { | ||
180 | # try to serve file directly, fallback to app.php | ||
181 | try_files $uri /app.php$is_args$args; | ||
182 | } | ||
183 | location ~ ^/app\.php(/|$) { | ||
184 | fastcgi_pass unix:/var/run/php5-fpm.sock; | ||
185 | fastcgi_split_path_info ^(.+\.php)(/.*)$; | ||
186 | include fastcgi_params; | ||
187 | # When you are using symlinks to link the document root to the | ||
188 | # current version of your application, you should pass the real | ||
189 | # application path instead of the path to the symlink to PHP | ||
190 | # FPM. | ||
191 | # Otherwise, PHP's OPcache may not properly detect changes to | ||
192 | # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126 | ||
193 | # for more information). | ||
194 | fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; | ||
195 | fastcgi_param DOCUMENT_ROOT $realpath_root; | ||
196 | # Prevents URIs that include the front controller. This will 404: | ||
197 | # http://domain.tld/app.php/some-path | ||
198 | # Remove the internal directive to allow URIs like this | ||
199 | internal; | ||
200 | } | ||
201 | |||
202 | # return 404 for all other php files not matching the front controller | ||
203 | # this prevents access to other php files you don't want to be accessible. | ||
204 | location ~ \.php$ { | ||
205 | return 404; | ||
206 | } | ||
207 | |||
208 | error_log /var/log/nginx/wallabag_error.log; | ||
209 | access_log /var/log/nginx/wallabag_access.log; | ||
210 | } | ||
211 | |||
212 | |||
213 | Dopo aver riavviato o ricaricato Nginx dovreste essere in grado di accedere a wallabag tramite l’indirizzo http://domain.tld. | ||
214 | |||
215 | Configurazione su lighttpd | ||
216 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
217 | |||
218 | Assumendo che abbiate installato wallabag nella cartella /var/www/wallabag, ecco una ricetta per l’applicazione (modificate il vostro file lighttpd.conf e incollatevi questa configurazione): | ||
219 | |||
220 | :: | ||
221 | |||
222 | server.modules = ( | ||
223 | "mod_fastcgi", | ||
224 | "mod_access", | ||
225 | "mod_alias", | ||
226 | "mod_compress", | ||
227 | "mod_redirect", | ||
228 | "mod_rewrite", | ||
229 | ) | ||
230 | server.document-root = "/var/www/wallabag/web" | ||
231 | server.upload-dirs = ( "/var/cache/lighttpd/uploads" ) | ||
232 | server.errorlog = "/var/log/lighttpd/error.log" | ||
233 | server.pid-file = "/var/run/lighttpd.pid" | ||
234 | server.username = "www-data" | ||
235 | server.groupname = "www-data" | ||
236 | server.port = 80 | ||
237 | server.follow-symlink = "enable" | ||
238 | index-file.names = ( "index.php", "index.html", "index.lighttpd.html") | ||
239 | url.access-deny = ( "~", ".inc" ) | ||
240 | static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ) | ||
241 | compress.cache-dir = "/var/cache/lighttpd/compress/" | ||
242 | compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" ) | ||
243 | include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port | ||
244 | include_shell "/usr/share/lighttpd/create-mime.assign.pl" | ||
245 | include_shell "/usr/share/lighttpd/include-conf-enabled.pl" | ||
246 | dir-listing.activate = "disable" | ||
247 | |||
248 | url.rewrite-if-not-file = ( | ||
249 | "^/([^?]*)(?:\?(.*))?" => "/app.php?$1&$2", | ||
250 | "^/([^?]*)" => "/app.php?=$1", | ||
251 | ) | ||
252 | |||
253 | |||
254 | Diritti di accesso alle cartelle del progetto | ||
255 | --------------------------------------------- | ||
256 | |||
257 | Ambiente di test | ||
258 | ~~~~~~~~~~~~~~~~ | ||
259 | |||
260 | Quando vorremo solamente testare wallabag, eseguiremo il comando ``make run`` per avviare la nostra istanza di wallabag e tutto funzionerá correttamente poiché l’utente che ha iniziato il progetto puó accedere alla cartella corrente senza problemi. | ||
261 | |||
262 | Ambiente di produzione | ||
263 | ~~~~~~~~~~~~~~~~~~~~~~ | ||
264 | |||
265 | Non appena useremo Apache o Nginx per accedere alla nostra istanza di wallabag, e non avviandola con il comando ``make run``, dovremo aver cura di concedere i giusti diritti sulle giuste cartelle per far rimanere sicure tutte le cartelle del progetto. | ||
266 | |||
267 | Per fare ció, il nome della cartella, conosciuta come ``DocumentRoot`` (per Apache) o ``root`` (per Nginx), deve essere assolutamente accessibile all’utente Apache/Nginx. Il suo nome è generalmente ``www-data``, ``apache`` o ``nobody`` (dipendendo dal sistema Linux utilizzato). | ||
268 | |||
269 | Quindi la cartella ``/var/www/wallabag/web`` deve essere accessibile da quest’ultimo. Questo tuttavia potrebbe non essere sufficiente se solo ci importa di questa cartella poiché potremmo incontrare una pagina bianca o un errore 500 quando cerchiamo di accedere alla homepage del progetto. | ||
270 | |||
271 | Questo é dato dal fatto che dovremo concedere gli stessi diritti di accesso di ``/var/www/wallabag/web`` alla cartella ``/var/www/wallabag/var`` . Risolveremo quindi il problema con il seguente comando: | ||
272 | |||
273 | .. code-block:: bash | ||
274 | |||
275 | chown -R www-data:www-data /var/www/wallabag/var | ||
276 | |||
277 | |||
278 | Deve essere tutto uguale per le seguenti cartelle: | ||
279 | |||
280 | * /var/www/wallabag/bin/ | ||
281 | * /var/www/wallabag/app/config/ | ||
282 | * /var/www/wallabag/vendor/ | ||
283 | * /var/www/wallabag/data/ | ||
284 | |||
285 | inserendo | ||
286 | |||
287 | .. code-block:: bash | ||
288 | |||
289 | chown -R www-data:www-data /var/www/wallabag/bin | ||
290 | chown -R www-data:www-data /var/www/wallabag/app/config | ||
291 | chown -R www-data:www-data /var/www/wallabag/vendor | ||
292 | chown -R www-data:www-data /var/www/wallabag/data/ | ||
293 | |||
294 | Altrimenti prima o poi incontreremo questi messaggi di errore: | ||
295 | |||
296 | .. code-block:: bash | ||
297 | |||
298 | Unable to write to the "bin" directory. | ||
299 | file_put_contents(app/config/parameters.yml): failed to open stream: Permission denied | ||
300 | file_put_contents(/.../wallabag/vendor/autoload.php): failed to open stream: Permission denied | ||
301 | |||
302 | Regole aggiuntive per SELinux | ||
303 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
304 | |||
305 | se SELinux é abilitato sul vostro sistema, dovrete configurare contesti aggiuntivi in modo che wallabag funzioni correttamente. Per controllare se SELinux é abilitato, semplicemente inserisci ció che segue: | ||
306 | |||
307 | ``getenforce`` | ||
308 | |||
309 | Questo mostrerá ``Enforcing`` se SELinux é abilitato. Creare un nuovo contesto coinvolge la seguente sintassi: | ||
310 | |||
311 | ``semanage fcontext -a -t <context type> <full path>`` | ||
312 | |||
313 | Per esempio: | ||
314 | |||
315 | ``semanage fcontext -a -t httpd_sys_content_t "/var/www/wallabag(/.*)?"`` | ||
316 | |||
317 | Questo applicherá ricorsivamente il constesto httpd_sys_content_t alla cartella wallabag e a tutti i file e cartelle sottostanti. Sono necessarie le seguenti regole: | ||
318 | |||
319 | +-----------------------------------+----------------------------+ | ||
320 | | Percorso completo | Contesto | | ||
321 | +===================================+============================+ | ||
322 | | /var/www/wallabag(/.*)? | ``httpd_sys_content_t`` | | ||
323 | +-----------------------------------+----------------------------+ | ||
324 | | /var/www/wallabag/data(/.*)? | ``httpd_sys_rw_content_t`` | | ||
325 | +-----------------------------------+----------------------------+ | ||
326 | | /var/www/wallabag/var/logs(/.*)? | ``httpd_log_t`` | | ||
327 | +-----------------------------------+----------------------------+ | ||
328 | | /var/www/wallabag/var/cache(/.*)? | ``httpd_cache_t`` | | ||
329 | +-----------------------------------+----------------------------+ | ||
330 | |||
331 | Dopo aver creato questi contesti, inserite ció che segue per applicare le vostre regole: | ||
332 | |||
333 | ``restorecon -R -v /var/www/wallabag`` | ||
334 | |||
335 | Potrete controllare i contesti in una cartella scrivendo ``ls -lZ`` e potrete vedere tutte le regole correnti con ``semanage fcontext -l -C``. | ||
336 | |||
337 | Se state installando il pacchetto latest-v2-package, é necessaria un'ulteriore regola durante la configurazione iniziale: | ||
338 | |||
339 | ``semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/wallabag/var"`` | ||
340 | |||
341 | Dopo che siate acceduti con successo al vostro wallabag e abbiate completato la configurazione iniziale, questo contesto puó essere rimosso: | ||
342 | |||
343 | :: | ||
344 | |||
345 | semanage fcontext -d -t httpd_sys_rw_content_t "/var/www/wallabag/var" | ||
346 | retorecon -R -v /var/www/wallabag/var | ||