Cómo instalar Apache Cassandra 3.11.x en Ubuntu 16.04 LTS
¿Usando un sistema diferente? Apache Cassandra es un sistema de gestión de base de datos NoSQL gratuito y de código abierto que está diseñado para proporcionar escalabilidad, alta
MariaDB es una base de datos gratuita de código abierto, y es el reemplazo directo más utilizado para MySQL. Está hecho por los desarrolladores de MySQL y está destinado a permanecer libre bajo la GNU GPL. Es muy rápido, escalable y viene con un rico conjunto de características que lo hacen muy versátil para una amplia variedad de casos de uso.
Este tutorial lo guiará a través de cómo instalar y configurar MariaDB con soporte SSL en Ubuntu 16.04.
Por defecto, la última versión de MariaDB no está disponible en el repositorio de Ubuntu 16.04; por lo tanto, deberá agregar el repositorio MariaDB a su sistema.
Primero, descargue la clave con el siguiente comando:
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
A continuación, agregue el repositorio MariaDB al /etc/apt/sources.list
archivo:
sudo echo "deb [arch=amd64,i386,ppc64el] http://ftp.utexas.edu/mariadb/repo/10.1/ubuntu xenial main" >> /etc/apt/sources.list
Actualice el índice apt con el siguiente comando:
sudo apt-get update -y
Una vez que apt index ha sido actualizado, instale el servidor MariaDB con el siguiente comando:
sudo apt-get install mariadb-server -y
Inicie el servidor MariaDB y permita que se inicie en el momento del arranque:
sudo systemctl start mysql
sudo systemctl enable mysql
A continuación, deberá ejecutar un mysql_secure_installation
script para asegurar la instalación de MariaDB. Este script le permite establecer la contraseña de root, eliminar usuarios anónimos, no permitir el inicio de sesión root remoto y eliminar la base de datos de prueba:
sudo mysql_secure_installation
Primero, cree un directorio para almacenar todos los archivos de claves y certificados.
sudo mkdir /etc/mysql-ssl
A continuación, cambie el directorio /etc/mysql-ssl
y cree el certificado de CA y la clave privada con el siguiente comando:
sudo cd /etc/mysql-ssl
sudo openssl genrsa 2048 > ca-key.pem
sudo openssl req -new -x509 -nodes -days 365000 -key ca-key.pem -out ca-cert.pem
Responda todas las preguntas como se muestra a continuación:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:IN
State or Province Name (full name) [Some-State]:GUJ
Locality Name (eg, city) []:JND
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ENJ
Organizational Unit Name (eg, section) []:SYSTEM
Common Name (e.g. server FQDN or YOUR name) []:HITESH
Email Address []:[email protected]
A continuación, cree una clave privada para el servidor con el siguiente comando:
sudo openssl req -newkey rsa:2048 -days 365 -nodes -keyout server-key.pem -out server-req.pem
Responda todas las preguntas como lo hizo en el comando anterior.
A continuación, exporte la clave privada del servidor a una clave de tipo RSA con el siguiente comando:
sudo sudo openssl rsa -in server-key.pem -out server-key.pem
Finalmente, genere un certificado de servidor utilizando el certificado de CA de la siguiente manera:
sudo openssl x509 -req -in server-req.pem -days 365 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
Ahora puede ver todos los certificados y claves con el siguiente comando:
ls
Debería ver el siguiente resultado:
ca-cert.pem ca-key.pem server-cert.pem server-key.pem server-req.pem
Una vez que haya terminado, puede continuar con el siguiente paso.
Debe tener todos los certificados y una clave privada; y ahora necesitará configurar MariaDB para usar la clave y los certificados. Puede hacer esto editando el /etc/mysql/mariadb.conf.d/50-server.cnf
archivo:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Agregue las siguientes líneas debajo de la [mysqld]
sección:
ssl-ca=/etc/mysql-ssl/ca-cert.pem
ssl-cert=/etc/mysql-ssl/server-cert.pem
ssl-key=/etc/mysql-ssl/server-key.pem
##Change this value to connect the MariaDB server from another host.
bind-address = *
Guarde el archivo, luego reinicie el servicio MariaDB para aplicar estos cambios:
sudo systemctl restart mysql
Ahora, puede verificar si la configuración SSL funciona o no con la siguiente consulta:
mysql -u root -p
MariaDB [(none)]> SHOW VARIABLES LIKE '%ssl%';
Si la configuración fue exitosa, debería ver el siguiente resultado:
+---------------+--------------------------------+
| Variable_name | Value |
+---------------+--------------------------------+
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | /etc/mysql-ssl/ca-cert.pem |
| ssl_capath | |
| ssl_cert | /etc/mysql-ssl/server-cert.pem |
| ssl_cipher | |
| ssl_crl | |
| ssl_crlpath | |
| ssl_key | /etc/mysql-ssl/server-key.pem |
+---------------+--------------------------------+
Debería notar que los valores have_ssl
y have_openssl
están habilitados en la salida anterior.
Cree un usuario remoto que tenga privilegios para acceder al servidor MariaDB a través de SSL. Haga esto ejecutando el siguiente comando:
Primero, inicie sesión en el shell de MySQL:
mysql -u root -p
A continuación, cree un usuario remote
y otorgue privilegios para acceder al servidor a través de SSL.
MariaDB [(none)]>GRANT ALL PRIVILEGES ON *.* TO 'remote'@'192.168.0.191' IDENTIFIED BY 'password' REQUIRE SSL;
Luego, vacíe los privilegios con el siguiente comando:
MariaDB [(none)]>FLUSH PRIVILEGES;
Finalmente, salga del shell MySQL con el siguiente comando:
MariaDB [(none)]>exit;
Nota: 192.168.0.191 es la dirección IP de la máquina del usuario remoto (Cliente).
Su servidor ahora está listo para permitir conexiones a usuarios remotos.
La configuración del lado del servidor está completa. A continuación, deberá crear una nueva clave y certificado para el cliente.
En la máquina del servidor, cree la clave del cliente con el siguiente comando:
sudo cd /etc/mysql-ssl
sudo sudo openssl req -newkey rsa:2048 -days 365 -nodes -keyout client-key.pem -out client-req.pem
A continuación, procese la clave RSA del cliente con el siguiente comando:
sudo openssl rsa -in client-key.pem -out client-key.pem
Finalmente, firme el certificado del cliente con el siguiente comando:
sudo openssl x509 -req -in client-req.pem -days 365 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem
Todos los certificados y la clave están listos para el cliente. A continuación, deberá copiar todos los certificados de cliente en cualquier máquina cliente donde desee ejecutar el cliente MariaDB.
Deberá instalar el cliente MariaDB en la máquina cliente.
Primero, en la máquina cliente, descargue la clave para MariaDB con el siguiente comando:
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
Luego, agregue el repositorio MariaDB al /etc/apt/sources.list
archivo:
sudo echo "deb [arch=amd64,i386,ppc64el] http://ftp.utexas.edu/mariadb/repo/10.1/ubuntu xenial main" >> /etc/apt/sources.list
A continuación, actualice el índice de apt con el siguiente comando:
sudo apt-get update -y
Una vez que se actualiza el índice apt, instale el cliente MariaDB en la máquina cliente con el siguiente comando:
sudo apt-get install mariadb-client -y
Ahora cree un directorio para almacenar todos los certificados:
sudo mkdir /etc/mysql-ssl
A continuación, copie todos los certificados de cliente de la máquina del servidor a la máquina del cliente con el siguiente comando:
sudo scp [email protected]:/etc/mysql-ssl/client-* /etc/mysql-ssl/
Luego, deberá configurar el cliente MariaDB para usar SSL. Puede hacer esto creando un /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf
archivo:
sudo nano /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf
Agregue las siguientes líneas:
[client]
ssl-ca=/etc/mysql-ssl/ca-cert.pem
ssl-cert=/etc/mysql-ssl/client-cert.pem
ssl-key=/etc/mysql-ssl/client-key.pem
Guarde el archivo cuando haya terminado.
Ahora que todo está configurado, es hora de verificar si puede conectarse con éxito al servidor MariaDB o no.
En la máquina cliente, ejecute el siguiente comando para conectarse al servidor MariaDB:
mysql -u remote -h 192.168.0.190 -p mysql
Se le pedirá que ingrese la remote
contraseña de usuario. Después de proporcionar la contraseña, iniciará sesión en el servidor remoto MariaDB.
Verifique el estado de la conexión con el siguiente comando:
MariaDB [mysql]> status
Debería ver el siguiente resultado:
--------------
mysql Ver 15.1 Distrib 10.2.7-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Connection id: 62
Current database: mysql
Current user: [email protected]
SSL: Cipher in use is DHE-RSA-AES256-SHA
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MariaDB
Server version: 10.0.31-MariaDB-0ubuntu0.16.04.2 Ubuntu 16.04
Protocol version: 10
Connection: 192.168.0.190 via TCP/IP
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3306
Uptime: 1 hours 31 min 31 sec
Deberías ver SSL: Cipher in use is DHE-RSA-AES256-SHA
en la salida anterior. Eso significa que su conexión ahora es segura con SSL.
¡Felicidades! Ha configurado correctamente un servidor MariaDB con soporte SSL. Ahora puede otorgar acceso a otros clientes para acceder al servidor MariaDB a través de SSL.
¿Usando un sistema diferente? Apache Cassandra es un sistema de gestión de base de datos NoSQL gratuito y de código abierto que está diseñado para proporcionar escalabilidad, alta
MongoDB no es seguro por defecto. Si está instalando MongoDB y lo está iniciando sin configurarlo para la autenticación, lo pasará mal
OrientDB es un DBMS NoSQL de código abierto multi-modelo de última generación. Con soporte para múltiples modelos de datos, OrientDB puede proporcionar más funcionalidad y flexibilidad en
¿Usando un sistema diferente? Introducción ArangoDB es una base de datos NoSQL de código abierto con un modelo de datos flexible para documentos, gráficos y valores clave. Está
Desde su concepción en 2009, MongoDB ha liderado la industria NoSQL. Uno de los conceptos centrales de MongoDB es el conjunto de réplicas, por lo que antes de trabajar con i
Redis es un almacén de estructura de datos. Es popular entre los sitios de WordPress porque ofrece grandes aumentos de rendimiento debido a su enfoque optimizado en el almacenamiento en caché.
Prerequisites A Vultr server running up to date Arch Linux (see this article.) Sudo access: Commands required to be ran as root are prefixed by #, and one
MySQL es el software más popular del mundo utilizado para bases de datos. Es muy importante asegurarse de tener copias de seguridad de su base de datos. Esta práctica permite
Introducción En este artículo, veamos cómo hacer una copia de seguridad de múltiples bases de datos MySQL o MariaDB que se encuentran en la misma máquina usando un script de bash personalizado
MongoDB es una base de datos NoSQL rápida y potente. Sin embargo, los repositorios de Debian se actualizan lentamente y a menudo contienen versiones muy antiguas de paquetes. Esta tutoria
¿Usando un sistema diferente? Apache Cassandra es un sistema de gestión de base de datos NoSQL gratuito y de código abierto que está diseñado para proporcionar escalabilidad, alta
Introduction MyCLI is a command line client for MySQL and MariaDB that allows you to auto-complete and helps with the syntax of your SQL commands. MyCL
Barnyard2 es una forma de almacenar y procesar las salidas binarias de Snort en una base de datos MySQL. Antes de comenzar Tenga en cuenta que si no tiene snor
RockMongo es una herramienta de administración de MongoDB basada en la web que es similar a la herramienta de administración de MySQL: phpMyAdmin. Este tutorial cubrirá el proceso de instalación
En este artículo, le mostraré cómo instalar MariaDB en OpenBSD 6 y configurarlo para que sea accesible a un servidor web chrooteado (Apache o Nginx). También lo harás
¿Usando un sistema diferente? Introducción ArangoDB es una base de datos NoSQL de código abierto con un modelo de datos flexible para documentos, gráficos y valores clave. Está
Prerequisites A Vultr server running up to date Arch Linux (see this article) Sudo access: Commands required to be ran as root are prefixed by #, and one
Redis es una solución de almacenamiento de datos de valor clave, a menudo denominada base de datos NoSQL. Puede alcanzar velocidades de lectura / escritura muy altas porque es un bu en memoria
Laravel GitScrum o GitScrum es una herramienta de productividad de código abierto diseñada para ayudar a los equipos de desarrollo a implementar la metodología Scrum de una manera similar.
Requisitos previos Docker engine 1.8+. Mínimo de 4 GB de espacio en disco. Mínimo de 4 GB de RAM. Paso 1. Instalar Docker Para instalar SQL-Server, Docker mus
Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición
ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.
Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+
Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.
Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información
13 Herramientas comerciales de extracción de datos de Big Data
Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.
A medida que la ciencia evoluciona a un ritmo rápido, asumiendo muchos de nuestros esfuerzos, también aumentan los riesgos de someternos a una singularidad inexplicable. Lea, lo que la singularidad podría significar para nosotros.
Una mirada a 26 técnicas analíticas de Big Data: Parte 1
La IA en la salud ha dado grandes pasos desde las últimas décadas. Por tanto, el futuro de la IA en el sector sanitario sigue creciendo día a día.