Original date: 2008-12-22
I have spent a lot of time trying to figure out how to get my time registration app (php + mysql) up and running on my old FreeBSD laptop. After several unsuccessful attempts, abscence of properly installed mod_php and perhaps a lot of other things gave up. I can quickly do the minimal thingy using python!
I have added .py to the cgi script handlers:
AddHandler cgi-script .py
Made a simple script to connect to the MySQL database, but it failed miserably. No output was generated. After several attempts it seems that the import statement fails. Ok, put a try/except clause around and output the result. Hmmm, the result is rather interesting:
(Can’t extract file(s) to egg cache The following error occurred while trying to extract file(s) to the Python egg cache: [Errno 13] Permission denied: ‘/nonexistent’ The Python egg cache directory is currently set to: /nonexistent/.python-eggs Perhaps your account does not have write access to this directory? You can change the cache directory by setting the
PYTHON_EGG_CACHE environment variable to point to an accessible directory. )
Ok, it seems that my www user (which does not have any home folder of course!) attempts to create cache folder under his (non-existing) home folder. Adding (perhaps not very secure)
SetEnv PYTHON_EGG_CACHE /tmp/apache/
to the virtual host configuration helped for now (you need mod_env for this). The cache can be created.
Ideally you would need a proper home directory with a restricted access for the apache user account.
If the server comes up with a very descriptive message like
Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. [...]
This may simply means that your beauty (script) contains just a small typo. Very handy indeed. The following two lines help a lot: