Progetto

Generale

Profilo

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>