Dans cet article, je vais vous montrer comment installer MariaDB sur OpenBSD 6 et le configurer pour qu'il soit accessible à un serveur web chrooté (Apache ou Nginx). Vous apprendrez également comment rendre MariaDB accessible aux applications non chrootées.
Remarque: Toutes les commandes de ce didacticiel doivent être exécutées avec le privilège root dans une fenêtre de ligne de commande.
Les étapes ont été testées sur l'installation d'OpenBSD 6.1 AMD64.
Les préparatifs
Assurez-vous que la variable d'environnement PKG_PATH
est configurée.
echo $PKG_PATH
S'il est vide, configurez-le avec la commande suivante:
export PKG_PATH=http://ftp3.usa.OpenBSD.org/pub/OpenBSD/$(uname -r)/packages/$(uname -m)/
Étape 1: installer MariaDB
pkg_add -v mariadb-server
Étape 2: activer MariaDB pour démarrer au démarrage du système
rcctl enable mysqld
Étape 3: démarrez MariaDB
/usr/local/bin/mysql_install_db
Si votre MariaDB est censée gérer une grande quantité de trafic, ajoutez les lignes suivantes au fichier /etc/login.conf
:
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
Exécutez la commande suivante pour générer le format binaire du login.conf
fichier.
cap_mkdb /etc/login.conf
Étape 5: sécuriser l'installation
Exécutez la commande d'installation sécurisée pour rendre MariaDB encore plus difficile à compromettre.
/usr/local/bin/mysql_secure_installation
Répondez aux questions lorsque vous êtes invité à définir le mot de passe root, supprimez la base de données de test et désactivez la connexion root distante. Le mot de passe initial pour root est vide.
Étape 6: modifier l'emplacement du socket MariaDB
Modifiez l'emplacement du socket MariaDB afin qu'il soit accessible à partir d'un environnement chrooté.
Les valeurs par défaut httpd
dans la base ou nginx
dans le port sont chrootées /var/www
, nous allons donc mettre le socket /var/www/var/run/mysql/mysql.sock
dedans, de sorte qu'il semble être /var/run/mysql/mysql.sock
pour le serveur web chrooté.
Créez le répertoire:
install -d -m 0711 -o _mysql -g _mysql /var/www/var/run/mysql
Modifier /etc/my.cnf
. Dans la [client]
section et la [mysqld]
section, modifiez la ligne qui lit:
socket = /var/run/mysql/mysql.sock
À:
socket = /var/www/var/run/mysql/mysql.sock
Étape 7: démarrez MariaDB manuellement
rcctl start mysqld
Étape 8: Testez MariaDB
Testez maintenant MariaDB en exécutant la commande suivante.
mysql -uroot -p
Vérifiez si vous pouvez vous connecter avec le mot de passe que vous avez défini à l'étape précédente.
Étape 9: créer des liens logiciels
Nous devons créer des liens mysql
logiciels pour le dossier afin de rendre MariaDB accessible pour les applications non chrootées. Après avoir changé mysql.sock
de /var/www/var/run/mysql
répertoire, certaines applications non chrootées peuvent ne pas pouvoir le trouver. Si tel est le cas, nous pouvons le résoudre en créant un lien logiciel vers le /var/www/var/run/mysql
répertoire dans /var/run/
(l' mysql.sock
emplacement par défaut ).
ln -s /var/www/var/run/mysql /var/run/
Maintenant, pour rendre ce changement permanent. Lorsque OpenBSD démarre, il efface tout sous le /var/run
répertoire, nous devons donc recréer le lien logiciel à chaque redémarrage. Nous pouvons le faire en plaçant la commande de l'étape 9 dans un fichier appelé /etc/rc.local
. Ce fichier sera exécuté par le script de démarrage à la fin du processus de démarrage. Le /etc/rc.local
fichier n'existe pas par défaut. Vous pouvez en créer un en copiant à partir du fichier d'exemple livré avec OpenBSD et en y ajoutant le lien logiciel.
cp /etc/examples/rc.local /etc/
echo "ln -s /var/www/var/run/mysql /var/run/" >> /etc/rc.local
Conclusion
C'est tout. Votre serveur MariaDB est maintenant prêt à fonctionner.
Une autre note concernant MariaDB est la max_allowed_packet
mise en place /etc/my.cnf
. La valeur par défaut est 1M
pour la [mysqld]
section. Si vous rencontrez des problèmes lors de l'importation d'un fichier de vidage à partir d'un autre serveur, essayez de l'augmenter vers 16M
ou 64M
, puis redémarrez MariaDB.