Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am not much into linux. I am trying to setup a server through ssh. I installed apache php and mysql through this command.

sudo aptitude install apache2 php5-mysql libapache2-mod-php5 mysql-server

but I think php is not enabled on the server.

when I run command I receive response as below

$ which apache2ctl

but when i check $ which php i receive no response.

$ locate php5

available apache2 modules alt text

aptitude package manager alt text

share|improve this question

migrated from Nov 23 '09 at 12:37

This question came from our site for professional and enthusiast programmers.

up vote 9 down vote accepted

On Debian (and thus Ubuntu), the Apache configuration files are stored under /etc/apache2. In that directory, there are 2 sub-directories for configuring modules: mods-available and mods-enabled. When you install an Apache module (ie: foo), it will put foo.load (and possibly foo.conf) into the /etc/apache2/mods-available directory. When you enable an Apache module using a2enmod, it will create a symbolic link in /etc/apache2/mods-enabled for each of the matching files from /etc/apache2/mods-available.

Thus for an Ubuntu server with PHP5 enabled, you should see something like this:

$ cd /etc/apache2
$ ls -l mods-*/*php*
-rw-r--r-- 1 root root 133 2008-02-27 15:49 mods-available/php5.conf
-rw-r--r-- 1 root root  59 2008-02-27 15:49 mods-available/php5.load
lrwxrwxrwx 1 root root  27 2009-02-05 07:30 mods-enabled/php5.conf -> ../mods-available/php5.conf
lrwxrwxrwx 1 root root  27 2009-02-05 07:30 mods-enabled/php5.load -> ../mods-available/php5.load

If the php5 configuration files aren't shown in the mods-enabled directory, enable them as follows:

$ sudo a2enmod php5
$ sudo /etc/init.d/apache2 restart

Once you've done that, in order to test that PHP5 is configured, create /var/www/test.php as follows:

$ echo "<?php phpinfo(); ?>" | sudo tee /var/www/test.php
$ sudo chown www-data:www-data /var/www/test.php
$ sudo chmod 755 /var/www/test.php

Once that's done, you should be able to browse to /test.php on that server and see the PHP configuration data.

share|improve this answer
This method fix me. Thank you very much.!!! – Wilf Jan 7 at 17:46
I am getting permission denied for this line $ sudo echo "<?php phpinfo(); ?>" > /var/www/test.php. – 151291 Feb 23 at 4:49
@151291, try echo "<?php phpinfo(); ?>" | sudo tee /var/www/test.php instead. – Craig Trader Feb 24 at 12:55

Use the phpinfo() function. Create a .php file that Apache will serve up and include the following:




When you navigate to the .php file, and php is installed, it should give you a whole lot of information about the php version you have installed.

share|improve this answer

I believe the php binary is part of a separate package called php5-cli which you don't seem to have installed.

share|improve this answer
This is correct, but just to clarify: php5-cli is the commandline version, which you don't need if you're using it with apache. – Brendan Long Nov 22 '09 at 10:19

In aptitude do /^php5$ and see if you have that package. If not, install it - that's the core package.

share|improve this answer
any command line that covers all php5 with cgi and so.? – Shishant Nov 22 '09 at 9:56
Do you have the php5 package installed? – meder omuraliev Nov 22 '09 at 10:05
yes it has [i] in front of them – Shishant Nov 22 '09 at 10:08
Did you restart apache? – meder omuraliev Nov 22 '09 at 10:10
What does which php5 return? Did you try making a .php page with phpinfo();? Did you enable your site with a2ensite? – meder omuraliev Nov 22 '09 at 10:11

a2dismod disable apache modules and when executed without arguments displays the list of enabled modules:

Your choices are: alias auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex cgi deflate dir env mime mod-evasive mod-security negotiation php5 rewrite scgi setenvif ssl status unique_id

Which module(s) do you want to disable (wildcards ok)?

if php5 is in the list it's installed and enabled. (CTRL-C to discard the command)

share|improve this answer

Request the following URI from your server:


You should get the PHP logo. If you do, PHP is working

share|improve this answer
No i am not getting any response – Shishant Nov 22 '09 at 10:22
not working on my ubuntu with php enabled.. – RC Nov 22 '09 at 10:23
That URI only works if the root page is interpreted by PHP; if the URI isn't processed by PHP, nothing will happen. – Craig Trader Nov 22 '09 at 11:22

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.