Owncloud en Ubuntu 12.04 LTS

owncloud-logo1

¿Qué es OwnCloud?

Owncloud es una solución de almacenamiento vía Internet similar a Dropbox y a Google Drive. Permite incluso conectarse a estos servicios  a través de su interface web.

Podemos acceder a nuestra información a través del navegador, o a través de una aplicación cliente disponible para Windows, Osx y Linux, además de para Android e iOs.

Pero además es:

  • Servidor webdav: para poder acceder a nuestros archivos a través de apache.
  • Servidor caldav: para poder compartir nuestro calendario, citas, reuniones, etc.
  • Servidor cardav: para poder compartir nuestros contactos.
  • Servidor ampache: para poder acceder a nuestro contenido multimedia a través de clientes de streaming.

Ubuntu LAMP (Linux+Apache+Mysql+PHP)

Nota: os recomiendo que echéis un vistazo a dos de mis posts si instalais el servidor desde cero:

Lo primero que necesitamos es instalar el servidor LAMP de ubuntu. Podemos hacerlo directamente en la instalación del Ubuntu Server, o posteriormente con los siguientes comandos:

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install lamp-server^

 

El carácter “^” es importante para que el tipo de instalación del servidor web sea apropiado. En la instalación nos pedirá que introduzcamos el password del root de MySQL. Asegúrate de introducir una buena password que sea fácil de recordar.

Owncloud utiliza los archivos .htaccess de Apache por razones de seguridad. Para poder usarlos necesitamos activar dos módulos con los siguientes comandos

sudo a2enmod rewrite
sudo a2enmod headers

 

Además tenemos que cambiar el archivo de configuración de apache para que reescriba las reglas adecuadamente. Con lo cual ejecutamos el siguiente comando

sudo nano /etc/apache2/sites-available/default

Una vez quí debemos cambiar la línea

AllowOverride None

Por

AllowOverride All

 

Finalmente reiniciamos apache

sudo service apache2 restart

 

Asegurar MySQL

 

Teclea lo siguiente para asegurar la instalación de MySQL

sudo mysql_secure_installation

Cuando te pregunte el password del root de MySQL, introduce el que metiste en el apartado anterior.

Cuando te pregunte si quieres cambiar el pasword del root, teclea “n” de no.

Cuando te pregunte si quieres eliminar los usuarios anónimos, tecle “s” de si

Cuando te pregunte si quieres deshabillitar el acceso remoto del root, teclea “s”.

Cuando te pregunte si quieres eliminar la test database, tecle “s”.

Cuando te pregunte si quieres recargar la tabla de privilegios, tecle “s”.

 

Ya tenemos asegurado MySQL.

 

Crear la base de datos para OwnCloud

 

Primero accedemos como root a MySql en el terminal con el siguiente comando

mysql -u root -p

 

Una vez dentro creamos la base de datos

CREATE DATABASE owncloud;

Después creamos un nuevo usuario con los privilegios apropiados para la nueva base de datos (Sustituimos some_password, por una que decidamos nosotros.)

GRANT ALL ON owncloud.* TO 'owncloud'@'localhost' IDENTIFIED BY 'some_password';
quit

 

Instalar OwnCloud

 

Instalamos paquetes necesarios para owncloud

sudo apt-get install php5-gd php-xml-parser php5-intl smbclient curl libcurl3 php5-curl

A 28 DE OCTUBRE DEL 2013, EL PAQUETE DE INSTALACIÓN DE OWNCLOUD HA CAMBIADO EL DIRECTORIO DE INSTALACIÓN FUERA DE /VAR/WWW. POR TANTO LAS LÍNEAS EN ROJO A CONTINUACIÓN NO LAS USÉIS. SEGUIR EL PROCEDIMIENTO DESCRITO EN https://www.digitalocean.com/community/articles/how-to-setup-owncloud-5-on-ubuntu-12-10

Añadimos la llave del repositorio de apt con los siguientes comandos:

wget http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04/Release.key

sudo apt-key add - < Release.key 
rm Release.key

 

Después añadimos el repositorio de apt e instalamos OwnCloud

sudo echo 'deb http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/owncloud.list 

sudo apt-get update

sudo apt-get install owncloud
sudo service apache2 restart

 

El resto de la instalación se hace a través del navegador, y nos permite elegir entre otras cosas, el directorio donde se guardarán los datos de usuario que carguemos a través del navegador.

 

Si decidimos elegir un directorio distinto al que nos indica por omisión, a este directorio hay asignarle el usuario www-data con el siguiente comando

sudo chown -R www-data:www-data /ruta/al/directorio/de/datos/de/owncloud

 

La dirección de nuestro owncloud será http://host/owncloud.

Si tenemos un fqdn (fully qualified domain name) lo introducimos en vez de host. Podemos obtener uno gratuito en dyndns.com.

Si no tenemos el fqdn, introducimos la ip del servidor.

Si accedemos a él, desde el propio servidor, en vez de host, ponemos localhost.

Y nos aparecerá una pantalla como esta

owncloud1

Le damos a Avanzado, y seleccionamos Configurar la base de datos: MySQL

owncloud3

En nombre de usuario, introducimos el nombre que queramos para el usuario administrador de owncloud, así como la contraseña.

En directorio de almacenamiento puedo elegir el que quiera, pero recuerdo, debemos asignarle el usuario www-data.

En configurar la base de datos introducimos el usuario, password y nombre de la base de datos que hemos creado para owncloud.

 

Y ya tenemos instalado nuestro servidor owncloud.

 

Antes de salir, recomiendo entrar en personal y añadir nuestro correo electrónico, para poder recuperar la contraseña en caso de que la perdamos.ownpost1

 

Últimos ajustes

Ajustes de php

Necesitamos configurar php para que admita archivos grandes. Podemos hacerlo a través del terminal editando los archivos. /etc/php5/apache2/php.ini /etc/php5/cli/php.ini y pero es más cómodo y seguro hacerlo a través del módulo de webmin.

Para instalar webmin, vamos a http://webmin.com y descargamos el instalador con el comando wget. En el momento actual la última versión es la 1.650

wget http://netcologne.dl.sourceforge.net/project/webadmin/webmin/1.650/webmin_1.650_all.deb

Instalamos algunos paquetes necesarios

sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

Instalamos webmin y borramos el paquete

sudo dpkg -i webmin_1.650_all.debrm webmin_1.650_all.deb

Ahora podemos acceder al interface de webmin a través del navegador, en la dirección

https://ip_servidor:10000 (si accedemos desde el propio servidor https://localhost:10000)

Introducimos nuestro usuario y password y ya estamos dentro.

En el menú otros, seleccionamos PHP Configuration:

Damos al enlace Manage, y después den Resource Limits en cada uno de los ficheros y modificamos para que quede así.

phpconf2

Como maximum memory allocation, recomiendo poner una cuarta parte de la ram del servidor (pero es cuestión de ir probando).

Ajustes del .htaccess

Abrimos el .htaccess de owncloud con el siguiente comando

sudo nano /var/www/owncloud/.htaccess

Y modificamos las siguientes líneas

php_value upload_max_filesize 513Mphp_value post_max_size 513Mphp_value memory_limit 512M

Para que queden como los valores que modificamos en php.

php_value upload_max_filesize 20000Mphp_value post_max_size 20000Mphp_value memory_limit 2048M

Y reiniciamos apache

sudo service apache2 restart

Si queréis activar la encriptación SSL, lo podéis hacer siguiente el siguiente post.

 

 

Gracias a:

https://www.digitalocean.com/community/articles/how-to-setup-owncloud-5-on-ubuntu-12-10

http://refugeeks.com/owncloud-setup-guide/

Ubuntu 12.04 + XRDP: remote desktop para Ubuntu

xrdp-011

Nota: versión actualizada a Ubuntu 16.04 aquí.

El remote desktop funciona muy bien, y es un poco mas seguro que el vnc. Sin embargo la forma mas segura de conectarse es haciendo un tunel a través de ssh. Yo uso remotix, que es un cliente de pago, pero funciona de forma excepcional desde android o iOs, es decir, podemos manejar el pc desde fuera de casa como si estuvieramos delante. Continuar leyendo «Ubuntu 12.04 + XRDP: remote desktop para Ubuntu»

Afinar la instalación Ubuntu Server 12.04 LTS LAMP (fqdn, dyndns, ssh,webmin, phpmyadmin)

lampNota: Versión actualizada a Ubuntu 16.02 aquí.

Este howto es la continuación del post Instalar Ubuntu-Server 12.04 LTS y tiene por objetivo mejorar la seguridad, y añadir un par de herramientas fundamentales:

  • Webmin: para administrar el sistema desde un navegador web, y
  • PhpMyAdmin: para administrar las bases de datos SQL y sacar copias de seguridad de estas.

La configuración del firewall no la incluyo (en mi caso, por ejemplo, tengo un firewall independiente)

Como desinstalar LibreOffice en Ubuntu

desinstalar-programasEn el terminal ejecutamos los siguientes comandos:

sudo apt-get remove --purge libreoffice*
sudo apt-get clean
sudo apt-get autoremove

Para eliminar fuentes y otras dependencias de la instalación oficial de LibreOffice en ubuntu:

sudo apt-get remove fonts-opensymbol libreoffice libreoffice-\* openoffice.org-dtd-officedocument1.0 python\*-uno uno-libs3-\* ure ure-dbg

 

Instalar Ubuntu-Server 12.04 LTS

¿Por qué Ubuntu-Server 12.04 LTS?

Primero porque es Ubuntu, es decir, es un sistema operativo linux basado en Debian orientado al usuario final en informática. Es una distribución más que probada, segura y relativamente fácil de configurar, además de que contamos con multitud de tutoriales para personallizarlo hasta la saciedad. Elegimos la versión 12.04 LTS, porque es la «Long Time Support» y seguirá habiendo actualizaciones hasta el 2017

¿Como obtener Ubuntu?

Podéis descargarlo en el sitio de Ubuntu. Os recomiendan la versión AMD64, pero yo he probado la i386 y funciona fenomenal, sobre todo en equipos con menos 2Gb de Ram. Un vez descargada la imagen, la grabáis en un CD, o si tenéis ubuntu ya instalado en algún ordenador o máquina virtual, podéis crear un usb stick de arranque. La primera pantalla que nos encontramos es

Tenemos que elegir el idioma

Una vez elegido el idioma instalamos el Ubuntu server De nuevo elegimos nuestro idioma, la distribución del teclado,.. y no ocurre nada interesante hasta que nos pide el nombre de la máquina. Si vais a instalar un servidor, lo lógico es tener acceso a el desde internet. Podéis obtener un dominio gratuito en www.dyndns.com. Una vez que lo tengáis es importante que lo escribáis en la siguiente página.

Ahora os pedirá el nombre del usuario y su contraseña. Es importante que no seáis cómodos y pongáis una contraseña fuerte, pues es la primera medida de seguridad del sistema. No me pongáis cumpleaños, el nombre de la tía Berta,…. meted un password aleatorio y lo apuntáis. Podéis generar uno en password.es

Os da la opción de cifrar vuestra carpeta personal, pero para un servidor no me parece buena idea. No está mal para equipos portátiles, si trabajas para la CIA y no quieres que nadie te robe el ordenador y te saque la información, pero en casa la seguridad va por otros derroteros. Cifrar significa consumir recursos, y no poder montar el disco duro en otro ordenador para sacar la información en caso de fallo. Así que os recomiendo que no lo hagáis.

Después aceptáis la zona horaria ( o no y la cambias) y llega el segundo momento fundamental el particionado del disco. Podéis montar un raid de arranque ( tiene que ser un raid 1) y configurar LVM, Podéis montar distintos raid y unirlos con LVM para que funcionan como un único disco expendiendo la capacidad. Merece la pena que perdáis tiempo y sesera en combinar todos los discos posibles para obtener la mayor capacidad y seguridad. Por ejemplo, en nuestra instalación de ejemplo, voy a armar un raid 1 para el sistema, y un raid 5 (con spare). A la partición root de Ubuntu le sobra con 10Gb, así que lo demás lo distribuimos como nos convenga. En la pantalla de particionado de Discos elegimos Manual

Consejos Previos Si ya habéis montado un raid o un LVM, sería aconsejable que antes de instalar Ubuntu-Server, arrancarais el ordenador con la distribución desktop del CD de ubuntu y teclearais el siguiente comando, donde sdX, puede ser sda, sdb,.. Con esto llenáis el disco de ceros y cualquier configuración anterior de raid, lvm se pierde, junto a todo lo demás claro, así que cuidado con no borrar nada que sea importante para vosotros.

dd if=/dev/zero of=/dev/sdX

Vasta con que contéis hasta 10 y con un Ctrl +C para el comando, porque solo necesitamos borrar los primeros sectores del disco. Si acaso los discos provienen de un hardware raid (por ejemplo, los teníais en raid en una placa AMD o Intel, o cualquier controladora….) es necesario que borréis antes los raid creados con el menú en que fueron creados, por que ni siquiera el dd es capaz de borrar algunos de los datos generados por estas controladoras. En la segunda pantalla tenemos toda la lista de discos, damos enter encima de cada uno de los discos y generamos una nueva tabla de particiones para todos y cada uno de ellos.

En una primera etapa vamos a escribir todas las particiones en tipo raid. Como quiero hacer un raid uno de arranque voy a utilizar el sda y el sdb como espejos. A ambos les he creado una partición de 300mb para el punto de montaje /boot, y el resto se lo he dejado al raid 1 donde montaré el sistema El resto de discos son para armar un raid 5 ( que sirve como copia de seguridad del disco físico, en caso de que falla uno de ellos. Un vez escrito todas las particiones como raid, elegimos Configurar Raid por Software, que os aparece en la segunda línea del menú en el que estáis. Aplicáis los cambios y os aparece un menú y elegís «Crear un dispositivo MD». 1º. Elegís un raid 1, después asignáis dos dispositivos, y dejáis cero libres en el raid. Elegís las particiones que formarán parte del raid y le dais a continuar. En el caso del raid de arranque

Repetimos el proceso para el raid1 del sistema

En el caso del Raid 5, vamos a seleccionar cuatro discos activos y dejamos uno libre. Esto significa que si falla uno de los discos, automáticamente el raid empezará a recomponerse con el disco que le hemos dejado libre. Otra opción es hacer un raid 6, y poner todos a funcionar. La ventaja es que hay una doble paridad, la desventaja es que el raid irá mucho más lento. El procedimiento es similar al anterior Una ves terminada esta parte nuestro esquema de partición quedará

Ahora vamos a formatear los nuevos raid. El raid de 300Mb para el arranque le damos formato ext2 , 1% reservado para el sistema y le asiognamosasignamos el punto de montaje boot. A los otros dos, de momento los formateamos como LVM.

El siguiente paso es configurar LVM. Seleccionamos la opción del menú «Configurar el Gestor de Volúmenes Lógicos» y guardamos lo anterior. Primero le damos a «Crear un grupo de volúmenes». En este paso podríamos asignar varios discos duros, o varios raids. Yo solo voy a elegir el raid de sistema.

Primero le damos un nombre al grupo de volúmenes y después podemos crear diferentes volúmenes lógicos para los puntos de montaje /, /home, /var según nos convenga y hasta llena el grupo de volúmenes. Después ya formateamos todo el sistema. El raid1 de 300Mb como ext2, 1% para sistema y punto de montaje /boot El raid 5 como ext4, 1% para sistema y punto de montaje Home El raid1 para sistema, ahora son dos volúmenes lógicos, el primero lo dejaremos para «/» y el segundo para «/var», ambos 1% para sistema y formato ext 4. En nuestro caso el esquema de partición quedará

Le damos a finalizar el particionado y escribir los cambios en el disco, que es la última línea del menú. Nos preguntará que si queremos que el sistema arranque si el raid está degradado: le decimos que si. Si tenéis un sistema con menos de 2Gb de Ram, o vais a utilizar el servidor para virtual izar, nos faltaría haber generado un partición swap de tamaño, el doble de vuestra ram. Si como yo no lo vais a usar no la necesitáis. El instalador se quejará, pero con no hacerle caso… El instalador seguirá, la línea del proxy la dejáis en blanco ( a no ser que tengáis acceso a un proxy decente), después activáis «Instalar actualizaciones automáticamente» Seguir la instalación dándole a todo que si hasta que  aparece la selección de programas. En mi caso como el uso va a ser para un servidor web casero selecciono …

Nos preguntara por el password del root de Mysql ( elegir un password fuerte diferente al del usuario anterior). El último paso es instalar Grub, que le decimos que instale en el «registro de arranque principal».

Los últimos pasos son cuando arranca el sistema. Entramos con nuestro usuario y password, y actualizamos el sistema ejecutando:

sudo apt-get update sudo apt-get upgrade

Como último paso modificamos el archivo /etc/hosts, y le asignamos al nombre que obtuvimos en dyndns.com a la dirección ip de nuestro servidor

sudo nano /etc/hosts   ### salimos con Ctrl + X, y le decimos si a modificar los cambios

Y ya hemos terminado el principio. Ahora sólo nos queda seguir montando lo que necesitamos.

Servidor web casero con Apache, Php y Mysql en debian

debianjh2

Este howto es para todos aquellos que quieran servir páginas web desde su casa, ya sea publicando directamente en el servidor o instalando
algún portal en php como wordpress o joomla.

El primer paso es dar de alta un dominio de segundo nivel en www.dyndns.com o alguna página similar. Hay que tener en cuenta que las ip’s asignadas a los usuarios caseros suelen ser
dinámicas, por lo que deberemos estar pendientes de que la ip que damos de alta en dyndns sea la correcta, y si nos la cambia nuestro ISP, deberemos cambiarla en dyndns. Continuar leyendo «Servidor web casero con Apache, Php y Mysql en debian»

Consejos para montar tu servidor en Linux

Linux Warrior

Razones para usar Linux

Muchas son las razones para plantearse instalar un servidor casero, pero la principal es la gran flexibilidad, seguridad y calidad del software libre que pone a nuestro alcance sistemas que de otra forma tendríamos que pagar a un precio muy elevado.

Linux es el principal desencadenante de este fenómeno de principios del siglo XXI, pues con muy pocos recursos de hardware a devuelto a la vida a infinidad de computadoras que otros sistemas operativos dejaban obsoletas a gran velocidad. Al mismo tiempo, Linux fue el primer sistema operativo que llevó de forma real a los hogares y a la mayoría de las empresas la posibilidad de explotar las prestaciones de los procesadores a 64bits, de la mano de la pionera empresa AMD.

En unos años Microsoft y Apple han intentado llevar soluciones similares con productos de pago (Microsoft parece incapaz de subsanar las debilidades de seguridad siendo vulnerable a virus y malware de todo tipo).

Como decía, Linux comenzó siendo utilizada de forma genérica en ordenadores anticuados o en servidores muy potentes dedicados a las soluciones empresariales.

Ha llegado el momento de plantearse que Linux no es el sistema operativo del futuro, sino el del presente. Las “Workstations” de los hogares comienzan a necesitar de sistemas de seguridad avanzados y potentes que respalden de forma efectiva los terabytes de información que requieren los sistemas multimedia ya no solo de edición de video o audio, sino también de “media servers” de películas en formato digital y audio. Continuar leyendo «Consejos para montar tu servidor en Linux»