MANUAL PARA SERVIDOR CENTOS 7 ÍNDICE ÍNDICE .................................................................................................................................. 2 1. 2. 3. 4. Configuración de un Subdominio en Centos 7 ............................................................... 3 1.1. Crear nombre del subdominio en Goodaddy ........................................................... 3 1.2. Configuración del subdominio en el servidor .......................................................... 4 Configurar un Recaptcha ................................................................................................. 9 2.1. Crear Recaptcha ....................................................................................................... 9 2.2. Configuración de Recaptcha .................................................................................. 11 Certificado SSL ............................................................................................................. 13 3.1. Instalación de Certbot ............................................................................................ 13 3.2. Configurar certificado SSL en un subdominio ...................................................... 14 3.3. Renovar certificado SSL ........................................................................................ 15 Backup automático MySQL + Script Bash Centos 7 .................................................... 16 4.1. Código Script Bash ................................................................................................ 16 4.2. Configurar un script en el servidor ........................................................................ 19 2 1. Configuración de un Subdominio en Centos 7 1.1. Crear nombre del subdominio en Goodaddy Para agregar un subdominio es necesario crearlo a través de panel de administrador de dominio de Godaddy. Por ejemplo, crearemos un subdominio: facturación.lunaverde.pe El tipo de registro debe ser tipo A, el HOST indicar el nombre del subdominio y APUNTA A tiene que ser la dirección IP del servidor a donde el dominio resolverá. 3 1.2. Configuración del subdominio en el servidor Teniendo el subdominio creado en Godaddy se tiene que hacer las configuraciones dentro del servidor, para ello debemos añadir el subdominio en el servicio de apache en la siguiente ruta: cd /etc/httpd/sites-available ls Ahora debemos crear el subdominio y configurarlo con el siguiente comando: vim facturacion.lunaverde.pe.conf Ahora escribir lo siguiente: <VirtualHost *:80> ServerName facturacion.lunaverde.pe ServerAlias facturacion.lunaverde.pe DocumentRoot /var/www/html/facturacion (Colocar ruta del subdominio) ErrorLog /var/www/html/facturacion/error.log (Colocar la ruta) </VirtualHost> 4 Quedando como en la siguiente imagen: ls 5 Ahora ya tenemos el subdominio creado, sin embargo, tenemos que habilitarlo, para Apache pueda reconocer el subdominio, a continuación, listamos los subdominios que ya están habilitados y se mostrarán con letras de color celeste, ejecutamos el siguiente comando: cd /etc/httpd/sites-available ls 6 Ahora ejecutaremos el siguiente comando para habilitar un subdominio: ln -s /etc/httpd/sites-available/facturacion.lunaverde.pe.conf /etc/httpd/sitesenabled/facturacion.lunaverde.pe.conf Ahora listamos para verificar si se habilitó: ls 7 Por último, para que la configuración del subdominio surta efecto es necesario reiniciar el servicio de Apache, este proceso suele tardar unos minutos y mientras dure este procedimiento quedaran detenidos los servicios web por lo que todas las aplicaciones web quedarán inhabilitadas temporalmente; a continuación, ejecutamos el siguiente comando: systemctl httpd restart 8 2. Configurar un Recaptcha 2.1. Crear Recaptcha Ingresar al siguiente enlace y crearse una cuenta: https://www.google.com/recaptcha/about/ Teniendo una cuenta seguimos a la opción Admin console: Rellenar el siguiente formulario con las siguientes opciones, además de agregar el dominio y presionar el botón registrar: 9 Se obtendrá la clave privada y clave publica para utilizar el Recaptcha, el cual se debe anotar para configurar en el código php y html: Si se desea añadir otro subdominio agregarlo en la siguiente sección, de esta forma estarás habilitando el Recapcha para que funcione con otro subdominio: 10 2.2. Configuración de Recaptcha Ahora lo que tenemos que hacer es reemplazar la clave privada en el archivo logincheck.php en la variable $secret: 11 A continuación, reemplazar la clave publica en Login ubicado en el archivo index.php y en la variable data-sitekey: Finalmente queda actualizar los archivos modificados por FileZilla para que se apliquen los cambios realizados. 12 3. Certificado SSL 3.1. Instalación de Certbot Para obtener el certificado SSL gratuito de Let’s Encrypt, es necesario emitir el certificado vía web, sin embargo, este proceso suele ser más engorroso por lo cual mediante el siguiente método se podrá realizar de forma más sencilla y sin muchos procedimientos mediante certbot. Procedemos a instalar certbot a través del siguiente comando: yum install epel-release 13 yum install certbot python2-certbot-apache mod_ssl 3.2. Configurar certificado SSL en un subdominio Para instalar un certificado SSL para un subdominio en específico, realizar mediante el siguiente comando y seguir con las instrucciones de la terminal: certbot –apache 14 3.3. Renovar certificado SSL Para renovar el certificado SSL para todos los subdominios activos de forma inmediata, solo basta ejecutar la siguiente línea de comando: certbot renew Con este procedimiento se renovará el certificado SSL para todos los subdominios con una vigencia de 90 días, sin embargo, se puede ejecutar este mismo comando antes que el certificado caduque. 15 4. Backup automático MySQL + Script Bash Centos 7 4.1. Código Script Bash #!/bin/bash ################################################################ ## ## Script Bash ## Auto BackUp MySQL ## By: Gino Su ## Update: Jan 10, 2021 ## ################################################################ export PATH=/bin:/usr/bin:/usr/local/bin TODAY=`date +"%d%b%Y"` HORA=`date +"%H:%M"` ################################################################ ################## Solo modificar valores aca ####################### DB_BACKUP_PATH='/backup/dbbackup' MYSQL_HOST='localhost' MYSQL_PORT='3306' MYSQL_USER='root' MYSQL_PASSWORD='lverde' 16 DATABASE_NAME='saphi' BACKUP_RETAIN_DAYS=30 ## Plazo maximo de BackUp ################################################################# mkdir -p ${DB_BACKUP_PATH}/${TODAY} echo "Backup started for database - ${DATABASE_NAME}" mysqldump -h ${MYSQL_HOST} \ -P ${MYSQL_PORT} \ -u ${MYSQL_USER} \ -p${MYSQL_PASSWORD} \ ${DATABASE_NAME} | gzip > ${DB_BACKUP_PATH}/${TODAY}/${DATABASE_NAME}-${HORA}.sql.gz if [ $? -eq 0 ]; then echo "Backup generado con exito" else echo "Error al generar backup" fi 17 ##### Remove backups older than {BACKUP_RETAIN_DAYS} days ##### DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"` if [ ! -z ${DB_BACKUP_PATH} ]; then cd ${DB_BACKUP_PATH} if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then rm -rf ${DBDELDATE} fi fi ### End of script #### 18 4.2. Configurar un script en el servidor Crear un archivo con la extensión .sh mediante siguiente comando: vim /bksaphi.sh Copiar el código completo del script y pegar en el terminal con clic derecho. Modificar los valores según la base de datos al cual se desea crear los backups, por ejemplo, a la base de datos saphi y el plazo máximo para guardar las copias de seguridad con 30 días: Para guardar presionar la tecla ESC, luego escribir: WQ! y presionar la tecla ENTER. 19 Listamos lo que acabamos de crear: ls Es necesario que el script tenga los permisos de ejecución, por lo tanto, aplicamos el siguiente comando: chmod 777 bksaphi.sh Al ejecutar dicho comando, el archivo tendrá los permisos de ejecución y se mostrará en letras de color verde como en la siguiente imagen: ls 20 Ahora que ya se tiene el script creado y configurado se necesita que estas órdenes se ejecuten automáticamente mediante crontab, para ello se debe añadir la tarea dentro de la lista, para que el script sea ejecutado por ejemplo 4 veces al día en diferentes horarios que elijamos, todos los días. Ejecutar lo siguiente: crontab -e 0 3,9,15,21 * * * /root/bksaphi.sh (Aquí debes indicar la ruta del script y las horas) Para guardar presionar la tecla ESC, luego escribir: WQ! y presionar la tecla ENTER. Estructura para la configuración: 21 Finalmente, como resultado tendremos el siguiente mensaje que todo salió bien: Si se desea probar la funcionalidad del script ejecutar el siguiente comando para que genere el backup: sh bksaphi.sh 22 Para verificar los backup generados, ingresamos a la ruta: cd /backup/dbbackup O si bien se desea descargar el archivo vía FTP: 23