Frequently Asked Questions

The NearlyFreeSpeech.NET FAQ (*)

Programming (*)

How do I make tls-setup.sh work with my custom daemon process?

If you are using custom proxies and daemons to serve your site content, following the recommendation to use our tls-setup.sh to set up free TLS from Let's Encrypt takes an extra step.

When you request a certificate via tls-setup.sh, a temporary file is created in the /home/public/.well-known/acme-challenge directory. Let's Encrypt checks that file by requesting it from your site using the URI /.well-known/acme-challenge/. In most cases, that "just works" because Apache handles it for you. If you have a custom process handling requests for / (i.e., all requests for the site), that won't work. The request will come to your daemon instead, which will likely say "What the 🤬 is this?" and return an error, causing your TLS setup to fail.

You should do one of two things to resolve that, depending on your server type:

Once this is set up and working, leave it in place. Your certificate will need to be renewed every 60-90 days, and this is part of that process.

What is a software realm?

How do I set up the server to allow web applications to write files?

How does CGI work at NearlyFreeSpeech.NET?

What can I do if I want a script to run every so often on my site (like cron)?

How do I customize my PHP configuration?

What is the path to the root of my site in PHP?

What is the best HTML editor to use with your system?

How do I alter the PHP memory limit?

What references do you recommend for web technologies?

Do you have register_globals enabled for PHP?

What is the path to the root of my site for CGI scripts?

How do I change the version of PHP that my site uses?

How do I control what user a CGI script runs as?

Can I compile my own CGI application on your servers?

I used an absolute path in an SSI and it didn't work. What should I do?

How do I write files from scripts run by the web server?

How do I protect an upload directory from being exploited?