Installing Nginx With PHP5 And MySQL Support On Fedora 12

Nginx (pronounced "engine x") is a free, open-source, high-performance HTTP server. Nginx is known for its stability, rich feature set, simple configuration, and low resource consumption. This tutorial shows how you can install Nginx on a Fedora 12 server with PHP5 support (through FastCGI) and MySQL support.

I do not issue any guarantee that this will work for you!

1 Preliminary Note

In this tutorial I use the hostname server1.example.com with the IP address 192.168.0.100. These settings might differ for you, so you have to replace them where appropriate.

2 Installing MySQL 5

First we install MySQL 5 like this:

yum install mysql mysql-server

Then we create the system startup links for MySQL (so that MySQL starts automatically whenever the system boots) and start the MySQL server:

to set a password for the user root (otherwise anybody can access your MySQL database!).

3 Installing Nginx

Nginx is available as a package for Fedora 12 which we can install as follows:

yum install nginx

Then we create the system startup links for nginx and start it:

chkconfig --levels 235 nginx on
/etc/init.d/nginx start

Type in your web server's IP address or hostname into a browser (e.g. http://192.168.0.100), and you should see the nginx welcome page:

4 Installing PHP5

We can make PHP5 work in nginx through FastCGI. There's no standalone FastCGI daemon package for Fedora, therefore we use the FastCGI package of lighttpd (lighttpd-fastcgi) and install it together with php-cli and some PHP5 modules like php-mysql which you need if you want to use MySQL from your PHP scripts: