Al gestionar cualquier sistema operativo que sea de código abierto es ideal que tengamos presentes las diversas herramientas y aplicaciones que podemos usar para implementar al máximo el potencial de dicho sistema.
Uno de estos sistemas operativos es FreeBSD el cual es un derivado de BSD, la versión de UNIX para arquitecturas x86 compatibles.
En esta oportunidad Solvetic analizará cómo podemos instalar FBAMP, o como conocemos en algunas versiones de Linux como LAMP en este sistema FreeBSD.
- FB: FreeBSD
- A: Apache, Un servidor web de código abierto más popular hoy en día.
- M: MariaDB, es un sistema de gestión de base de datos relacional.
- P: PHP, un lenguaje de código abierto para el desarrollo web y que permite ser incrustado en HTML.
A continuación veremos cómo instalar estas aplicaciones en FreeBSD de forma práctica.
1. Instalar Apache en FreeBSD
Por defecto, cuando tenemos FreeBSD, tendremos a mano múltiples versiones las cuales cuentan con diferentes módulos de tiempo de ejecución para el servidor web Apache.
Estas versiones son pre-compiladas en un paquete binario y proporcionadas por repositorios de FreeBSD PORTS, si deseamos desplegar todos los binarios de paquetes Apache proporcionados por PORTS, será necesario ejecutar el siguiente comando en FreeBSD:
ls /usr/ports/www/ | grep apache
Otra de las opciones para buscar paquetes pre-compilados disponibles de Apache en FreeBSD es ejecutar el siguiente comando:
pkg search apache2
Con esto definido, el siguiente paso será instalar la última versión del servidor HTTP Apache con todos los módulos necesarios ejecutando el siguiente comando:
pkg install apache24
Ingresamos la letra y para aceptar la descarga e instalación de los paquetes de Apache. Una vez instalado veremos lo siguiente:
Una vez sea instalado el servidor web Apache en FreeBSD, debemos ejecutar el siguiente comando para habilitar el daemon en todo el sistema.
sysrc apache24_enable="yes"
Como otra alternativa para habilitar el daemon de Apache, sería editar y agregar manualmente la línea apache24_enable = "yes" en el archivo “/etc/rc.conf” usando el editor deseado:
nano /etc/rc.conf
cd /usr/ports portsnap fetch update portsnap fetch extract update cd /usr/ports/editors/nano make install clean ln -s /usr/local/bin/nano /usr/bin/nano
Una vez habilitado el Daemon ejecutaremos el siguiente comando para iniciar el servicio de Apache en FreeBSD:
service apache24 start service apache24 status
Para comprobar que Apache ha sido instalado de forma correcta comprobaremos la dirección IP de FreeBSD y en algún navegador ingresaremos la siguiente sintaxis:
http://IP_FreeBSD
/usr/local/www/apache24/data/
2. Instalar PHP en FreeBSD
Al igual que Apache, FreeBSD nos ofrece diversos paquetes empaquetados en binarios para el lenguaje PHP.
Para obtener un listado de todos los paquetes de versiones de PHP disponibles proporcionados por los repositorios de FreeBSD Ports ejecutaremos el siguiente comando:
ls /usr/ports/lang/ | grep php
Este resultado también lo podemos obtener ejecutando el siguiente comando:
pkg search -o php
Para buscar todos los binarios disponibles proporcionados por FreeBSD para una versión específica de PHP haremos uso de los siguientes comandos (tomando como base la versión 5 o 7 de PHP):
pkg search php5 |less pkg search php7
En este caso instalaremos PHP 7.1 y para esto ejecutaremos el siguiente comando para instalar PHP con algunos de los módulos más importantes necesarios para una instalación común de PHP:
pkg install php71 mod_php71 php71-mbstring php71-mcrypt php71-zlib php71-curl php71-gd php71-json
Aceptamos la descarga de dichos paquetes. A continuación, será necesario crear el archivo de configuración de php.conf para el servidor web Apache en el directorio /usr/local/etc/apache24/Includes/ y para ello ejecutaremos lo siguiente:
nano /usr/local/etc/apache24/Includes/php.conf
En el nuevo archivo pegaremos lo siguiente:
<IfModule dir_module> DirectoryIndex index.php index.html <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> </IfModule>
Guardamos los cambios y cerramos el archivo. Ahora podemos ir de nuevo al navegador e ingresar la siguiente sintaxis para validar PHP:
http://IP_FreeBSD:info.php
3. Instalar MariaDB en FreeBSD
El siguiente paso a dar consiste en la instalación del gestor de base de datos MariaDB y para validar que componentes están disponibles para las bases de datos de MariaDB ejecutaremos el siguiente comando. Podemos ver las diversas opciones disponibles.
ls -al /usr/ports/databases/ | grep mariadb
pkg search -o mariadb ls -al /usr/ports/databases/ | grep mysql pkg search -o mysql5
En este caso instalaremos el paquete mariadb102 ejecutando el siguiente comando:
pkg install mariadb102-server mariadb102-client php71-mysqli
Aceptamos la descarga e instalación de los paquetes. Ahora, habilitaremos el servidor MariaDB en FreeBSD e iniciaremos el daemon de la base de datos ejecutando los siguientes comandos:
sysrc mysql_enable="yes" service mysql-server start
Ahora aseguraremos la instalación de MariaDB ejecutando la línea mysql_secure_installation de la siguiente forma:
/usr/local/bin/mysql_secure_installation
Allí iniciará una serie de preguntas que debemos definir en base a las necesidades actuales:
Finalmente veremos lo siguiente:
De forma predeterminada, el daemon de MariaDB escucha las conexiones de red fuera de localhost en el puerto 3306 / TCP.
Podremos ejecutar los comandos netstat, lsof o sockstat para obtener el estado del socket MariaDB, ya que esta configuración es peligrosa y expone el servicio a ataques de red externos afectando los datos allí alojados.
lsof -i4 -i6 sockstat -4 -6
En caso de no ser necesario el acceso remoto a MariaDB, debemos asegurarnos que el daemon de MariaDB solo escuche el localhost, para ello ejecutamos el siguiente comando. Posteriormente, reinicie el servicio MariaDB para aplicar los cambios.
sysrc mysql_args="--bind-address=127.0.0.1" service mysql-server restart
4. Validar MariaDB en FreeBSD
Finalmente para probar la conectividad a la base de datos ejecutaremos el siguiente comando:
mysql -u root -p -e "show databases"
Allí ingresaremos la contraseña que ha sido asignada y este será el resultado:
De esta manera hemos instalado Apache, PHP y MariaDB en FreeBSD de forma simple.