Installing Lighttpd With PHP5 And MySQL Support On Ubuntu 10.04 - Page 2

Want to support HowtoForge? Become a subscriber!
 
Submitted by falko (Contact Author) (Forums) on Thu, 2010-07-22 16:46. ::

5 Configuring Lighttpd And PHP5

To enable PHP5 in Lighttpd, we must modify /etc/php5/cgi/php.ini and add the line cgi.fix_pathinfo = 1 right at the end of the file:

vi /etc/php5/cgi/php.ini

[...]
cgi.fix_pathinfo = 1

To enable the fastcgi configuration (which is stored in /etc/lighttpd/conf-available/10-fastcgi.conf), run the following command:

lighttpd-enable-mod fastcgi

This creates a symlink /etc/lighttpd/conf-enabled/10-fastcgi.conf which points to /etc/lighttpd/conf-available/10-fastcgi.conf:

ls -l /etc/lighttpd/conf-enabled

root@server1:~# ls -l /etc/lighttpd/conf-enabled
total 0
lrwxrwxrwx 1 root root 44 2010-05-06 15:01 10-fastcgi.conf -> /etc/lighttpd/conf-available/10-fastcgi.conf
root@server1:~#

Then we reload Lighttpd:

/etc/init.d/lighttpd force-reload

 

6 Testing PHP5 / Getting Details About Your PHP5 Installation

The document root of the default web site is /var/www. We will now create a small PHP file (info.php) in that directory and call it in a browser. The file will display lots of useful details about our PHP installation, such as the installed PHP version.

vi /var/www/info.php

<?php
phpinfo();
?>

Now we call that file in a browser (e.g. http://192.168.0.100/info.php):

As you see, PHP5 is working, and it's working through FastCGI, as shown in the Server API line. If you scroll further down, you will see all modules that are already enabled in PHP5. MySQL is not listed there which means we don't have MySQL support in PHP5 yet.

 

7 Getting MySQL Support In PHP5

To get MySQL support in PHP, we can install the php5-mysql package. It's a good idea to install some other PHP5 modules as well as you might need them for your applications. You can search for available PHP5 modules like this:

aptitude search php5

Pick the ones you need and install them like this:

aptitude install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json

Now restart Lighttpd:

/etc/init.d/lighttpd restart

Now reload http://192.168.0.100/info.php in your browser and scroll down to the modules section again. You should now find lots of new modules there, including the MySQL module:

 

8 Links


Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.
Submitted by Anonymous (not registered) on Mon, 2010-07-26 23:09.

MySQL may be the garbage used by the majority of "developers" - but that doesn't make it any good: it just shows that a majority of "developers" aren't very aware of, or just don't care about, the importance of databases in the process of application development.

This whole tutorial will work for PostgreSQL with two minor changes:

On the step where you're installing the MySQL, install the PostgreSQL packages instead:

postgresql-8.3,postgresql-client,postgresql-client-8.3,postgresql-client-common,postgresql-common,postgresql-contrib-8.3,postgresql-doc-8.3,postgresql-plperl-8.3,postgresql-pltcl-8.3,postgresql-server-dev-8.3

On the step where installing the PHP packages for MySQL, install the corresponding PHP package for PostgreSQL:

php5-pgsql


If more tutorials stopped going with the MS-Windows mentality and went with what's the better tech instead, there'd be far fewer MySQL tutorials out there.

http://arstechnica.com/civis/viewtopic.php?f=20&t=92525

http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL