Qué hay de nuevo

¡BIENVENIDO AL NUEVO FORO 2.0!

Foro sobre SEO, Compra de tráfico, Black Hat y un marketplace de compra venta y servicios web.

HAZ CLICK AQUÍ PARA VER TODAS LAS NOVEDADES

Regístrate ahora para hacer negocios, compartir aportes ¡y mucho más!

[TUTORIAL] Instalar DirectAdmin, más cluster Master/Master

Registrado
2 Oct 2019
Mensajes
64
Hola buenas!

En este tutorial os enseño a como instalar DirectAdmin (DA), y a como montar/configurar un MySQL en Master/Master para un sistema failover.

Segurización de SSH:

Código:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Código:
sudo wget "mi URL de mi git privado" (Script básico propio de segurización "básicamente solo son sed -i, para reemplazar cadenas)
Código:
sudo chmod +x ./secure-ssh.sh
Código:
sudo vi /etc/ssh/sshd_config
AllowUsers username (Importante)

Manejo de errores de RPM:

Código:
rpm -ivh exim-3.36-2.i386.rpm
Código:
rpm -e --nodeps sendmail
Código:
rpm -q servicename
Código:
rpm -qa | grep substring
Código:
rpm -qa | grep apache
Aquí más info:
DirectAdmin Web Control Panel Installation Guide

Instalar librerias (CentOS 7):

Código:
yum install wget gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio \
libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed \
autoconf automake libtool which patch mailx bzip2-devel lsof glibc-headers kernel-devel expat-devel \
psmisc net-tools systemd-devel libdb-devel perl-DBI perl-Perl4-CoreLibs perl-libwww-perl xfsprogs rsyslog logrotate crontabs file kernel-headers
Instalar DirecAdmin:

Código:
cd /root
Código:
wget https://www.directadmin.com/setup.sh
Código:
chmod 755 setup.sh
Código:
./setup.sh
Código:
ipconfig -a
Instalar SSL en DirectAdmin

Código:
/usr/bin/openssl req -x509 -newkey rsa:2048 -keyout /usr/local/directadmin/conf/cakey.pem -out /usr/local/directadmin/conf/cacert.pem -days 9000 -nodes
chown diradmin:diradmin /usr/local/directadmin/conf/cakey.pem
chmod 400 /usr/local/directadmin/conf/cakey.pem
Código:
vi /usr/local/directadmin/conf/directadmin.conf
Código:
SSL=1
Código:
systemctl restart directadmin.service
CSF Firewall

Código:
cd /usr/src
Código:
rm -fv csf.tgz
Código:
wget https://download.configserver.com/csf.tgz
Código:
tar -xzf csf.tgz
Código:
cd csf
Código:
sh install.sh
Código:
sudo iptables -L -n -v
MySQL Master/Master:

Código:
mysql -u -root -p
mysql>
mysql> grant replication slave on \*.\* to slaveuser@'[private IP of srv01]' identified by '[some password]';
mysql> flush privileges;
mysql> exit
mysql> grant replication slave on \*.\* to slaveuser@'[private IP of srv02]' identified by '[some password]';
mysql> flush privileges;
mysql> exit

Editar el archivo /etc/mysql/my.cnf, en la máquina srv01:

bind-address = 0.0.0.0
server-id = 1
log-bin = /var/log/mysql/var/bin.log
log-slave-updates
log-bin-index = /var/log/mysql/log-bin.index
log-error = /var/log/mysql/error.log
relay-log = /var/log/mysql/relay.log
relay-log-info-file = /var/log/mysql/relay-log.info
relay-log-index = /var/log/mysql/relay-log.index
auto_increment_increment = 10
auto_increment_offset = 1
master-host = [private IP address of srv02]
master-user = [replication username]
master-password = [replication password]
replicate-do-db = <database name to be replicated>

Editamos el archivo, en la otra máquina:

bind-address = 0.0.0.0
server-id = 1
log-bin = /var/log/mysql/var/bin.log
log-slave-updates
log-bin-index = /var/log/mysql/log-bin.index
log-error = /var/log/mysql/error.log
relay-log = /var/log/mysql/relay.log
relay-log-info-file = /var/log/mysql/relay-log.info
relay-log-index = /var/log/mysql/relay-log.index
auto_increment_increment = 10
auto_increment_offset = 1
master-host = [private IP address of srv01]
master-user = [replication username]
master-password = [replication password]
replicate-do-db = <database name to be replicated>

Reiniciamos las dos bases de datos.

Comprobamos los logs y nos aseguramos de que no hay ningún error:

tail -f /var/lib/mysql/server.hostname.com.err (RedHat/CentOS)

Testear escenario MySQL Master/Master:

mysql> create database [nombre-db]
mysql> use [nombre-db]
mysql> create table foo (id int not null, username varchar(30) not null);
mysql> insert into foo values (1,'bar');
Un saludo.
 
Última edición:
Arriba