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.
You're already there.
Install homebrew.
- Install cygwin
- Install the following packages using Cygwin's
setup.exe
:bzip2
ca-certificates
gawk
gcc-g++
git
subversion
tar
wget
- 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 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.
Execute the top-level installer, it will ask you which modules to install:
sudo phundamental/install
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).
- 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
- postfix (MariaDB backend) + roundcube client