Cómo instalar CentOS 7

En este post vamos a ver, cómo instalar una de las distribuciones de Linux, Centos 7.

Sobre Centos 7

Es un sistema operativo, distribución Linux. Bifurcado de Red Hat Enterprise Linux. Su nombre proviene de Community Enterprise Operating System. La principal diferencia entre el código fuente publicado Red Hat, y CentOS, es que los voluntarios que compilan dicho código fuente, eliminan las referencias de marcas y logos de Red Hat. Por lo que CentOS, se considera una de las distribuciones «clon» de la distribución Red Hat. Como gestor de actualizaciones, utiliza yum.

Requisitos de sistema para instalar Centos 7

Los requisitos de sistema, son bastante distintos, entre la instalación con escritorio y de la instalación sin escritorio.

Los requisitos mínimos de Centos 7 para la versión sin escritorio

  • Memoria RAM: 64MB
  • Espacio de Disco Duro: 1GB

Los requisitos mínimos de Centos 7 para la versión con escritorio

  • Memoria RAM: 1GB
  • Espacio de Disco Duro: 20GB

Descargar una ISO de Centos 7

La forma más rápida y segura, de obtener una ISO de Centos 7, es acudiendo a alguna de las diferentes «mirrors» oficiales, que lista CentOS en su sitio Web Oficial.

Instalación paso a paso de Centos 7

Una vez dispongamos de nuestra VPS o nuestro servidor dedicado, y de una ISO de CentOS 7. Procederemos a la instalación de nuestro CentOS 7.

Arrancamos nuestra máquina virtual o física

En el caso de instalar sobre servidor o máquina física, en lugar de virtualizada, deberéis grabar la iso en un CD / DVD, o hacer un USB Bootable. En el caso de instalar a través de VPS o máquina virtual, sencillamente deberemos elegir la ISO Centos 7, que tengamos previamente descargada.

Selección de idioma

Al arrancar nuestra máquina, con una unidad bootable, virtual o física, arrancará el proceso de instalación de CentOS 7. Lo primero que nos pedirá, es que seleccionemos el idioma en el que instalaremos nuestro CentOS 7. Yo recomiendo utilizar el inglés de Estados Unidos, principalmente para encontrar rápidamente solución, a los posibles mensajes de error, que podamos encontrarnos en un futuro. De todos modos, si lo prefieres, puedes instalarlo en español o en el idioma que prefieras.

Selección de idioma en CentOS 7

Pantalla principal de instalación

Una vez seleccionado el idioma, se nos mostrará la pantalla principal de instalación de Centos 7. Esta será constantemente nuestro punto de partida para los diferentes puntos del proceso de instalación.

Pantalla principal instalación CentOS 7

Selección de Región

Para tener nuestra máquina correctamente configurada, en la región correspondiente, seleccionaremos la opción Date & Time. Esta opción, nos llevará a la pantalla de selección de región. Esta nos permitirá seleccionar la región haciendo click en el mapa, o utilizando los desplegables de la parte superior de la pantalla.

Selección de región en CentOS 7

Una vez seleccionada la zona que deseemos, haremos click en Done. Para así volver a la pantalla principal.

 

Selección de mapeo de teclado

El siguiente paso, será configurar correctamente el mapeo de nuestro teclado. Ya que en caso contrario, nos encontraremos que las teclas no nos funcionen de la forma esperada. Accederemos a la configuración de mapeo de teclado, mediante la opción Keyboard. Una vez dentro, seleccionaremos el teclado que tengamos asignado por defecto, y haremos click en el botón » – » (menos), de la parte interior, para poder eliminar el mapeo de dicho teclado. Posteriormente haremos click en » + » (más), buscaremos en el desplegable el mapeo adecuado a nuestro teclado. Y haremos click en Add, para añadirlo.

Selección mapeo teclado en CentOS 7

Por último volveremos a la página principal, haciendo click de nuevo en Done.

Selección de disco duro, y particionado

Uno de los pasos más importantes, es la selección del disco duro adecuado. ¡Cuidado!, no vayas a borrar algún disco duro, o partición con datos… Una vez advertidos, podemos acceder a seleccionar nuestro disco duro, y gestión de particiones, mediante la opción Installation Destination.

Seleccionaremos el disco duro donde queramos realizar la instalación. Y seleccionaremos la opción I will configure partitioning. Para posteriormente hacer click en Done, para acceder a la creación de particiones.

Selección disco duro instalación CentOS 7

Una vez dentro, seleccionaremos la opción Standard Partition, del desplegable.

Pantalla principal de gestión de particiones de CentOS 7

 

Creamos la partición para SWAP

Una de las cosas a tener en cuenta, es la creación de una partición para SWAP. Así que haremos click en el botón » + » (más), seleccionaremos swap como punto de montaje, y el espacio en megabytes que deseemos emplear para SWAP.

Creación de partición SWAP en CentOS 7

Creamos la partición de instalación del sistema

Acto seguido, crearemos la partición donde se instalará el sistema. Así que repetimos, hacemos click en el botón » + » (más), seleccionamos como punto de montaje «/» (la barra), y en este caso, dejaremos la capacidad sin asignar, así esta ocupará todo el espacio restante del disco duro.

Creación partición instalación de sistema CentOS 7

Una vez creada la partición de instalación del sistema, es muy recomendable, que selecciones el sistema de ficheros ext4.

Propiedades partición sistema CentOS 7

Ahora ya estamos listos para hacer click en Done. Aceptar los cambios a realizar, haciendo click en Accept Changes.

Acciones a realizar particiones instalación CentOS 7

Asignación de Host name

Tampoco debemos olvidar, darle un nombre a nuestra maquina.

Así que una vez más, partiendo de la pantalla principal, del proceso de instalación. Accederemos a la configuración del hostname, mediante la opción Network & Host name. Una vez dentro de la configuración de red, en la parte inferior de la página, indicaremos el nombre que queramos darle a la máquina, en la opción Host name. Y muy importante, para que surjan efecto los cambios, haremos click en Apply.

Asignación hostname CentOS 7

De nuevo volveremos a la página principal, haciendo click en Done.

 

Iniciamos la instalación

En la página principal, haremos click en Begin Installation, para iniciar el proceso de instalación.

Iniciar instalación CentOS 7

Definir contraseña al usuario root

Una vez el proceso de instalación se ha iniciado, disponemos de la opción Root Password, para poder definir la contraseña de nuestro usuario root (super-administrador).

Definir contraseña usuario root CentOS 7

Reiniciar y primer arranque

Una vez finalizado el proceso de instalación, el sistema nos avisará discretamente con un Complete!. Y tendremos un nuevo botón disponible Reboot, que al pulsarlo, reiniciará el sistema, y nos arrancará nuestro CentOS 7 recién instalado.

CentOS 7 correctamente instalado

 

CentOS 7 recién instalado

Instalar nginx + PHP 7.3 en CentOS 7

Hoy vamos a ver cómo instalar Ngnix, con la versión más reciente de PHP. PHP 7.3 la versión más reciente a fecha de publicación de este post.

Antes que nada vamos a hacer sobre estos 2 protagonistas. Aunque si ya los conoces… Y has entrado a este post únicamente para saber cómo instalarlos, te animo que hagas scroll hasta el titular de Instalación paso a paso de Ngnix + PHP 7.3.

Sobre nginx

Nginx es bastante más que un servidor web veloz. Aunque es más conocido por ser un servidor web, también puede ser configurado como proxy inverso e incluso un proxy para protocolos de mail. Para nuestra fortuna, es software libre y el código esta disponible para quien quiera consultarlo, ya que es de código abierto, bajo Licencia BSD. Aunque también existe una versión comercial bastante más completa, llamada nginx plus.

Sobre PHP

PHP (del inglés PHP Hypertext Processor). Aunque inicialmente el nombre provenía de (Personal Home Page Tools). PHP es uno, de los diferentes lenguajes de programación Web, del lado del servidor. El código no es compilado, sino interpretado por un servidor web, con un módulo procesador de PHP. Además debido a su evolución, PHP puede ser ejecutado a través de una interfaz de línea de comandos.

Instalación paso a paso de ngnix + PHP 7.3

Ahora que ya sabemos ligeramente sobre estos 2 aliados, vamos a instalarlos y ponerlos a punto. Primero que todo vamos a necesitar tener instalado Centos 7, sobre nuestra VPS o servidor dedicado. Ahora que tenemos nuestro Centos 7 preparado… ¡Vamos a ello!

 

Instalación de nginx

 

Primero que todo vamos a actualizar todos los paquetes instalados actualmente en nuestro Centos 7.

yum update -y

Instalamos el repositorio EPEL, para posteriormente instalar nginx.

yum install epel-release -y

Instalamos el paquete nginx.

yum -y install nginx

Arrancamos nuestro servidor nginx, ya instalado.

service nginx start

Vamos a habilitar el servicio nginx, para que arranque automáticamente al arrancar nuestro servidor Centos.

systemctl enable

Vamos a arrancar el servicio nginx.

systemctl start nginx

Toca comprobar el estado del servicio nginx.

systemctl status nginx

Que si hasta aquí lo hemos hecho correctamente, veremos el servicio como active (running):

nginx active (running)

 

Vamos a habilitar las peticiones HTTP y HTTPS en nuestro firewall

firewall-cmd –permanent –zone=public –add-service=http

firewall-cmd –permanent –zone=public –add-service=https

Vamos a «recargar» el firewall para aplicar las nuevas reglas añadidas

firewall-cmd –reload

Vamos a comprobar que el servidor nginx este funcionando

Para ello, vamos a abrir un navegador, vamos a introducir la IP de nuestro servidor. Y si hemos completado todos los pasos correctamente, deberíamos ver una pantalla similar a esta:

nginx página por defecto navegador

 

Instalación de PHP 7.3

Lo primero es lo primero, así que vamos a instalar el repositorio de Remi.

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

Antes de pasar al siguiente paso, debemos activar la colección de utilidades de yum

yum install -y yum-utils –enablerepo=»base»

Acto seguido, vamos a habilitar el repositorio de Remi, anteriormente instalado

yum-config-manager –enable remi-php73

Vamos a actualizar de nuevo, todos nuestros paquetes instalados.

yum update -y

Instalamos PHP 7.3, nuestro bien más preciado.

yum install -y php73

Vamos a instalar php73-php-fpm (PHP FastCGI Process Manager) conjuntamente con los módulos de PHP más utilizados

yum install -y php73-php-fpm php73-php-gd php73-php-json php73-php-mbstring php73-php-mysqlnd php73-php-xml php73-php-xmlrpc php73-php-opcache

Comprobamos la versión de PHP instalada

php73 -v

Si todo ha ido bien hasta este punto, deberías ver algo similar a esto:

PHP 7.3.4 (cli) (built: Apr  2 2019 13:48:50) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies

    with Zend OPcache v7.3.4, Copyright (c) 1999-2018, by Zend Technologies

 

Vamos a comprobar los módulos de PHP instalados en nuestro servidor

php73 –modules

Del mismo modo que hemos hecho con nginx… vamos a habilitar el servicio nginx en el arranque del sistema

systemctl enable php73-php-fpm.service

Arrancamos el servicio nginx

systemctl start php73-php-fpm.service

Comprovamos el estado del servicio nginx

systemctl status php73-php-fpm.service

Enlazar nginx con PHP7.3

Ahora viene lo más importante, vamos a «enlazar» nuestro servidor Web nginx, con PHP 7.3.

Vamos a comprobar que usuario del sistema, utiliza nuestro servidor nginx

egrep ‘^(user|group)’ /etc/nginx/nginx.conf

Cuyo resultado será similar a este:

[root@bender ~]# egrep ‘^(user|group)’ /etc/nginx/nginx.conf

user nginx;

Es decir, el usuario que estábamos buscando, en mi caso, y seguramente en el tuyo… es nginx.

Modificamos la configuración de nuestro PHP FPM, para definir el usuario Unix de procesos FPM

vi /etc/opt/remi/php73/php-fpm.d/www.conf

Quedando el fichero de configuración, de la siguiente manera:

; RPM: apache user chosen to provide access to the same directories as httpd

user = nginx

; RPM: Keep a group allowed to write in log dir.

group = nginx

Reiniciamos el servicio PHP FPM para aplicar los cambios

systemctl restart php73-php-fpm.service

Ahora ya sólo nos queda acabar de realizar las últimas pinceladas en la configuración de nginx

Vamos a editar el fichero de configuración de nginx, para indicarle, que debe hacer con nuestros ficheros PHP. ¡Pasarlos por el interprete!

vi /etc/nginx/nginx.conf

La modificación se realizará dentro del aparatado «server» dentro del fichero de configuración. Quedando de esta manera, nuestra configuración.

server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  _;
    root         /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }

    location ~ \.php$ {
            root /usr/share/nginx/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include        fastcgi_params;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    }       

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

Acto seguido, reiniciaremos nuestro servicio nginx, para aplicar los cambios anteriormente realizados en nginx

service nginx restart

Vamos a crear un fichero PHP para comprobar que nginx es capaz de interpretarlo correctamente con la ayuda de PHP FPM

vi /usr/share/nginx/html/p.php

Cuyo contenido del fichero, os recomiendo que sea lanzar la instrucción phpinfo(); para poder comprobar la versión de PHP ejecutada, juntamente con los módulos activos.

<?php
phpinfo();

Accederemos mediante nuestro navegador Web, a la dirección http://IP de nuestro servidor/p.php y si todo ha funcionado correctamente, ya tendremos funcionando nuestro servidor nginx juntamente con la última versión de PHP 7.3

phpinfo php 7.3.4