Implementación Servidor de Base de Datos

De Base de Conocimiento Técnico
Saltar a: navegación, buscar

Hardware

Para almacenamiento se instalaron 2 discos SATA de 750GB y 2 discos SATA de 2TB, los mismos fueron configurados en RAID 1 para incorporar un nivel de tolerancia a fallos.

Entorno LAMP

Sistema Operativo - CentOS

Traté de instalar CentOS 7 pero existe problema de compatibilidad con el hardware por la ausencia de controladores para el almacenamiento, lo que impedía el reconocimiento de los discos instalados. Por esto se procedió a instalar CentOS 6.9 que incluye los controladores y tiene soporte hasta 2020.

Configurar una IP estática para el servidor

[root@dbs ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:22:64:42:A8:E9
TYPE=Ethernet
UUID=996ecfe7-1886-47ad-b13c-adfb678cfc29
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.24
NETMASK=255.255.255.0

Actualizar los repositorios y software

[root@dbs ~]# yum -y update

Sincronizar el reloj del sistema

[root@dbs ~]# yum install ntp ntpdate ntp-doc
[root@dbs ~]# ntpdate -u ec.pool.ntp.org

Servidor HTTP - Apache 2.2

#yum -y update
#yum install httpd 
#service httpd start
#chkconfig httpd on

Es necesario permitir el acceso al puerto 80 en el firewall local.

 iptables -I INPUT 5 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
 service iptables save 

Motor de Base de Datos - MariaDB

Para poder instalar MariaDB es necesita declarar el repositorio, para esto creamos un nuevo archivo:

# vi /etc/yum.repos.d/MariaDB.repo

Con el siguiente contenido

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Luego es posible instalar el software con yum.

#yum install MariaDB-server MariaDB-client -y 

#service mysql start
# chkconfig --level 35 mysql on
# service mysql status
 
# mysql_secure_installation
 
 muyuyoFCD.753

Permitir acceso al puerto 3306 en el firewall local, para conexiones remotas a la base.

 iptables -I INPUT 6 -i eth0 -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
 service iptables save 
 

Lenguaje Server-Side Script - PHP

En el repositorio oficial de CentOS 6.9, la versión más reciente disponible de PHP es 5.3; por lo que es necesario agregar los repositorios EPEL y Remi para poder instalar versiones actuales.

# wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# rpm -Uvh epel-release-6-8.noarch.rpm remi-release-6.rpm  
# yum install yum-utils
# yum-config-manager --enable remi-php56    [Selección de versión]
# yum install php php-mysql php-gd
 
 
 

Manejo de Base de Datos - PHPMyAdmin

 rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
 yum -y update
 yum -y install phpmyadmin
 

Modificamos el archivo de configuración:

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

Agregar accesos a las redes locales de la FCD (192.168.100.0 y 192.168.200.0)

Cambiar el alias de acceso

Reiniciar Apache para validar los cambios

 service httpd restart
 

Adicionales

Protección contra intrusos - Fail2ban

 yum install fail2ban
 cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
 vi /etc/fail2ban/jail.local

Gestión del Servidor - Webmin

yum install centos-release-scl
yum install python27

[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1

Instalar la llave

wget http://www.webmin.com/jcameron-key.asc
rpm --import jcameron-key.asc

Ahora podemos instalarlo con yum.

yum install webmin

Permitir acceso en el puerto correspondiente en el firewall local

iptables -I INPUT 7 -i eth0 -p tcp --dport 10000 -m state --state NEW,ESTABLISHED -j ACCEPT


Wiki

CREATE DATABASE kmwiki;
GRANT ALL PRIVILEGES ON kmwiki.* TO 'wiki'@'localhost' IDENTIFIED BY 'k159265M';