In questo articolo, ti mostrerò come installare MariaDB su OpenBSD 6 e come configurarlo per essere accessibile a un server Web chroot (Apache o Nginx). Imparerai anche come rendere MariaDB disponibile per le applicazioni non chroot.
Nota: tutti i comandi in questa esercitazione devono essere eseguiti con il privilegio di root in una finestra della riga di comando.
I passaggi sono stati testati sull'installazione OpenBSD 6.1 AMD64.
preparativi
Assicurarsi che la variabile di ambiente PKG_PATH
sia configurata.
echo $PKG_PATH
Se è vuoto, configuralo con il seguente comando:
export PKG_PATH=http://ftp3.usa.OpenBSD.org/pub/OpenBSD/$(uname -r)/packages/$(uname -m)/
Passaggio 1: installare MariaDB
pkg_add -v mariadb-server
Passaggio 2: abilitare MariaDB per l'avvio all'avvio del sistema
rcctl enable mysqld
Passaggio 3: avviare MariaDB
/usr/local/bin/mysql_install_db
Se si prevede che MariaDB serva una grande quantità di traffico, aggiungere le seguenti righe al file /etc/login.conf
:
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
Eseguire il comando seguente per generare il formato binario del login.conf
file.
cap_mkdb /etc/login.conf
Passaggio 5: proteggere l'installazione
Esegui il comando di installazione sicura per rendere ancora più difficile compromettere MariaDB.
/usr/local/bin/mysql_secure_installation
Rispondere alle domande quando viene richiesto di impostare la password di root, rimuovere il database di test e disabilitare l'accesso root remoto. La password iniziale per root è vuota.
Passaggio 6: modificare la posizione del socket MariaDB
Modificare la posizione del socket MariaDB in modo che sia accessibile da un ambiente chroot.
I valori predefiniti httpd
in base o nginx
in porta vengono sottoposti a chroot /var/www
, quindi inseriamo il socket in /var/www/var/run/mysql/mysql.sock
modo che appaia /var/run/mysql/mysql.sock
per il web server chrooted.
Crea la directory:
install -d -m 0711 -o _mysql -g _mysql /var/www/var/run/mysql
Modifica /etc/my.cnf
. Sia nella [client]
sezione che nella [mysqld]
sezione, modificare la riga che legge:
socket = /var/run/mysql/mysql.sock
Per:
socket = /var/www/var/run/mysql/mysql.sock
Passaggio 7: avviare MariaDB manualmente
rcctl start mysqld
Passaggio 8: test di MariaDB
Ora prova MariaDB eseguendo il seguente comando.
mysql -uroot -p
Verifica se riesci ad accedere con la password impostata nel passaggio precedente.
Passaggio 9: creare collegamenti soft
Abbiamo bisogno di creare collegamenti soft per la mysql
cartella per rendere MariaDB accessibile per le applicazioni non chroot. Dopo aver modificato mysql.sock
la /var/www/var/run/mysql
directory, alcune applicazioni non chroot potrebbero non essere in grado di trovarla. In tal caso, possiamo risolverlo creando un collegamento software alla /var/www/var/run/mysql
directory in /var/run/
( mysql.sock
posizione predefinita ).
ln -s /var/www/var/run/mysql /var/run/
Ora per rendere permanente questo cambiamento. All'avvio di OpenBSD, cancella tutto nella /var/run
directory, quindi è necessario ricreare il soft link ad ogni riavvio. Possiamo farlo inserendo il comando dal passaggio 9 in un file chiamato /etc/rc.local
. Questo file verrà eseguito dallo script di avvio al termine del processo di avvio. Il /etc/rc.local
file non esiste per impostazione predefinita. Puoi crearne uno copiando dal file di esempio fornito con OpenBSD e aggiungendo il collegamento software ad esso.
cp /etc/examples/rc.local /etc/
echo "ln -s /var/www/var/run/mysql /var/run/" >> /etc/rc.local
Conclusione
Questo è tutto. Il tuo server MariaDB è ora pronto.
Un'altra nota riguardante MariaDB è l' max_allowed_packet
impostazione /etc/my.cnf
. Il valore predefinito è 1M
per la [mysqld]
sezione. In caso di problemi durante l'importazione di un file di dump da un altro server, provare ad aumentarlo su 16M
o 64M
, quindi riavviare MariaDB.