Adiós carpetas compartidas, hola servidor central de documentos
Debido a unos problemas que ocurrieron con un ransomware en la central de mi oficina se bloqueó y se prohibió el uso de carpetas compartidas de Windows entre los usuarios además de las que se tenían en servidores para el uso de los mismos técnicos de informática.
En mi pequeña oficina, casi 50 usuarios, estuve evaluando qué solución utilizar ya que hay varias y para diferentes requerimientos. Hay suites de colaboración integrada, con o sin conexión a Internet, pagados y gratuitos, un simple servidor FTP con certificado de seguridad, scripts en PHP y JavaScript, nombres reconocidos en la industria y más.
Decisión
Luego de consultar con los diferentes grupos de usuarios, 5 grupos en general, se llegó al siguiente listado de requerimientos:
- No se debe depender de una conexión constante a Internet.
- El usuario nunca debe dar problemas.
- Los documentos deben estar siempre respaldados en unidades externas.
- El flujo de trabajo debe ser similar al uso de carpetas compartidas de Windows.
Luego de buscar y comparar me decidí por OwnCloud 10 ya que además de cumplir con todo lo anterior cuenta con abundante documentación y aunque muchas características están bloqueadas, no como NextCloud, las que se encuentran disponibles cubren las necesidades planteadas.
Hardware
La instalación fue increíblemente sencilla, tenía una vieja computadora con 1.5GB de RAM con un Linux que ya la utilizaba de servidor para otras cosas (DHCP, FTP para el scanner, tester de ancho de banda, etc.) y un disco de 5TB que no se estaba utilizando. Luego de seguir las instrucciones en cuestión de minutos ya tenía montado el servidor con funcionalidades mínimas y abundante almacenamiento.
Configuración
Comencé configurando las recomendaciones que brinda OwnCloud en su página de configuración (caché y addons entre otras cosas). Luego la creación de todos los usuarios, sus grupos y administradores, asignando 10GB por defecto a cada usuario. Como ya tenía establecidos los grupos de personas identifiqué quiénes iban a crear las carpetas compartidas y a esos agregué más espacio en disco porque son a quiénes les va a contar el gran total de la carpeta compartida dentro de OwnCloud.
Ya que como es mejor prevenir que lamentar en una red interna, generé un certificado de seguridad y un CA auto firmado (y se lo instalé a cada usuario) para que el servidor se fuera sobre HTTPS, así les aparecería a los usuarios el famoso pequeño candado verde. Pasé con cada usuario instalando el cliente Windows de OwnCloud y explicando el uso de la herramienta comenzando con la pregunta: ¿A trabajado antes con Dropbox? porque a fin de cuentas este software es muy similar y así no tomaba demasiado tiempo con cada usuario.
Además de eso establecí las carpetas compartidas y conexiones a otras carpetas dentro de los documentos de los usuarios que quisieran respaldar porque así cuentan con un respaldo de los otros archivos de trabajo. Y en esto está lo del respaldo, actualmente sólo cuento con un disco externo que una vez a la semana conecto al sistema y creo un espejo de los documentos, sé que esto no es suficiente pero es lo que está disponible.
Espacio utilizado
OwnCloud no trae, que haya encontrado, una forma para determinar la cantidad de espacio que está utilizando cada usuario, esto lo resolví con la siguiente vista:
SELECT
m.user_id AS usuario,
concat(cast(((fc.size / 1024) / 1024) AS signed),'MB') AS espacio
FROM
((oc_mounts m join oc_filecache fc) JOIN oc_storages s)
WHERE
((m.mount_point = concat('/',m.user_id,'/')) AND
(s.numeric_id = m.storage_id) AND
(fc.storage = m.storage_id) AND
(fc.path = 'files'))
ORDER BY
fc.size DESC;
Entonces cuándo necesitamos un total sólo ejecutamos:
SELECT * FROM espaciousado;