Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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
/usr/sbin/apache2ctl

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

$ locate php5
/etc/apparmor.d/abstractions/php5
/usr/share/ubuntu-serverguide/html/C/php5.html

available apache2 modules alt text

aptitude package manager alt text

share|improve this question

migrated from stackoverflow.com Nov 23 '09 at 12:37

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

add comment

6 Answers

up vote 5 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:

$ sudo echo "<?php phpinfo(); ?>" > /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
add comment

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

<?php

phpinfo();

?>

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
add comment

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
2  
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
add comment

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 Nov 22 '09 at 10:05
    
yes it has [i] in front of them –  Shishant Nov 22 '09 at 10:08
1  
Did you restart apache? –  meder 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 Nov 22 '09 at 10:11
show 4 more comments

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
add comment

Request the following URI from your server:

/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42

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
add comment

Your Answer

 
discard

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.