PHPkiInstall » Cronologia » Versione 8
Simone Piccardi, 22-12-2010 16:36
1 | 7 | Amministratore Truelite | h1. Installare e configurare PHPki |
---|---|---|---|
2 | 1 | Amministratore Truelite | |
3 | "PHPki":http://sourceforge.net/projects/phpki/ è un buon programma per la gestione via web di una infastruttura di PKI semplificata, adeguato alle esigenze di gestione di una realtà di dimensioni medio-piccole. |
||
4 | 7 | Amministratore Truelite | |
5 | 8 | Simone Piccardi | La procedura di installazione è purtroppo un po' macchinosa, ma una volta installata l'utilizzo dell'applicazione è tutto sommato immediato. Una volta scaricati i sorgenti li si potranno installare (al solito si è scelto @/usr/local/share/@) con i seguenti comandi: |
6 | |||
7 | 7 | Amministratore Truelite | <pre> |
8 | 1 | Amministratore Truelite | cd /usr/local/share/ |
9 | tar -xvzf ~/phpki-0.80.tar.gz |
||
10 | mv phpki-0.80 phpki |
||
11 | </pre> |
||
12 | 7 | Amministratore Truelite | |
13 | 8 | Simone Piccardi | In questa installazione iniziale la directory @phpki@ sarà creata con permessi di scrittura aperti a tutti, per consentire agli script di setup forniti dal pacchetto stesso di scrivere all'interno della stessa la loro configurazione. Dato che questi script sono eseguiti via web per conto di Apache ed il programma non essendo pacchettizzato non sa quale utente utilizzare, la directory deve essere scrivibile da tutti: |
14 | |||
15 | 1 | Amministratore Truelite | <pre> |
16 | root@monk:/usr/local/share# ls -ld phpki/ |
||
17 | drwxrwsrwx 8 root users 4096 Nov 15 2005 phpki/ |
||
18 | </pre> |
||
19 | |||
20 | 8 | Simone Piccardi | una volta completata la configurazione si dovrà utilizzare lo script @secure.sh@ per correggere i permessi. |
21 | |||
22 | Per accedere alla configurazione usando gli script forniti dal programma occorre anzitutto configurare Apache, faremo comparire la nostra CA sotto @/phpki@, utilizzando la seguente direttiva: |
||
23 | |||
24 | 7 | Amministratore Truelite | <pre> |
25 | 2 | Amministratore Truelite | Alias /phpki /usr/local/share/phpki/ |
26 | 1 | Amministratore Truelite | <Directory /usr/local/share/phpki> |
27 | 8 | Simone Piccardi | DirectoryIndex index.php |
28 | Options Indexes FollowSymLinks |
||
29 | AllowOverride All |
||
30 | 7 | Amministratore Truelite | </Directory> |
31 | 4 | Amministratore Truelite | </pre> |
32 | 7 | Amministratore Truelite | |
33 | 8 | Simone Piccardi | Una volta inserita la precedente configurazione si potrà puntare il browser su @http://www.miosito.it/phpki@ per ottenere la pagina di istruzioni, in alto a destra si potrà cliccare sul collegamento _Setup_ per andare sulla pagina di impostazione che richiede tutte le informazioni necessarie. |
34 | 7 | Amministratore Truelite | |
35 | 8 | Simone Piccardi | In particolare andranno indicate la directory dove mantenere i file della _Certification Authority_ ed il file su cui si memorizzeranno gli utenti con accesso alla console amministrativa (che richiede accesso autenticato di Apache), che nel nostro caso sono rispettivamente @/var/local/phpki/phpki-store@ e @/var/local/phpki/phpkipasswd@. |
36 | 7 | Amministratore Truelite | |
37 | 4 | Amministratore Truelite | In particolare occorrerà assegnare la proprietà della directory citata all'utente con cui gira Apache, in modo che i file della CA possano essere opportunamente creati al suo interno. Allo stesso modo andrà creato il file di accesso per l'utente amministrativo. Tutto questo va fatto prima di confermare l'esecuzione dello script di setup, altrimenti si avranno degli errori, il tutto si farà con i comandi: |
38 | 8 | Simone Piccardi | |
39 | 4 | Amministratore Truelite | <pre> |
40 | 7 | Amministratore Truelite | mkdir /var/local/phpki |
41 | 1 | Amministratore Truelite | mkdir /var/local/phpki/phpki-store |
42 | chown www-data /var/local/phpki/phpki-store |
||
43 | 5 | Amministratore Truelite | chmod 700 /var/local/phpki/phpki-store |
44 | htpasswd -cm /var/local/phpki/phpkipasswd admin |
||
45 | chown root.www-data /var/local/phpki/phpkipasswd |
||
46 | chmod 640 /var/local/phpki/phpkipasswd |
||
47 | </pre> |
||
48 | 7 | Amministratore Truelite | |
49 | 5 | Amministratore Truelite | Una volta creata l'infrastruttura per i dati necessari si potrà confermare l'esecuzione della pagina di impostazione, ed eseguire lo script di riordino dei permessi, che chiederà gli ultimi dati necessari: |
50 | 8 | Simone Piccardi | |
51 | 7 | Amministratore Truelite | <pre> |
52 | 5 | Amministratore Truelite | root@cleis:/usr/local/share/phpki# ./secure.sh |
53 | This application is designed to be an easy to use "certificate factory" |
||
54 | requiring minimum human intervention to administer. It is intended for |
||
55 | 1 | Amministratore Truelite | use within a trusted INTRAnet for the creation and management of x.509 |
56 | e-mail digital certificates by departmental managers. IT IS NOT INTENDED |
||
57 | 5 | Amministratore Truelite | FOR USE OVER THE INTERNET. |
58 | 1 | Amministratore Truelite | |
59 | 5 | Amministratore Truelite | This application stores private keys within a sub-directory, making them |
60 | potentially susceptible to compromise. Extra care has been taken in the |
||
61 | design of this application to protect the security of your certificates, |
||
62 | on the condition that you INSTALL IT AS THE ROOT USER. However, no |
||
63 | software is 100% secure. |
||
64 | |||
65 | 1 | Amministratore Truelite | Enter the location of your PHPki password (i.e. /etc/phpkipasswd): /var/local/phpki/phpkipasswd |
66 | |||
67 | 5 | Amministratore Truelite | |
68 | Enter the user ID your web server runs as [apache]: www-data |
||
69 | |||
70 | Enter the group ID your web server runs as [apache]: www-data |
||
71 | |||
72 | Enter the IP or subnet address [192.168.0.0/16] which will be allowed access |
||
73 | to the user admin module in under ./admin: 127.0.0.1 |
||
74 | 4 | Amministratore Truelite | Working... |
75 | 6 | Amministratore Truelite | Done. |
76 | </pre> |
||
77 | 7 | Amministratore Truelite | |
78 | 8 | Simone Piccardi | Nel caso si utilizzi una distribuzione che usa PHP 5 occorrerà anche modificare il file @ca/request_cert.php@ che usa una parola chiave come valore di un istruzione case, cosa che comporta un errore di sintassi, la cosa si può fare semplicemente con: |
79 | |||
80 | 7 | Amministratore Truelite | <pre> |
81 | 1 | Amministratore Truelite | sed -e 's/final/finale/g' ca/request_cert.php > request_cert.php.new |
82 | mv request_cert.php.new ca/request_cert.php |
||
83 | 7 | Amministratore Truelite | </pre> |