jueves, 24 de octubre de 2019

Instalar Google Chrome en CentOS 7 / RHEL 7

Instalar Google Chrome en CentOS 7 / RHEL 7

En algunas circunstancia es necesario la instalación de este navegador sobre nuestros sistema linux, sobre todo si se tiene una maquina virtual con instalación básica.

Veamos el proceso de instalación de la ultima versión de Google Chrome (actualmente v65) en CentOS 7 / RHEL 7)

Requisito

Abrir un terminal  (Applications >> System Tools >> Terminal) y luego cambiar al usuario root.
$ su
Agregar repositorio de Google Chrome
Cree un archivo de repositorio en el directorio /etc/yum.repos.d/
vi /etc/yum.repos.d/google-chrome.repo
Copie y pegue la siguiente información del repositorio en el archivo creado anteriormente.
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
Instalar Google Chrome en CentOS 7
Puede instalar Google Chrome usando el comando yum en CentOS 7 / RHEL 7.
yum install -y google-chrome-stable
Si quieres probar la versión beta de Google Chrome, ejecute:
yum install -y google-chrome-beta

Iniciando Google Chrome

$ google-chrome
Google Chrome beta:
$ google-chrome-beta

Si tienes instalado el XMING y te logeaste con SSH usando el protocolo X11, se debe lanzar la aplicación en el terminal remoto.



lunes, 7 de octubre de 2019

Cómo Instalar FTP en CentOS 7

Cómo instalar FTP en CentOS 7

Para instalar el servidor FTP en CentOS 7 necesitaremos un usuario con permisos de root o sudo, ya que vamos a modificar la configuración del sistema.

Cómo instalar un cliente FTP en CentOS 7

En el caso de que queramos instalar un cliente FTP en nuestro sistema CentOS 7 tenemos disponible en los repositorios oficiales un cliente de consola estándar. Tendremos que instalar el paquete ftp con yum:
# yum -y update
yum -y install ftp
Recuerda que puedes acceder al servicio FTP desde navegadores, (usando el protocolo ftp://), mediante clientes gráficos como Filezilla o con clientes de consola como el que acabamos de instalar.

Instalar vsftpd en CentOS 7

Partiendo de una instalación básica de un servidor CentOS 7 y con nuestro usuario administrador listo, comenzamos el trabajo.
Para instalar FTP en CentOS 7 elegiremos el servidor vsftpd, puesto que está incluido en los repositorios oficiales de CentOS 7. Para instalar el servidor FTP vfstpd usaremos yum:
yum -y install vsftpd
Tras instalar el paquete vsftpd y sus dependencias (si las tuviera) el servicio NO arranca automáticamente ni queda configurado para iniciar con el sistema. Antes de solucionarlo, te resumo las opciones que tenemos para manejar el servicio vsftpd a través del comando systemctl:
  • enable: Activa el servicio para arrancar junto al sistema
  • disable: Desactiva el servicio para que no arranque con el sistema
  • start: Inicia el servicio
  • stop: Detiene el servicio
  • restart: Reinicia el servicio
  • status: Muestra el estado actual del servicio
A diferencia de otros servicios, vsftpd no dispone de la opción de recargar su configuración sin reiniciar el servicio (opción reload).
Para comprobar que efectivamente el servicio no está iniciado usamos, de acuerdo con la lista anterior, el comando systemctl status:
  • ~$ systemctl status vsftpd
  • ● vsftpd.service - Vsftpd ftp daemon
  • Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
  • Active: inactive (dead)
Lo normal es que queramos iniciar el servicio y que inicie automáticamente con el sistema. Ambas acciones debemos hacerlas manualmente. Emplearemos para ello también systemctl:
  • ~$ sudo systemctl enable vsftpd
  • Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
Activamos el servicio
sudo systemctl start vsftpd
Ahora ya tenemos activo el servidor FTP a la espera de conexiones; para asegurarnos de ello empleamos de nuevo systemctl:
  • systemctl status vsftpd
  • ● vsftpd.service - Vsftpd ftp daemon
  • Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
  • Active: active (running) since jue 2019-01-10 18:59:28 CET; 14s ago
  • Process: 11511 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
  • Main PID: 11512 (vsftpd)
  • CGroup: /system.slice/vsftpd.service
  • └─11512 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
  • ene 10 18:59:28 centos7.local systemd[1]: Starting Vsftpd ftp daemon...
  • ene 10 18:59:28 centos7.local systemd[1]: Started Vsftpd ftp daemon.
Acabamos de comprobar que el servicio está activado.

Cómo configurar el firewall para el servidor FTP en CentOS 7

Instalar FTP en CentOS 7, como cualquier otro servicio, exige algunos pasos adicionales con respecto a otros sistemas, debido a la seguridad característica de CentOS.
Ya puedes hacer pruebas con el servidor vsftpd conectando con el cliente ftp desde la propia máquina. Pero si deseas hacer pruebas desde otras máquinas, que es para lo que tiene sentido montar un servicio FTP, debemos dar un paso más.
Conviene recordar que en las instalaciones básicas de CentOS 7 el firewall viene activado. Por lo tanto debemos configurarlo para que permita conexiones entrantes al servicio FTP, que por defecto escucha en el puerto TCP/21.
Usaremos el comando firewall-cmd para establecer la excepción del firewall que permite las conexiones FTP:
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
Ahora las conexiones están permitidas, y la configuración es permanente.
o tambien:
systemctl restart firewalld.service
Para saber la direccion ip de nuestro servidor para las pruebas de FTP:
# ip -d addr
Con eso y usando el FileZilla debemos poder acceder al sistema de archivos d nuestro servidor.

Instalar un servidor web LAMP en Centos 7

Instalar un servidor web LAMP en Centos 7

Buena a tods, escribo de tiempo. Para hoy instalaremos un servidor web LAMP en Centos 7. Si conocéis este tipo de servidor web, se trata de la combinación de Linux + Apache + Mysql + PHP. Para el mismo tipo de servidor también se suele utilizar el nombre de GLAMP, añadiendo GNU a la ecuación.

Un servidor web LAMP en Centos 7

Básicamente es ir instalando las piezas, no tiene mucha más complicación. Lo primero de todo será actualizar el sistema e instalar Apache.

Actualizar el sistema e instalar Apache

Yo voy a utilizar ‘root’, aunque lo más adecuado sería utilizar otro usuario dentro del grupo ‘sudo’ (‘wheel’ en Centos 7)

# yum -y update

# yum -y install httpd

Para activar el servicio web con Apache, además de añadirlo al inicio, ejecutamos:

# systemctl enable httpd.service
# systenctl start httpd.service

Recordar que por defecto Centos 7, utiliza “/var/www/html“, al igual que otras distribuciones, aunque algunas páginas, como la página de bienvenida, se encuentran en “/usr/share/httpd
Además, debemos habilitar el puerto 80 en el cortafuegos, si lo tenemos habilitado, utilizando la herramienta “firewall-cmd”
# firewall-cmd --add-port=80/tcp --permanent
# firewall-cmd --reload
Si todo ha ido bien, si nos marchamos al navegador web, añadiendo la IP del servidor, ya tendríamos que ver la página de bienvenida:

Habilitar Mod_rewrite Module

El mod_rewritemódulo está habilitado de manera predeterminada en CentOS 7. Si encuentra que no está habilitado en su servidor, puede habilitarlo editando el 00-base.confarchivo ubicado en el directorio /etc/httpd/conf.modules.d/
vi /etc/httpd/conf.modules.d/00-base.conf
Agregue o descomente la siguiente línea:
LoadModule rewrite_module modules/mod_rewrite.so
Guarde y cierre el archivo, luego reinicie el servicio httpd:
sudo systemctl restart httpd

Habilitar Archivo .Htaccess

Una vez que el módulo mod_rewrite se ha activado, puede configurar sus reescrituras de URL creando un archivo .htaccess en su directorio raíz de documentos predeterminado. Un archivo .htaccess nos permite modificar nuestras reglas de reescritura sin acceder a los archivos de configuración del servidor. Por esta razón, .htaccesses fundamental para su servidor web. Antes de comenzar, debemos permitir que Apache lea los archivos .htaccess ubicados en el directorio /var/www/html.
Puede hacer esto editando el archivo httpd.conf:
vi /etc/httpd/conf/httpd.conf
Busque la sección <directory /var/www/html>y cambie AllowOverride None por AllowOverride All
 <Directory /var/www/html>
    AllowOverride All
 </Directory>
Guardar y Salir.
Ahora reinicie Apache para que el cambio surta efecto:
sudo systemctl restart httpd

Habilitar utf8_(en|de) Código eliminado de php7?

Si se actualiza o instala una versión de php 7 actual, las funciones de utf8_encode() y ut8_decode() ya no estarán disponibles, por lo que se generará un error fatal.
La solución es instalar un paquete adicional a la instalación de php7:
yum install php-xml  //para centos7
sudo apt-get install php5.6-xml  //ubuntu 16.04 LTS, con php 5.6

Reiniciar el servidor apache:
sudo systemctl restart httpd

Instalar MariaDB

Ya sabemos que MariaDB es un fork de MySQL, producto propiedad de Oracle. Como aquí somos fans del software libre, nos inclinaresmos por MariaDB
# yum install -y mariadb-server mariadb
Añadimos el servicio al inicio y lo activamos:

# systemctl enable mariadb.service

# systemctl start mariadb.service



Por defecto el motor de base de datos viene con el usuario ‘root’ sin contraseña, además de otras cosas que tenemos que modificar. Para asegurar la instalación vamos a utilizar “mysql_secure_installation”, simplemente escribiendo:

mysql_secure_installation  ( El usuario root no tiene contraseña inicial)
configurar según las necesidades del servicio.

Nos irá preguntando una serie de cosas. La principal es asignar una contraseña al usuario ‘root’, después deshabilitar usuarios innecesarios y también impedir el acceso remoto a las bases de datos.

Para dar acceso externo a nuestro server:

Habilitar el acceso remoto en my.cnf

En primer lugar hay que revisar o cambiar el fichero mcy.cnf. Para localizarlo podemos ayudarnos del comando «locate my.cnf«. Esta instrucción localizará todos los ficheros my.cnf existentes. Generalmente estará en «/etc/my.cnf». Una vez localizado, debemos realizar una copia del mismo con «cp /etc/my.cnf /etc/my.cnf-ori«. Una vez copiado ya podremos modificarlo.
Dentro de la sección [mysqld], hay que revisar si existen los parámetros:
bind-address=127.0.0.1
skip-networking
En caso de existir habría que comentar ambos, de lo contrario solo podríamos trabajar en local. Si en bind-address tuviéramos una IP distinta a 127.0.0.1, lo podríamos dejar sin comentar. Este parámetro indica en qué dirección queremos que escuche MySQL. Para comentarlos tan solo habría que añadir «#» delante de los mismos:
#bind-address=127.0.0.1 
#skip-networking
Una vez cambiado el fichero hay que reiniciar MySQL con:
service mysqld restart

Añadir el puerto a firewall-cmd o iptables

Después de haber configurado MySQL, hay que añadir el puerto a «firewall-cmd«. Este firewall viene por defecto instalado y habilitado en las últimas versiones de Centos. Hay que añadir el puerto de MySQL a dicho firewall para que podamos acceder desde el exterior. Como por defecto es el puerto 3306 usaremos este en los ejemplos.
En primer lugar tenemos que ver en qué zonas está activado firewall-cmd. Normalmente será «public»
habilitar el acceso remoto mysql centos 7
Una vez hecho esto tendremos que agregar el puerto a la zona y aplicamos la configuración:
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
Si nos indica «Command not found» tendremos que agregarlo a iptables con:
iptables -I INPUT -i <interfaz> -p tcp --destination-port 3306 -j ACCEPT
Después de habilitar el acceso remoto, podremos acceder con una herramienta externa


Instalar PHP

PHP es uno de los lenguajes de programación más populares para aplicaciones web. Este trabaja junto con HTML fantásticamente, para mostrar contenido dinámico. Además de incluir los controladores perfectos para conectar al sistema de administración, de la base de datos.
Procedemos:
# yum install -y php php-mysql
Una vez hecho esto reiniciamos Apache:

# systemctl restart httpd.service

En los repositorios de Centos 7, por defecto viene la versión 5 de PHP, si queremos utilizar una más reciente, podemos añadir el repositorio REMI.

Probar PHP

Para comprobar la instalación de PHP, vamos a crear el fichero “info.php”, en la ubicación “/var/www/html/info.php”
# vi /var/www/html/info.php

precionamos i o insert para editar texto, luego esc y :wq para guardar cambios

Escribimos el siguiente contenido:

<?php
phpinfo();
?>

Guardamos y ya podemos acceder a la URL : http://nuestra-ip/info.php
La página nos mostrará información muy extensa sobre la instalación del servidor.

Conclusión

Lo cierto es que la instalación de LAMP es un muy sencilla y nada compleja. Ahora solo nos falta crear un poco de magia, desarrollando aplicaciones web.
Espero que el artículo os haya parecido interesante y que en alguna ocasión os pueda ser de utilidad.

Pasos de instalación de PHP 7.0, 7.1 y 7.2 en el servidor CentOS 7


1) Instalar yum-utils y habilitar el repositorio EPEL

Inicie sesión en su servidor y use el siguiente comando yum para instalar yum-utils y habilitar el repositorio de epel

# yum install epel-release yum-utils -y
2) Descargue e instale remirepo usando el comando yum

# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

3) Base en su requerimiento, configure el repositorio PHP 7.x
Para configurar el repositorio PHP 7.0, use el siguiente comando,
# yum-config-manager --enable remi-php70
Para configurar el repositorio PHP 7.1, use el siguiente comando,
# yum-config-manager --enable remi-php71
Para configurar el repositorio PHP 7.2, use el siguiente comando,
# yum-config-manager --enable remi-php72
4) Instalar PHP 7.2 junto con las dependencias.
En este tutorial, instalaré la última versión de PHP 7.2 junto con sus módulos, Ejecutar debajo del comando yum
# yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql -y
Nota: Para buscar en todos los módulos PHP, use el siguiente comando:
# yum search php | more
5) Verificar la versión de PHP
Una vez que se hayan instalado todos los PHP 7.2 y sus dependencias en el paso 4), use el siguiente comando para verificar la versión de PHP instalada,
# php -v
PHP 7.1.32 (cli) (built: Aug 28 2019 13:15:08) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.1.32, Copyright (c) 1999-2018, by Zend Technologies
[root@vps263054 ~]#
6) Se reinicia el servicio del httpd

# systemctl restart httpd.service

se actualiza la pagina de info.php