jueves, 29 de junio de 2017

INSTALACIÓN DE MYSQL | CENTOS 7

Antes de instalar MySQL es recomendable actualizar el SO.
$> yum -y update

Descargar y añadir el repositorio a la lista de fuentes de paquetes de centos.
Mysql 5.7
$> wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
$> rpm -ivh mysql57-community-release-el7-9.noarch.rpm

Mysql 8.0
$> wget http://repo.mysql.com/mysql80-community-release-el7-2.noarch.rpm
$> rpm -ivh mysql80-community-release-el7-2.noarch.rpm

Instalar MySQL
$> yum -y install mysql-community-server

Iniciar servicio MySQL
$> systemctl start mysqld
$> systemctl enable mysqld

Habilitar firewall
$> firewall-cmd --add-service=mysql --permanent
$> firewall-cmd --reload

Ver clave generada por MYSQL
$> grep -i password /var/log/mysqld.log

Establecer parámetros de seguridad para MYSQL
$> mysql_secure_installation

Cambiar contraseña de usuario root de mysql 5.7
$> mysql -u root -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root#123';
mysql> flush privileges;

mysql> quit

Cambiar contraseña de usuario root de mysql 8.0
$> mysql -u root -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Root#123';
mysql> flush privileges;
mysql> quit

Crear nuevo usuario y establecer permisos en mysql 5.7
$> mysql -u root -p
mysql> CREATE USER 'usuario1'@'localhost' IDENTIFIED BY 'User#123';
mysql> GRANT ALL PRIVILEGES ON * . * TO 'usuario1'@'localhost';
mysql> flush privileges;
mysql> quit


Crear nuevo usuario y establecer permisos en mysql 8.0
$> mysql -u root -p
mysql> CREATE USER 'usuario1'@'localhost' IDENTIFIED WITH mysql_native_password BY 'User#123';
mysql> GRANT ALL PRIVILEGES ON * . * TO 'usuario1'@'localhost';
mysql> flush privileges;
mysql> quit

Reiniciar servicio MySQL
$> systemctl restart mysqld

*****************************************************************
Reiniciar la contraseña de root de MySQL
Detener la instancia del servidor de MySQL
$> systemctl stop mysqld
$> mysqld --skip-grant-tables --user=mysql &

Conectarse al servidor MySQL con root sin pedir contraseña.
$> mysql -u root

Restablecer la contraseña de root
mysql> flush privileges;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root#123';
mysql> quit

Inicie MySQL.
$> systemctl restart mysqld
**************************************************************
Administración de  MySQL
Por consola
$> mysql -u root -p 

Instalar PHP y PHPMyAdmin
========================

Instalar los repositorios de EPEL y REMI: 
$> yum install -y epel-release
$> yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm 

Desactivar el repositorio para la version PHP 5.4:
$> yum install -y yum-utils
$> yum-config-manager --disable remi-php54

Activar el repositorio REMI para la version PHP 7.3:
$> yum-config-manager --enable remi-php73

Instalación de PHP 7.3 en CentOS 7:
$> yum install php php-mysql php-mbstring
Confirmar la Version de PHP 7.3
$> php -v
buscar e instalar extensiones de PHP7
$> yum list php-*
$> yum install php-<extension_name>
$> systemctl restart httpd

Crear un script PHP de prueba.
$> vim /var/www/html/info.php
------------------
<?php phpinfo(); ?>
------------------
Ingresar al navegador:
http://Tu_IP_address/info.php

Eliminar archivo de prueba ya que en realidad podría dar información sobre su servidor a usuarios no autorizados. 
$> rm /var/www/html/info.php

Descargamos la ultima versión de phpMyAdmin
$> cd /var/www/
$> wget https://files.phpmyadmin.net/phpMyAdmin/4.9.1/phpMyAdmin-4.9.1-all-languages.tar.gz

Descomprimir el archivo
$> tar -zxvf phpMyAdmin-4.9.1-all-languages.tar.gz
$> rm phpMyAdmin-4.9.1-all-languages.tar.gz

Renombrar el directorio y cambiar los permisos para apache
$> mv phpMyAdmin-4.9.1-all-languages phpmyadmin
$> cd phpmyadmin
$> chown apache:apache /var/www/phpmyadmin/
$> mv config.sample.inc.php config.inc.php
$> vim config.inc.php          (Poner una clave cualquiera)
-----------------------------------------------------
17:$cfg['blowfish_secret'] = 'aS#Ttb6S*[hExCn{hT+zrD~n-o{TYL7lOvIJjg*a@ga#gs%dgysd';
18:$cfg['TempDir'] = '/tmp/php';
31:$cfg['Servers'][$i]['host'] = '192.168.1.50';
32:$cfg['Servers'][$i]['socket'] = '';
33:$cfg['Servers'][$i]['connect_type'] = 'tcp';
-----------------------------------------------------
Crear directorio para almacenar archivos temporales
$> mkdir /tmp/php
$> chown apache.apache /tmp/php
$> chmod 600 /tmp/php

Restaurar los contextos web de SELINUX
$> restorecon -FRvv /var/www/phpmyadmin

Permitir Apache conexión hacia base de datos
$> setsebool -P httpd_can_network_connect_db 1

Configurar alias y ubicación del directorio virtual:
$> vim /etc/httpd/conf.d/phpmyadmin.conf
-----------------------------------------
  Alias /phpmyadmin /var/www/phpmyadmin
  <Directory "/var/www/phpmyadmin">
    AllowOverride all
    Options Indexes
    Require local
    Require all granted
  </Directory>
-----------------------------------------

Reiniciar Servidor Web
$> systemctl restart httpd
$> systemctl restart mysqld

Ingresar con navegador
$> http://server_domain_o_IP/phpmyadmin
usuario: root
clave:  Root#123

LIMITAR EL ACCESO POR CONTRASEÑA:

Crear el archivo para la autenticacion:
$> vim /var/www/phpmyadmin/.htaccess
------------------------------------------
 AuthName "Solamente usuarios autorizados"
 AuthType Basic
 Require valid-user
 AuthUserFile /var/www/.htpasswd
------------------------------------------
Crear archivo donde se guardara las credenciales:
$> touch /var/www/.htpasswd
$> chmod 600 /var/www/.htpasswd
$> chown apache:apache /var/www/.htpasswd

Crear usuarios virtuales y contraseñas:
$> htpasswd /var/www/.htpasswd carlos
$> htpasswd /var/www/.htpasswd juan

Reniciando servidor web:
$> systemctl restart httpd

Ingresar:
http://server_domain_o_IP/phpmyadmin
usuario: root
clave:  clave12345

No hay comentarios:

Publicar un comentario

Instalar Powershell 7

Instalar Powershell Version 7 -------------------------------------- $> winget search powershell $> winget install Microsoft.Powershe...