Resetting ESXi Evaluation License

#!/bin/sh
## remove license
echo 'Removing License'
rm -r /etc/vmware/license.cfg
## get a new trial license
echo 'Copying new license'
cp /etc/vmware/.#license.cfg /etc/vmware/license.cfg
## restart services
echo 'Restarting VPXA'
/etc/init.d/vpxa restart

Edit /etc/rc.local.d/local.sh and add:

/bin/kill $(cat /var/run/crond.pid)
/bin/echo "**59** /vmfs/volumes/ZFS0/reset-eval.sh" >> /var/spool/cron/crontabs/root
crond

This will reset the license via cron job every 59 days (eval license expires 60 days).

This was confirmed working in ESXI v7.0 U1.

Install Organizr on Ubuntu 20.04

I couldn’t find a good and concise setup guide for Organizr on Ubuntu – everything wanted me to use Docker which, admittedly, I haven’t started learning well enough to setup my lab management console on.

One thing I learned from this process – running your webserver on NGINX instead of, say, Apache is known as a LEMP stack. I’d only ever heard of LAMP or WAMP previously. Now you know, too.

So first things first, setup a LEMP stack.

Linux is taken care of by Ubuntu 20.04, duh. Make sure it’s fully updated and freshly rebooted for good measure. Also make sure OpenSSH is installed if that’s not part of your typical Ubuntu install regimen.

Installing NGINX

sudo apt install -y nginx
sudo ufw status
sudo ufw enable (if not already enabled)
sudo ufw app list (to find out what options exist for ufw profiles)
sudo ufw allow OpenSSH (if not already allowed)
sudo ufw allow 'Nginx Full' (this will allow both HTTP and HTTPS) 

Now, navigating to http://your_IP.com should produce the screen below. If you're not seeing this screen, check your firewall NAT rules and be sure 80 is allowed inbound. 

Installing MySQL

sudo apt install mysql-server
sudo mysql_secure_installation
Now this is going to trigger an SAT-like questionnaire that you need to go through to make sure your MySQL setup is as secure as possible. It's all pretty self-explanatory. Just read the daggum prompts and you'll be fine. Hint: It's pretty much "Y" all the way through. 

Installing PHP

Just like that, we’re at the end of setting up our LEMP stack.

sudo apt install php-fpm php-mysql php-curl php-zip php-simplexml php-sqlite3

The last 4 of those were "gotchas" from the actual Organizr install. They're pre-requisites that aren't picked up during any other install. You can add them here and now or you can wait until you get the error and install them later. Biggest takeaway is - whatever the error is you see, add php- to the beginning for the install and you'll be fine. 

The rest of the setup and testing is all documented well enough by Digital Ocean here.

Securing the site with Let’s Encrypt

Using Let’s Encrypt makes having that spiffy HTTPS lock icon a breeze. The steps are all beautifully documented by Digital Ocean, once again, here.

Organizr Install

Now it’s time for the actual install of Organizr! And trust me, the hard work is already done!

cd /var/www/html/thisnerdyguy where thisnerdyguy is the name of your Organizr site. 
git clone https://github.com/causefx/Organizr /var/www/html/thisnerdyguy
chown -R www-data:www-data /var/www/html/

Lastly, edit your sites-available config for your Organizr site and be sure it resembles the following:

server{
    root /var/www/html/thisnerdyguy;
    index index.php index.html index.htm index.nginx-debian.html;
    server_name thisnerdyguy.com www.thisnerdyguy.com;
    location / { try_files $uri $uri/ =404; }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }
    location /api/v2 {
	    try_files $uri /api/v2/index.php$is_args$args;
    }
}

FIN

You should be all set! Navigating to http://www.YOUR_WEBSITE.com should, depending on how you configured Let’s Encrypt, redirect to https://www.YOUR_WEBSITE.com and, equally important, should load Organizr asking you to begin the very simple configuration process.

GREAT SUCCESS!