So I've installed LAMP on an Ubuntu machine for some php development and everything is working fine except instead of parsing and displaying php pages, the browser is asking me if I want to download them. I know this is a well documented issue, and I've already been to the Ubuntu page concerning it, and gone through all the potential causes. I've installed libapache2-mod-php5
and upon running sudo a2enmod php5
I get module php5 already enabled
. So I think I've pretty much narrowed the problem down to a php file authorizations issue.
Now I should point out that this only happened after I modified the config file to allow a UserDir
in my /home/public_html
. With the default configuration in folder /var/www
php files parsed just fine, and still do, so long as I gave myself root access or modify their permisssions. And I didn't change anything else in the config file.
So, my question is, how do I check/modify the php authorization files? Where are they? What exactly do I check? I can't seem to find any good info on this.
So I figured this out with some really tedious searching, I'm surprised the solution is not more widely available, it's really very simple. The /etc/apache2/mods-available/php5.conf
file comes with these lines.....
8 # To re-enable php in user directories comment the following lines
9 # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
10 # prevents .htaccess files from disabling it.
11 <IfModule mod_userdir.c>
12 <Directory /home/*/public_html>
13 php_admin_value engine Off
14 </Directory>
15 </IfModule>
...which obviously disable php in user directories. These need to be commented out.