Question

Mac OS X ships with apache pre-installed, but the files are in non-standard locations. This question is a place to collect information about where configuration files live, and how to tweak the apache installation to do things like serve php pages.

Was it helpful?

Solution

Apache Config file is: /private/etc/apache2/httpd.conf

Default DocumentRoot is: /Library/Webserver/Documents/

To enable PHP, at around line 114 (maybe) in the /private/etc/apache2/httpd.conf file is the following line:

#LoadModule php5_module     libexec/apache2/libphp5.so

Remove the pound sign to uncomment the line so now it looks like this:

LoadModule php5_module     libexec/apache2/libphp5.so

Restart Apache: System Preferences -> Sharing -> Un-check "Web Sharing" and re-check it. OR

$ sudo apachectl restart

OTHER TIPS

Running

$ httpd -V

will show you lots of useful server information, including where the httpd.conf file can be found.

To get SSI/includes (mod_include) to work I found I had to edit /private/etc/apache2/users/myusername.conf and change AllowOverride None to AllowOverride All.

Then add the following in a .htaccess file in the root of your site:

Options +Includes
AddType text/html .html
AddOutputFilter INCLUDES .html

httpd.conf is in /private/etc/apache2

Enable PHP by uncommenting line:

 LoadModule php5_module        libexec/apache2/libphp5.so

/etc/httpd/users contains user-specific configuration files which can be used to override the global configuration. For example, adding "AddHandler server-parsed html" to the <Directory> block in the /etc/httpd/users/*.conf file that corresponds to one user will enable mod_include parsing of HTML files for that particular user's $HOME/Sites directory, but nowhere else.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top