6

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
0

6 Answers 6

15

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.

2
  • I am getting permission denied for this line $ sudo echo "<?php phpinfo(); ?>" > /var/www/test.php. Feb 23, 2016 at 4:49
  • @151291, try echo "<?php phpinfo(); ?>" | sudo tee /var/www/test.php instead. Feb 24, 2016 at 12:55
4

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.

2

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

1
  • 3
    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. Nov 22, 2009 at 10:19
1

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

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

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)

0

Request the following URI from your server:

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

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

3
  • No i am not getting any response
    – Shishant
    Nov 22, 2009 at 10:22
  • not working on my ubuntu with php enabled..
    – RC
    Nov 22, 2009 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. Nov 22, 2009 at 11:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .