Instalación OWNCLOUD

Instalacion de dependencias

apt-get install php-pear php-xml-parser php5-sqlite php5-json sqlite mp3info curl libcurl3-dev zip

Agregar el repositorio a la lista.

sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_14.10/ /' >> /etc/apt/sources.list.d/owncloud.list" 

Debemos agregar la key del repositorio a nuestro servidor.

wget http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_14.10/Release.key
sudo apt-key add - < Release.key  

Despues realizar un update del apt.

sudo apt-get update

Seguidamente instalar owncloud.
sudo apt-get install owncloud

El siguiente paso es la base de datos, en este caso elegimos postresql, debido a su seguridad, y rendimiento.
Lo primero es verificar si tenemos instalada la extencion postgre en php5.
Lo verificamos en el archivo de config /etc/php5/conf.d/pgsql.ini.El archivo deberia verse asi:
# configuration for PHP PostgreSQL module
extension=pdo_pgsql.so
extension=pgsql.so

[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0

Ya verificado esto nos logeamos a postgre, y creamos la base de datos.
su - postgres
createdb owncloud

Ingresamos a la bd y creamos usuario, y le damos permiso.
psql owncloud
CREATE USER usuario WITH PASSWORD 'contraseña';
GRANT ALL PRIVILEGES ON DATABASE "owncloud" to usuario;

Ingresamos por navegador
https://dominio/owncloud/
Nos pedirá que cambiemos los permisos de la carpeta config y data
sudo chmod -R 0770 ruta/data
sudo chmod -R 0770 ruta/config

Nos pedirá Usuario, contraseña, ruta a la carpeta data "cambiar aquí si se modifico el directorio data", y información de la base de datos, en este caso se elegio postgresql, se insertar los datos, y listo.
Deberia ingresar en Owncloud

Después de instalar lo primero a realizar seria configurar para que utilize exclusivamente
el protocolo https en vez de http.Esto se realiza desde Administración, marcando la opción forzar HTTPS.

Otra cosa a realizar seria cambiar el limite para subir archivos ya que por defecto solo permite archivos de 512mb, esto se realiza cambiando el archivo /etc/php5/apache2/php.ini buscamos estas lineas “upload_max_filesize” “post_max_size”, y cambiamos por el tamaño que nos parezca adecuado.
Lo recomendable serian 16GB, máximo tamaño disponible para Linux 32bit : Ubuntu, Firefox,
para windows 8 64 bit con Google Chrome serian 8gb.

También se debe apagar la opción output_buffering en .htaccess o php.ini, de otra manera PHP
retornara errores relacionados a la memoria. Para ser consistentes se requiere un mínimo
de 16gb en la variable upload_tmp_dir en el archivo php.ini, que normalmente
apunta a /tmp.

La siguiente consideración seria mover el directorio data fuera del document root , por que
puede ser accesible desde la red, y descargar archivos, sin siquiera haber iniciado sesion.

Moveremos el directorio data a cualquier otro directorio que esté fuera del DocumentRoot, conservando los permisos que tenía, y acto seguido modificamos el fichero de configuración owncloud/config/config.php, "datadirectory" => '/new/path/to/data', y reiniciamos el apache.

sudo /etc/init.d/apache2 restart

Siguiendo con las recomendaciones es interesante la posibilidad que ofrece owncloud de encriptar
los archivos del lado del servidor, la encriptacion y desencriptado se realizan del lado del servidor.
El unico defecto que tiene esto es que aumenta el tamaño de los archivos en un 35% aproximadamente.
Esta opcion se activa desde las aplicaciones de owncloud.

Opciones Adicionales

Entre las posibles agregados que podemos activar en owncloud se encuentra la posibilidad de activar el puglin para que verifique archivos a través de un antivirus como puede ser ClamAV Antivirus Scanner, que se vuelve una opción interesante si hay maquinas con virus o troyanos que utilizan el servicio.
Para instalar ClamAV apt-get install clamav clamav-daemon, después se debe ejecutar el comando freshclam para que se actualice la bd, después se inicia el demonio /etc/init.d/clamav-daemon start y luego se activa el complemento para escanear archivos desde las aplicaciones de OWNCLOUD.
ClamAV se puede configurar de tres formas:
Daemon (Socket), o sea en el mismo servidor, se ejecuta en background y funciona
cuando suben un archivo.
Daemon: funciona en un servidor diferente, especial para servidor con mucho trafico de archivos.
Ejecutable: funciona en el mismo servidor y se ejecuta y se detiene cada vez que se sube un archivo,
de los 3 es el mas lento.

La recomendación seria el modo Socket, ya que consume pocos recursos, y hace uso de recursos solo cuando se los solicita.