Archivo diario: 21/07/2016

Instalar nuestra propia nube – ownCloud

OwnCloud

Ahora que esta de moda el uso de la «nube» como un repositorio de documentos y/o archivos en general (fotos, música, video, etc) me parece una interesante opción instalar nuestra propia infraestructura de nube al que solo nosotros o a quienes nosotros agreguemos y tengan acceso; para ello la idea es instalar un servidor ligero; para ello utilizaremos Centos 7 en su version minimal, el cual pude ser descargado desde los distintos repositorios en la siguiente pagina web www.centos.org.

Desde ahí decagramos la versión minimal (aproximadamente unos 600 MB) e instalamos Centos, configuramos la tarjeta de red con las IPs correspondientes. Obviamente si queremos tener acceso a nuestra nube desde fuera de nuestra red; se debe adquirir una IP pública con el proveedor de servicios (CNT o Telconet, por mencionar una par de ellos). Entonces el requisito para logra esto es tener instalado Centos 7.

La segunda cosa que debemos hacer es instalar todo un sistema de web server; para lo cual puedes seguir el siguiente post ingresesando ahi, como un buen punto de partida.

Hecho eso, ahora procederemos a instalar la aplicación para la nube.

Desde hace unos 5 años vengo utilizando esta aplicación por tal motivo la recomiendo puesto que la he probado con excelentes resultado se llama ownCloud; les recuerdo como siempre que esta aplicación es Software Libre bajo las licencias GNU/GPL2.

Entonces manos a la obra..!

Descargamos la aplicación, pero antes insolaremos el gestor de descargas de Centos, con el siguiente comando:

# yum install wget

Instalamos el des-compresor en centos (recuerda este servidor es ligero y muchas de estas herramientas no están instaladas)

# yum -y install unzip

No situamos en la directorio home

# cd /home

Luego de que se instale ejecutamos las siguientes instrucciones para bajar la aplicación ownCloud:

# wget https://download.owncloud.org/community/owncloud-9.1.0.zip

En nuestro caso es la versión 9.1; es conveniente checar la pagina web de ownCloud para ver cual es la ultima versión estable y disponible.

Esto bajara la aplicación en el disco duro de nuestro server, procura estar colocado en la carpeta home para bajarlo ahí.

Ahora, debemos descomprimir los archivos del empaquetado para eso ejecutamos la instrucción:

# unzip owncloud-9.1.0.zip

lo que creara un directorio llamado owncloud en el directorio /home donde estuvimos ubicados. Ahora, desde ahí debemos moverla al directorios donde están las aplicaciones web por defecto; es decir en:

/var/www/html/

Ahí debemos mover el directorio /home/owncloud  , pero antes debemos darle los permisos correspondientes a las carpetas donde moveremos el directorios owncloud  caso contrario no la podrás copiar así:

# chmod -R 777 /var/www/html/

NOTA: Recuerda que esto pude dejar vulnerable ese directorio por lo tanto es bueno volver a dejarlo como estaba una ves instalado todo con:

# chmod -R 755 /var/www/html/

Bien; una ves otorgado los permisos con chmod -R 777 /var/www/html/ ahora debemos mover el directorio owncloud, para ello hacemos lo siguiente:

mv /home/owncloud /var/www/html/

Listo!, hasta aquí lo que hemos hecho es :

  1. Bajar la aplicación de la internet
  2. Descomprimimos el archivo en la carpeta home
  3. movemos el directorio /owncloud a la carpeta por defecto de las paginas web /var/www/html/

Listo, ahora debemos configurar la base de datos que dará soporte a nuestra aplicación de la nube ownCloud, para eso entonces debemos entrar al gestor de bases de datos myPhpAdmin (esto esta definido en la instalación del servidor LAMP bajo centos que antes indicamos).

Ahí creamos la base de datos owncloud: debe quedar así:

2016-07-21_21-59

En este punto y para poder terminar las configuraciones de la nube es importantísimo hacer una configuración en el sistema operativo, recuerda estamos utilizando Centos 7, el cual posee muchas seguridades, pero la que mas problemas nos va a causar es la de SELinux.

SELinux.- Security-Enhanced Linux (SELinux) es un módulo de seguridad para el kernel Linux que proporciona el mecanismo para soportar políticas de seguridad para el control de acceso, incluyendo controles de acceso obligatorios como los del Departamento de Defensa de Estados Unidos, es decir es un firewall.

SELinux puede ser muy útil para evitar los zero-days («nuevos»), pero puede resultar pesado cuando se usa software propio (o nos tenemos que salir de lo estándar con el de la distribución), por lo que se tiene que crear la política adecuada.

Si aún no tenemos la política creada, podemos deshabilitar SELinux. Ésto se hace mediante el archivo /etc/selinux/config, cambiando SELINUX=enforcing por SELINUX=disabled; en nuestro caso es lo mas conveniente, lo hacemos de la siguiente manera:

# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0

Luego solo reinicia el sistema por completo.

# reboot

Bien en este punto ya podemos empezar la configuración final de nuestra owncloud, ingresando con la URL en el navegado de la siguiente manera:

http://192.168.1.111/owncloud/

Ingresamos el nombre de usuario (2) y la clave por primera ves (3) , esta sera la cuenta de administración ya que se pueden crear mas usuarios con sus propias particularidades. Las configuraciones iniciales se realizaran de manera automática !!!

Al ingresar veremos la siguiente pantalla:

Como puedes ver ya estas dentro de tu nube, ahora solo empieza a usarla, recorre sobre las distintas opciones de configuración y si deseas agrega a tus socios, amigos o familia a la nube, recuerda que el espacio esta limitado por el espacio de tu disco duro y la velocidad dependerá del ancho de banda de tu conexión de subida y de bajada.

Listo! hemos terminado.

Instalar web server en Centos 7 – LAMP + Centos7

Cuando hablamos de instalar un sistema LAMP (linux, Apache, MariaDB, y PHP) en cualquier sistema operativo o distro de Linux se requiere instalar cada una de las aplicaciones o servicios por separada aunque luego las integremos como uno solo, a este tipo de configuración se la denomina también servidor web de aplicaciones. Entonces manos a la obra..!

Instalar Apache

En Centos para instalar apache necesitamos el siguiente comando:

# yum -y install httpd

Ahora para poder probar si el demonio del Apache esta funcionando, debemos iniciar el servicio con el siguiente comando, caso contrario no funcionara :

# systemctl start httpd

Hecho esto ahora podremos verificar si nuesto servidor esta funcionando, para lo cual solo debemos abrir el navegar firefox (o similar) y colocamos en la lines del URL la IP del equipo en el cual hemos instalado el servidor:

http://la_IP_del_servidor

ejemplo en mi caso: http://192.168.1.111

Si puede ver la siguiente pagina, nuestro server esta funcionando..!

Sin embargo no es suficiente pues si la próxima ves que enciendas la maquina el servidor no arrancará junto con el sistema operativo entonces debemos indicarle al SO, que lo auto-arranque de la siguiente manera:

Primero iniciamos el servicio así:

# systemctl start httpd

Luego el siguiente comando para fijarlo en el auto arranque:

# systemctl enable httpd

Y si queremos comprobar si el servicio esta funcionando podemos usar el siguiente comando para verificarlo:

# systemctl status httpd

El resultado en la línea correspondiente aparecerá así:

Active: active (running)

Y si por ultimo decides detener el servicio (suele ocurrir cuando se están haciendo pruebas) puedes usar el siguiente conjunto de instrucciones:

# systemctl stop httpd

Instalacion de MySQL / MariaDB

El siguiente paso en un servidor web es la instalación del Servicio de Bases de Datos que en nuestro caso puede ser instalar MySQL o MariaDB; ambos mantienen las mismas estructuras el primero perteneces a una empresa privada; la cual no mantiene completamente los estándares de licencias GNU/GPL; por tal motivo se realizo un fork denominado MariaDB; mantenida por el mismo creador de MySQL.

Para instalarlo procederemos de la siguiente manera, instalamos el motor de bases de datos MariaDb con la siguiente instrucción:

# yum -y install mariadb-server mariadb

Esperamos unos minutos, al terminar debemos Iniciar el servicio y luego indicar al SO que lo auto arranque la próxima ves; de manera similar a como lo hicimos con el servicio de Apache:

# systemctl start mariadb.service
# systemctl enable mariadb.service

Verifiquemos si esta activo: 🙂

# systemctl status mariadb

El siguiente paso es definir la clave del usuario root para la administración de las bases de datos:

# mysql_secure_installation

En la primera pregunta no ingreses ninguna clave solo digita ENTER (puesto que originalmente no existe ninguna clave definida) hecho esto inmediatamente te preguntara si deseas colocar la clave para el root, solo presiona: Y , luego te solicitara la nueva clave o la clave que asignaras al usuario root, por lo tanto ingresa esa clave, esto lo hará con otra pregunta de re confirmación de la misma clave.

Hecho esto a todas las opciones solo responde Y o simplemente ENTER hasta que veas el siguiente mensaje:

«Thanks for using MariaDB!»

Listo tenemos instalado el motor de bases de datos MariaDB..!!

Instalación de PHP5 – PHP7

Como ya sabemos PHP es el lenguaje de programación que nos permitirá conectar las paginas web desarrolladas en HTML con el motor de bases de datos MariaDB, usando el lenguaje SQL por lo tanto se requiere instalarlo e indicarle al PHP que se comunique con las bases de datos.

Para instalar PHP5 solo debemos djgitar el siguiente conjunto de instrucciones como siempre todo desde la consola:

# yum -y install php

Una vez que haya finalizado la instalación es oportuno reiniciar el servidor apache (web) con el propósito de que los cambios realizados por la instalación en el servicio sean efectivos, usa el siguiente comando (ya conocido):

#  systemctl restart httpd.service

Comprobando si PHP5 esta correctamente instalado

Para poder probar la instalación de nuestro lenguaje PHP y cerciorarnos de que esta operativo necesitamos hacer lo siguiente:

Usando el editor vi (en lo particular uso mas el NANO, pero en la instalación de Centos no lo trae por defecto, si desea usarlo puedes instalarlo con el comando # yum -y install nano) con el fin de crear un archivo con la extensión .php el cual debe contener los comandos indicados:

# vi /var/www/html/info.php

dentro de este archivo colocamos las siguientes instrucciones del lenguaje PHP, el mismo que sera abierto a través del navegador: para eso digita tecla ESC y la tecla INS

<?php
phpinfo();
?>

Una vez editado grabamos con los siguientes comandos de vi

ESC
:
!wq

Desde el navegador colocamos la URL que corresponda a nuestro servidor; asi:

http://192.168.1.111/info.php

Si logras ver la siguiente pantalla la instalación ha concluido con éxito..!

Instalr PHP 7

Ahora bien para instalar la versión más reciente simplemente haremos lo siguiente desde la linea de comandos en la terminal:

# yum -y install php7.0 php7.0-mysql

y listo! puedes repetir los pasos anteriores para comprobar si la instalación fue correcta.

Configurar el soporte entre PHP5 y MySQL (MariaDB)

Lo que necesitamos instalar primero es la aplicación que conectará el PHP con el MySQL para ello usamos las siguientes instrucciones:

# yum -y install php-mysql

Despues de instalarse debemos instalar el conjunto de módulos requeridos por algunas aplicaciones CMS como WordPress, Joomla o Drupal, entre otros. Usaremos el siguiente conjunto de instrucciones en una sola linea de comando:

# yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel

Y como siempre debemos reiniciar las operaciones de apache para que todos los cambio hechos tomen efecto y los distintos módulos se activen en el apache.

# systemctl restart httpd.service

Al re-cargar nuevamente la pagina web de info.php y la compara con la carga anterior vera que algunos de los módulos indicado se verán en esta pagina sobre todo las librerías GD (para manejo de gráficos) o LDAP así:

En primera instancia antes de la instalación de de módulos o complementos se vera así:

Aquí ya se pueden ver los complementos (LDAP como ejemplo) instalados después de los comandos indicados:

Instalación de phpMyAdmin

Finalmente y ya para terminar como nuestro servidor en el que hemos integrado un servidor de web APACHE junto con un Gestor de bases de datos MARIADB y el lenguaje que lo sostiene que en este caso es PHP5. Debemos buscar la manera de sacarle el máximo provecho ya sea programando aplicaciones web y conectadas a las bases de datos o en su defecto utilizar manejadores de Contenido ya listos (CMS) como WORDPRESS o OWNCLOUD .

Por lo tanto es conveniente para facilitarnos la creación, gestión y administración de las bases de datos instalar una herramienta «gráfica» vía web que nos permita hacer todo lo indicado: esa aplicación se llama phpMyAdmin; para lo cual haremos lo siguiente:

Primero debemos instalar el repositorio donde se encuentra la aplicación para ello indicamos las llaves correspondientes de EPEL (repo oficial) y luego instalamos el repo asi:

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
# yum -y install epel-release

desde la conosla escribimos el comnado siguiente para bajar e instalar la aplicación:

# yum -y install phpMyAdmin

Ahora bien debemos hacer los cambios correspondientes en el archivo de configuración de phpMyAdmin a fin de que podamos acceder a la aplicación desde el navegador; si no se hace este procedimiento no funcionara, es mas se negara el acceso a dicha pagina, por lo tanto editamos el archivo así:

# vi /etc/httpd/conf.d/phpMyAdmin.conf

y dentro debe quedar de la siguiente manera, pon atención a los # ya que ellos comentaran las lineas de código que no queremos se ejecuten en el archivo de configuración, así:

[...]
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

#<Directory /usr/share/phpMyAdmin/>
#   AddDefaultCharset UTF-8

#   <IfModule mod_authz_core.c>
#     # Apache 2.4
#     <RequireAny>
#       Require ip 127.0.0.1
#       Require ip ::1
#     </RequireAny>
#   </IfModule>
#   <IfModule !mod_authz_core.c>
#     # Apache 2.2
#     Order Deny,Allow
#     Deny from All
#     Allow from 127.0.0.1
#     Allow from ::1
#   </IfModule>
#</Directory>

<Directory /usr/share/phpMyAdmin/>
        Options none
        AllowOverride Limit
        Require all granted
</Directory>

[...]

El resto del archivo debe quedar igual (intacto [. . .] ) y listo!!, grabamos las modificaciones al archivo y reiniciamos como siempre, el servidor apache:

# systemctl restart  httpd.service

Ahora podemos ingresar en el navegador colocando la URL de la siguiente manera (recuerda que la IP es la de tu servidor donde instalaste todo)

http://192.168.1.111/phpmyadmin

y finalmente veremos lo siguiente:

Con todo esto hemos terminado..! 😀

fácil verdad?

Categorias

Tutoriales

julio 2016
L M X J V S D
 123
45678910
11121314151617
18192021222324
25262728293031