HTTPS is de dag van vandaag een must voor een website. Er zijn tools om certificaten automatisch aan te vragen (certbot etc), en webservers die gekend zijn om dit automatisch te doen (zoals Caddy), maar wist je dat je met Apache ook geen nood hebt voor Certbot? Met mod_md kan je apache automatisch HTTPS certificaten laten aanvragen via ACME (hetzelfde systeem dat Certbot en de caddy server gebruiken).
Tag archieven: automatiseren
Debian herinstalleren over SSH
Ik wou onlangs mijn nuc herinstalleren, maar omdat er geen scherm is waar mijn nuc staat (hij draait momenteel als headless server), besloot ik om te experimenteren met de Debian installer over SSH. Tijdens het installeren moest ik wel even mijn Nuc gaan halen en aan een scherm hangen (omdat ik een typo gemaakt had), maar ik ben er wel in geslaagd om Debian volledig over SSH te installeren. In deze post ga ik over het proces dat ik gebruikt heb om dit te doen.
MySQL Server Installatie Automatiseren
Ik moest onlangs voor school een MySQL server installeren in een VM. Omdat een mysql server installatie
een interactieve prompt gebruikt voor de `mysql_secure_installation` ben ik op zoek gegaan naar een alternatieve
manier om dezelfde stappen te kunnen doen in een shellscript, om zo de installatie te automatiseren.
Het root wachtwoord kan ingesteld worden met `mysqladmin password “password”`, de overige opties kunnen uitgevoerd
worden met SQL queries:
– Anonieme gebruikers verwijderen:
“`sql
delete from mysql.user where user=”;
“`
– Test databases verwijderen:
“`sql
drop database if exists test;
delete from mysql.db where Db=’test’ or DB=’test\\_%’;
“`
Hieronder het gehele script, alsook extra regels die een extra superuser ‘admin’ aanmaken en mysql doen luisteren op all ip’s.
#!/bin/bash # Dit script automatiseerd de installatie van een MySQL server op een Ubuntu Server # Voor vragen/hulp mail vincent@vincentlammens.be # # Getest op Ubuntu 20.04 # # 1. Installatie van de software # ------------------------------ # Eerst moeten we de benodigde software installeren. In dit geval is het enkel het pakket # 'mysql-server' dat we moeten installeren. sudo apt update; sudo apt install mysql-server -y; # 2. MySQL Secure Installation # ---------------------------- # De eerste stap is om MySQL veilig in te stellen. Hiervoor word normaal gebruik gemaakt van # 'mysql_secure_installation'. Echter kan dit ook op een non-interactieve manier waarmee het te # automatiseren is in een script # zie: https://vincentlammens.be/blog/2021/02/23/mysql-server-installatie-automatiseren/ # !! NOOT: # Hiermee word het root wachtwoord op 'root' gezet, en een extra superuser 'admin' gemaakt met # wachtwoord 'admin'. Dit is niet veilig. Idealieter word dit vervangen door een veiliger # wachtwoord, of een random gegenereerd wachtwoord. sudo mysqladmin password "root"; sudo mysql --user=root <<EOF delete from mysql.user where user=''; drop database if exists test; delete from mysql.db where Db='test' or DB='test\\_%'; flush privileges; create user 'admin'@'%' identified by 'admin'; grant all privileges on *.* to 'admin'@'%' with grant option; flush privileges; EOF # 3. MySQL laten luisteren op alle ip's # ------------------------------------- # Standaard luisterd MySQL server enkel op localhost. Hiervoor moet het bind-address ip veranderd # worden van '127.0.0.1' naar '0.0.0.0'. Dit kunnen we automatiseren met het programma 'sed'. sudo sed -i "s/.*bind-address.*/bind-address=0.0.0.0/" /etc/mysql/mysql.conf.d/mysqld.cnf #restart mysql sudo service mysql restart