Cross-platform Nginx, MariaDB and PHP-FPM Stack
Shell
Switch branches/tags
Nothing to show
Latest commit 29dacb6 Jun 28, 2014 @skl Version bumps
Permalink
Failed to load latest commit information.
etc
lib [lib] Non-interactive package manager args Feb 19, 2014
modules Version bumps Jun 28, 2014
.gitmodules
.travis.yml Update .travis.yml Jan 10, 2013
README.md Update README.md Feb 24, 2014
bootstrap.sh [lib] Non-interactive package manager args Feb 19, 2014
install Removed plz Mar 2, 2013
test.sh Removed plz from test.sh Mar 2, 2013
uninstall Removed plz Mar 2, 2013

README.md

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 install.sh files and customise them to suit your particular server(s) and personal preferences.

Prerequisites

Linux

You're already there.

Mac

Install homebrew.

Windows

  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

General

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

Instructions

Clone the repo to a directory on your server:

git clone https://github.com/skl/phundamental.git

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

Modules

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