# How to install NGINX + PHP 5.3 on FreeBSD.

  - date  
    2010-10-10

  - category  
    tech

I've not managed so far to get completely rid of php, so here's a simple
reminder about how to install php on NGINX, for FreeBSD. Nothing hard,
but that's worse to have the piece of configuration somewhere \!

    # update the ports
    $ portsnap fetch update
    
    # install php5 port
    $ make config-recursive -C /usr/ports/lang/php5-extensions
    $ make package-recursive -C /usr/ports/lang/php5-extensions
    
    # install nginx
    $ make config-recursive -C /usr/ports/www/nginx-devel
    $ make package-recursive -C /usr/ports/www/nginx-devel

Now we have all the dependencies installed, we need to configure a bit
the server.

That's a simple thing in fact, but it could be good to have something
that will work without effort over time.

Here's a sample of my configuration:

    server {
        server_name ndd;
        set $path /path/to/your/files;
        root   $path;
    
        location / {
            index  index.php;
        }
    
        location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
          access_log        off;
          expires           30d;
        }
    
        location ~ .php$ {
            fastcgi_param  SCRIPT_FILENAME  $path$fastcgi_script_name;
            fastcgi_pass   backend;
            include fastcgi_params;
        }
    }
    
    upstream backend {
            server 127.0.0.1:9000;
    }

And that's it \!
