I also have had issues with PHP and nginx but on a Raspberry PI flavor board and I found this link to be helpful in getting it up and running with a MySQL database and Zabbix system monitoring a time ago.
You of course will have to adapt it to the Omega environment but it may give you some ideas of how or what you may have missed.
@Joris-Mulliez I agree that PHP is of no use here, however I have plans to take this further, and wanted to start with the PHP base to work into. I am taking small steps into this whole new computing world for me. Yes, I could have just had the Python write out to "index.htm" and left it there, however what I am now doing is even beyond that. I want the initial page to allow for the selection of ZIP, City, PWS, Lat/Long and to set the refresh rate. This is only a backbone to grow from.
@Victor-Tagayun I don't know specific guides, this is more about experience with the services and reading man pages.
Notice that you want to embrace a lot right now, you may desperate in some point. Hang on there.
Remove console: The default web pages the Omega2 comes with are stored in some .../www directory, and the web server will have some info about the webpage to serve. All that may come in the docs, find them (you may encounter them while setting your own web) and then delete them, because if they are still up, someone from the internet could attack your Omega2 through the onion console.
SSH no root login: ssh service must have a configuration file, for example in /etc/ssh.conf (I don't know if that is the file). Inside it, many parameters for the service, like the port to listen to, the possibility to login with name and password, if that login can be the user root, etc. The idea is that nobody can access as root from the internet, neither you, use serial to act as root. Also the web service shouldn't run as root, that's why you add another user, for example omega, with less privileges.
Search google topic by topic, "ssh non root login", "linux add new user", "web service firewall recommended configuration", etc.
@Chris-McCaslin Try using any pins other than 20 and 21 since they run the I2C protocol.
With regards to the servo, while fast-gpio is pretty handy, it's still software-based PWM. Anytime another process gets the CPU's full attention, the PWM signal will change. This will happen many times a second, so the PWM signal going to the servo will be constantly changing. This change in the PWM signal is the reason why your servo is twitching. Sorry, but your best bet for a non-twitchy servo is the Servo Expansion.
Another thing, your servo accepts a high pulse of 1ms to 2ms in a 20ms PWM period.
For the farthest position in one direction you would send a signal that is 1ms high and 19ms low, meaning a 5% duty cycle
The farthest position in the other direction requires a signal that is 2ms high and 18ms low, so a 10% duty cycle
And the neutral position would be: 1.5ms high and 18.5ms low, so 7.5% duty cycle
I think the problem is that apache is running as nobody and the relay-exp is only accessible from root.
Changing apache to run as root is not possible without rebuild...
... Apache has not been designed to serve pages whil running as root. There are known race conditions that will allow any local user to read any file on the system. If you still desire to serve pages as root then add -DBIG_SECURITY_HOLE to the CFLAGS env variable and then rebuild the server.
@Peter-Harrald Hi Peter, sorry for the late response. I was still trying to duplicate the problem and then you mentioned it was fixed. My best guess is that one of the apache configuration files wasn't setup properly. Re-installing the package is like the software version of "turning it off and on again", lol.