Cross-platform Nginx, MariaDB and PHP-FPM Stack
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
etc Add package map entries for alien and libaio1 Apr 22, 2014

phundamental Build Status

phundamental is a collection of bash scripts designed to help ease the creation of lightweight web servers. You're encouraged to delve into the various files and customise them to suit your particular server(s) and personal preferences.



You're already there.


Install homebrew.


  1. Install cygwin
  2. Install the following packages using Cygwin's setup.exe:
    1. bzip2
    2. ca-certificates
    3. gawk
    4. gcc-g++
    5. git
    6. subversion
    7. tar
    8. wget
  3. Install apt-cyg


It is recommended that you add /usr/local/bin to the beginning of your path. Add the following to your .profile or .bashrc:

export PATH=/usr/local/bin:$PATH


Clone the repo to a directory on your server:

git clone

N.B. If you're running cygwin or you don't have sudo installed, remove sudo from the below commands.

Install all modules

Execute the top-level installer, it will ask you which modules to install:

sudo phundamental/install

Install one or more modules

Execute the top-level installer with one or more arguments (one per module, order doesn't matter):

sudo phundamental/install nodejs php nginx


phundamental is based on modules. The current out-of-the-box modules are as follows:

  • mariadb - An open-source drop-in replacement for MySQL
  • nginx - A fast and lightweight alternative to Apache
  • nodejs - Server-side JavaScript. Recent versions include npm
  • php - PHP with FPM if you choose to install v5.3.3+ (or any version now listed in modules/php/fpm-patch-versions.conf)

Each module is designed to allow for the installation of multiple concurrent versions. For example you could run both PHP versions 5.3.20 and 5.4.10 and have nginx use a different version of PHP per virtual host. Configuration examples are included in the modules and are installed at the same time as the binaries.

Source code and binaries will be downloaded and compiled at installation time. This allows phundamental to stay small and portable. A full git clone currently weighs in at about 2 MiB (including all git ojects).

Optional modules

  • Oracle Instant Client oic

If you'd like add the optional modules, execute the following in your phundamental installation directory prior to executing the installer:

git submodule update --init

You can update all submodules in future by executing:

git submodule foreach git pull origin master

Upcoming modules

  • postfix (MariaDB backend) + roundcube client