Configuring the VM in Joyent SmartOS /opt/local/artifacts/sn01bhyveUbuntuFM20S01.json had the following content
VCPUs in my case for this install: https://www.intel.com/content/www/us/en/products/sku/123550/intel-xeon-silver-4114-processor-13-75m-cache-2-20-ghz/specifications.html, meaning depending on the software to install one can pick anything between 1 and 10 for "vcpus"
{
"autoboot": false,
"brand": "bhyve",
"alias": "sn01bhyveUbuntuFM20S01",
"hostname": "sn01bhyveUbuntuFM20S01",
"dns_domain": "lan.domain.tld",
"bootrom": "uefi",
"vcpus": 2,
"bhyve_extra_opts": "-w -s 0:3:0,ahci-cd,/mini.iso",
"ram": 8192,
"device": null,
"disks": [
{
"model": "virtio",
"media": "disk",
"size": 204800,
"boot": true
}
],
"resolvers": [
"208.67.222.222",
"208.67.220.220"
],
"nics": [
{
"nic_tag": "admin",
"model": "virtio",
"ip": "10.177.98.212",
"allow_ip_spoofing": false,
"netmask": "255.255.252.0",
"gateway": "10.177.99.1",
"primary": true
}
],
"set_customer_metdata": {
"root_authorized_keys": "ssh-rsa AAAAB3NB6ZIsXYjxjeQ==",
"user-script": "/usr/sbin/mdata-get root_authorized_keys > ~root/.ssh/authorized_keys ; /usr/sbin/mdata-get root_authorized_keys > ~ubuntu/.ssh/authorized_keys"
},
"vnc_port": 43012
}
Creating the VM
time vmadm create < /opt/local/artifacts/sn01bhyveUbuntuFM20S01.json
cd /zones/<<UUID>>/root/
curl -kLO http://archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/current/legacy-images/netboot/mini.iso
vmadm start <<UUID>>
Perform the Ubuntu install over console or VNC( important to note this will not work from MacOS X as the built in screen sharing do not support login without password. )
vmadm console <<UUID>>
After the install has been done and Ubuntu ask for you to remove the USB / CDVD-ROM
vmadm update 2840d156-9c9a-68ee-bc3e-d899bd2596d6 bhyve_extra_opts="-w"
In order to install FileMaker inside the VM
cd /tmp
curl -kLO <<URL as given by subscription>>
cd ~/
mkdir -p install/fminstaller
unzip /tmp/fms_20.1.1.38_Ubuntu20_amd64.zip
ls filemaker*.deb
sudo apt install ./filemaker-server-20.1.1.38-amd64.deb
sudo /usr/bin/lsof -i -P -n | grep LISTEN
For signing of SSL to take place, make sure you have port 80 forwarded to the guest that FileMaker runs on.
Requires port 80 to be exposed to the public from the same IP that shows online, when you connect to the public internet.
sudo apt-get install certbot vim neovim tmux htop
mkdir -p /opt/local/bin/
cd /opt/local/bin/
curl -kLO https://raw.githubusercontent.com/BlueFeatherGroup/FileMaker-LetsEncrypt-Mac/master/GetSSL.sh
Patch for Linux default
sed -i -e 's/\/Library\/FileMaker\ Server\//\/opt\/FileMaker\/FileMaker\ Server\//g' GetSSL.sh
or
sed -i -e 's,/Library/FileMaker Server/,/opt/FileMaker/FileMaker Server/,g' GetSSL.sh
chmod +x GetSSL.sh
sudo /opt/local/bin/GetSSL.sh
If you are old school like me you will work with XML/XSLT
fmsadmin set cwpconfig enablexml=true
There is also
fmsadmin SET CWPCONFIG ENABLEPHP=true
Do not forget to do fmsadmin RESTART WPE
in order to activate