In un precedente articolo, primo di una serie che fornirà alcuni piccoli e semplici consigli e configurazioni per la piattaforma di Gestione Documentale Alfresco, abbiamo analizzato la possibilità di navigare all'interno della struttura di Alfresco via IMAP.
Nelle prossime righe invece vedremo come utilizzare la condivisione CIFS di Alfresco ed accedere al repository come disco di rete.
Le seguenti configurazioni sono state testate su una versione di Alfresco Community 4.2.c installata in un server Ubuntu 12.04 .
Per abilitare questo protocollo bisogna editare il file [ALFRESCO_HOME]/tomcat/shared/classes/alfresco-global.properties aggiungendo le seguenti righe:
### CIFS ###
cifs.enabled=true
cifs.serverName=${localname}A
cifs.hostannounce=true
cifs.tcpipSMB.port=1445
cifs.netBIOSSMB.namePort=1137
cifs.netBIOSSMB.datagramPort=1138
cifs.netBIOSSMB.sessionPort=1139
La variabile ${localname} viene ricavata automaticamente dal server, il tag A è opzionale ma utilizzato per risolvere alcuni problemi di mappatura riscontrati in alcuni sistemi. L'hostannunce serve per fare in maniera che le directory di Alfresco siano visibili esplorando le risorse, in caso contrario, saranno disponibili, ma accessibili soltanto conoscendo il percorso. Le porte predefinite per il protocollo CIFS sono le 445, 137, 138 e 139, tuttavia in questo caso si consiglia di utilizzare porte non previlegiate per evitare conflitti, e quindi useremo le 1445, 1137, 1138, 1139. A questo punto riavviare il servizio di Alfresco e controllare sul file Alfresco.log se tutto è OK.
Come controprova si possono monitorare le porte del server con il comando NETSTAT:
netstat -anp | egrep -i "(445.*LISTEN)|(139.*LISTEN)"
che dovrebbe restituire qualcosa di simile:
tcp6 0 0 :::1139 :::* LISTEN 4901/java
tcp6 0 0 :::1445 :::* LISTEN 4901/java
Tuttavia il protocollo CIFS come già detto lavora nativamente su porte diverse da quelle impostate, perciò è necessario aggiornare alcune regole di IPTABLES nel vostro server Ubuntu:
iptables -t nat -A PREROUTING -p tcp -m tcp –dport 445 -j REDIRECT –to-ports 1445
iptables -t nat -A PREROUTING -p tcp -m tcp –dport 139 -j REDIRECT –to-ports 1139
iptables -t nat -A PREROUTING -p udp -m udp –dport 137 -j REDIRECT –to-ports 1137
iptables -t nat -A PREROUTING -p udp -m udp –dport 138 -j REDIRECT –to-ports 1138
A questo punto dal proprio client Windows si può provare la connessione TELNET verso le porte in questione per verificare:
TELNET [IP_SERVER] 139 e TELNET [IP_SERVER] 145
Prima di connettersi ai dischi di rete però su Vista e Windows 7 potrebbe essere necessario modificare il protocollo di autenticazione da NTMLv2 a NTMLv1, in quanto nel caso sia stata effettuata l'integrazione al login LDAP attraverso il passtrhu, questo protcollo non supporta l' NTMLv2. Per fare questo bisogna andare in Pannello di controllo -> Strumenti di Amministrazione -> Criteri di protezione locali -> Criteri locali -> opzioni di Protezione -> trovare la voce "Protezione di rete: livello di autenticazione di LAN Manager" ed impostarlo a "Invia risposte LM e NTLM". Oppure si può fare questo intervenendo sul registro di sistema impostando il valore "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\LMCompatibilityLevel" ad "1".
Ora si dovrebbe essere in grado di utilizzare il protocollo CIFS.
Vi consigliamo di consultare la seguente documentazione:
http://wiki.alfresco.com/wiki/File_Server_Subsystem_4.0
http://docs.alfresco.com/4.0/index.jsp?topic=%2Fcom.alfresco.enterprise.doc%2Fconcepts%2Ffileserv-subsystem-CIFS.html