==== Creación de un template de FreeBSD ====
Crear templates de para jails de FreeBSD es algo bastante bueno, ya que te permite ahorrar tiempo y crear templates para según lo que quieras hacer. Un template general con herramientas como git instaladas, o un template que tenga nginx con php para ahorrarte unos minutos a la hora de instalar un nuevo servicio que use ese software.
Para empezar crea un filesystem de zfs donde quieras
''zfs create stranger/jails/template''
Y procedemos a instalar el sistema base
cd /stranger/jails/template
fetch https://download.freebsd.org/releases/amd64/14.2-RELEASE/base.txz
tar xfv base.txz -C /stranger/jails/template
Con esto ya tendremos el sistema base instalado. Ahora tendrías que crear la jail (o hacer un chroot, pero mejor crear la jail ¿no?) e instalar el software que quisieras y configurarlo como quieras
squirrelmail {
# STARTUP/LOGGING
exec.start = "/bin/sh /etc/rc";
exec.stop = "/bin/sh /etc/rc.shutdown";
exec.consolelog = "/var/log/jail_console_${name}.log";
# PERMISSIONS
allow.raw_sockets;
exec.clean;
mount.devfs;
# HOSTNAME/PATH
host.hostname = "${name}";
path = "/stranger/jails/${name}";
# NETWORK
ip4.addr = "bge4|192.168.1.201/24";
}
Podemos iniciar la jail con ''service jail start template'' y luego ''jexec template sh'' para acceder a la consola de la jail. Donde podremos instalar todo lo que queramos, por ejemplo
''pkg install -y git zsh'' Y los que quieras.
Una vez instalados y configurados ya tendríamos nuestro templates
Podemos hacer exit para salir de la jail.
Y para crear el template para clonar filesystems tendremos que crear una snapshot ''zfs snapshot stranger/jail/template@2025-04-06''
Por ejemplo, para crear un template para php pues haríamos
''pkg install -y nginx php84''
Tras configurar el nginx.conf para que cargue php (así, por ejemplo)
server {
listen 80;
server_name localhost;
root /usr/local/www/roundcube;
index index.php index.html index.htm;
# scripts de PHP
location ~ \.php$ {
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
Iniciamos el coso con
service nginx enable
service php_fpm enable
service nginx start
service php_fpm start
Luego podemos crear un nuevo FS con el template de php que acabamos de crear. Vamos a crear una nueva snapshot para esto
zfs snapshot stranger/jails/template@2025-04-06_php
zfs send stranger/jails/template@2025-04-06_php | zfs recv -F stranger/jails/template_php
Y restauramos el template a su estado de template sin más (sin php ni cosas raras). También tenemos el template con php
zfs rollback stranger/jails/template@2025-04-06
Y por ejemplo, para instalar [[:freebsd:roundcube]] podríamos hacer
zfs send stranger/jails/template_php@2025-04-06_php | zfs recv -F stranger/jails/roundcube
¡Felicidades por haber conseguido crear templates de jails con FreeBSD!
{{ :smile.png?200 |}}