https://www.ispeech.org
A primeira etapa desse tutorial é instalar o MySQL no PfSense e instalar o PHP PDO para que o Captiveportal OneStep funcione corretamente.
Antes de mais nada, precisamos preparar o ambiente para utilizar o CaptivePortal Self-Register no pfSense, assim, nessa parte do tutorial iremos instalar o MySQL no pfSense.
Primeiro, pelo SSH ou pelo console do pfSense atualize a lista de pacotes:
pkg update pkg upgrade
Agora, instale o MySQL-Client:
pkg install mysql57-client
Depois, instale também o conector do PHP com o MySQL com o comando abaixo:
pkg install php72-pdo pkg insatll php72-pdo_mysql
Agora, vamos instalar o MySQL-Server, pode ser que você tenha notado que ele não está na lista de pacotes do pfsense.a NETGATE optou por remover a lista de pacotes padrão do FreeBSD no pfSense, então, antes de mais nada vamos instalá-lo de um repositório manualmente.
Lembrando que o pfSense é baseado no FreeBSD 11, então temos que usar esse repositório, você pode ver o repositório completo nesse link.
Vamos instala-lo pelo pkg:
pkg add http://pkg.freebsd.org/freebsd:11:x86:64/latest/All/mysql57-server-5.7.30_2.txz
Agora o macete da instalação:
Contudo, no FreeBSD o MySQL não vai iniciar sozinho, você precisa fazer isso manualmente! Então, vamos verificar se ele está rodando:
ps -waux | grep mysql
Para inicia-lo é necessário adicionar a seguinte linha 'mysql_enable="YES"' no arquivo /etc/rc.conf
echo 'mysql_enable="YES"' > /etc/rc.conf
Antes de continuar, é bom saber que o pfSense, por ser baseado no FreeBSD, não inicia automaticamente um script se ele não terminar com .sh, por isso precisamos renomear nosso script.
mv /usr/local/etc/rc.d/mysql-server /usr/local/etc/rc.d/mysql-server.sh
Enfim podemos inicia-lo:
/usr/local/etc/rc.d/mysql-server.sh start
O próximo passo: precisamos mudar a senha root do MySQL. Uma senha temporária é gerada assim que rodamos o mysql-server pela primeira vez e fica armazenada no arquivo /root/.mysql_secret.
Para vê-la, não se esqueça de anotar:
cat /root/.mysql_secret
Vamos em seguida alterá-la. Quando você acessar o MySQL, acesse com a senha informada acima.
mysql -u root -p
Feito isso, vamos atualizar a senha do usuário root no MySQL:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword'; exit;
Agora vamos excluir a senha temporária:
rm .mysql_secret
Pronto! Finalmente você pode reiniciar o pfSense.
Veja mais tutoriais aqui.
Você pode saber mais sobre o CaptivePortal OneStep aqui.