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 aprenderá cómo hacer que MariaDB esté disponible para aplicaciones no controladas.
Nota: Todos los comandos en este tutorial deben ejecutarse con privilegios de root en una ventana de línea de comandos.
Se probaron los pasos en la instalación de OpenBSD 6.1 AMD64.
Preparativos
Asegúrese de que la variable de entorno PKG_PATH
esté configurada.
echo $PKG_PATH
Si está vacío, configúrelo con el siguiente comando:
export PKG_PATH=http://ftp3.usa.OpenBSD.org/pub/OpenBSD/$(uname -r)/packages/$(uname -m)/
Paso 1: instalar MariaDB
pkg_add -v mariadb-server
Paso 2: habilite MariaDB para comenzar en el arranque del sistema
rcctl enable mysqld
Paso 3: Inicie MariaDB
/usr/local/bin/mysql_install_db
Si se espera que su MariaDB sirva una gran cantidad de tráfico, agregue las siguientes líneas al archivo /etc/login.conf
:
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
Ejecute el siguiente comando para generar el formato binario del login.conf
archivo.
cap_mkdb /etc/login.conf
Paso 5: Asegure la instalación
Ejecute el comando de instalación segura para hacer que MariaDB sea aún más difícil de comprometer.
/usr/local/bin/mysql_secure_installation
Responda las preguntas cuando se le solicite para establecer la contraseña de root, elimine la base de datos de prueba y desactive el inicio de sesión root remoto. La contraseña inicial para root está en blanco.
Paso 6: Cambiar la ubicación del socket MariaDB
Cambie la ubicación del socket MariaDB para que sea accesible desde un entorno chrooteado.
Los valores predeterminados httpd
en base o nginx
en puerto se convierten en chroot /var/www
, así que vamos a poner el zócalo /var/www/var/run/mysql/mysql.sock
, de modo que parezca ser /var/run/mysql/mysql.sock
para el servidor web chroot.
Crea el directorio:
install -d -m 0711 -o _mysql -g _mysql /var/www/var/run/mysql
Editar /etc/my.cnf
. Tanto en la [client]
sección como en la [mysqld]
sección, cambie la línea que dice:
socket = /var/run/mysql/mysql.sock
A:
socket = /var/www/var/run/mysql/mysql.sock
Paso 7: Inicie MariaDB manualmente
rcctl start mysqld
Paso 8: prueba MariaDB
Ahora pruebe MariaDB ejecutando el siguiente comando.
mysql -uroot -p
Compruebe si puede iniciar sesión con la contraseña que estableció en el paso anterior.
Paso 9: crear enlaces suaves
Necesitamos crear enlaces blandos para la mysql
carpeta para hacer que MariaDB sea accesible para aplicaciones no chroot. Después de haber cambiado mysql.sock
al /var/www/var/run/mysql
directorio, es posible que algunas aplicaciones no controladas no puedan encontrarlo. Si ese es el caso, podemos resolverlo creando un enlace suave al /var/www/var/run/mysql
directorio en /var/run/
(la mysql.sock
ubicación predeterminada ).
ln -s /var/www/var/run/mysql /var/run/
Ahora para hacer este cambio permanente. Cuando se inicia OpenBSD, borra todo lo que se encuentra debajo del /var/run
directorio, por lo que debemos volver a crear el enlace flexible en cada reinicio. Podemos hacer esto poniendo el comando del paso 9 en un archivo llamado /etc/rc.local
. Este archivo será ejecutado por el script de inicio al final del proceso de inicio. El /etc/rc.local
archivo no existe por defecto. Puede crear uno copiando el archivo de ejemplo enviado con OpenBSD y agregando el enlace suave a él.
cp /etc/examples/rc.local /etc/
echo "ln -s /var/www/var/run/mysql /var/run/" >> /etc/rc.local
Conclusión
Eso es. Su servidor MariaDB ahora está listo para funcionar.
Otra nota con respecto a MariaDB es la max_allowed_packet
configuración en /etc/my.cnf
. El valor predeterminado es 1M
para la [mysqld]
sección. Si tiene problemas al importar un archivo de volcado desde otro servidor, intente aumentar a 16M
o 64M
, y luego reiniciar MariaDB.