Skip to content
This repository has been archived by the owner on Feb 11, 2019. It is now read-only.

Commit

Permalink
Merge pull request #13 from e7d/develop
Browse files Browse the repository at this point in the history
Neap Box 1.2.8
  • Loading branch information
e7d committed Jun 3, 2016
2 parents 1aeabf0 + dc559ef commit 73fcd0f
Show file tree
Hide file tree
Showing 13 changed files with 247 additions and 63 deletions.
163 changes: 163 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
## v1.2.8 (2016-06-03)
* added newman in version 2.0.9
* updated Let's Encrypt Certbot to version 0.7.0
* updated PHP and PHP-FPM to version 7.0.7
* updated Composer to version 1.1.2
* updated NodeJS to version 6.2.1
* updated NPM to version 3.9.5
* updated nginx to version 1.10.1, fixing [CVE-2016-4450](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4450)
* improved tree display in check version
* centralized apt packages dependencies from MailCatcher

## v1.2.7 (2016-05-26)
* fixed Let's Encrypt setup to use the new repository certbot/certbot
* updated Let's Encrypt Certbot (previously Let's Encrypt Client) to version 0.6.0
* updated PostgreSQL to version 9.5.3
* updated Redis to version 3.2.0
* updated nginx to version 1.10.0
* updated nginx build script to compile in debug mode
* updated Composer to version 1.1.0
* updated NodeJS to branch 6.x
* updated NPM to version 3.9.0
* updated build scripts using make to benefit from all available cores
* moved bootstrap script runner to project root
* fixed numerous typos in README.md

## v1.2.6 (2016-05-06)
* fixed broken Redis runner script
* added jq as json processor
* updated VirtualBox Guest Additions to version 5.0.20
* updated OpenSSL to version 1.0.2h
* updated PHP and PHP-FPM to version 7.0.6
* updated Composer to version 1.0.3
* updated NPM to version 3.8.7
* updated ffmpeg to version 2.8.7

## v1.2.5 (2016-04-28)
* downgraded nginx to version 1.9.10 to ensure nginx-rtmp-module compatibility
* disabled PHP OPcache by default
* added PHPUnit
* updated UnrealIRCd to version 4.0.3
* improved cleanup at every build step
* removed every PHP5 related packages

## v1.2.4 (2016-04-04)
* updated Debian to Jessie version 8.4
* updated nginx to version 1.9.13
* updated PHP and PHP-FPM to version 7.0.5
* updated Composer to version 1.0-beta2
* updated PostgreSQL to version 9.5.2
* updated NPM to version 3.8.5

## v1.2.3 (2016-03-22)
* updated bootstrap scripts tree for better coherence
* improved global script writting style
* made version checking more readable
* updated UnrealIRCd to version 4.0.2
* updated Xdebug to version 2.4.0 stable
* updated NPM to version 3.8.2

## v1.2.2 (2016-03-15)
* fixed ffmpeg setup
* normalized Let's Encrypt setup
* normalized folders structure
* fixed erroneous phpredis setup
* updated NPM to version 3.8.1

## v1.2.1 (2016-03-15)
* updated VirtualBox Guest Additions 5.0.16
* updated Let's Encrypt to version 0.4.2
* updated PHP and PHP-FPM to version 7.0.4
* updated nginx to version 1.9.12 with openssl 1.0.2g
* updated NPM to version 3.8.0
* improved redis configuration to support IPv6 and unix socket file
* simplified and aligned all bootstrap scripts
* updated all bootstrap scripts to be reused at will without issue
* simplified certificate related steps, do not generate dhparam anymore
* updated Xdebug setup to use releases instead of source
* added analytics

## v1.2.0 (2016-02-17)
* updated nginx to version 1.9.11
* updated PostgreSQL to version 9.5.1
* updated ffmpegto version 2.8.6
* added MailCatcher, with version 0.6.4
* fixed Let's Encrypt recipe
* improved bootstrap:
* global admin rights check
* cleanup and shrinking
* switched to Debian Jessie base box with vboxsf module
* removed NFS for folder synchronization
* added bash build script, to run with `bash build.sh` on supported environments

## 1.1.3 (2016-02-08)
* dropped memcached
* added Redis, with version 3.0.7
* added PhpRedis, with version 2.2.5
* updated NPM to version 3.7.1

## 1.1.2 (2016-02-01)
* updated Debian Jessie to version 8.3
* updated Let's Encrypt to version 0.4.0.dev0
* updated nginx to version 1.9.10, built against OpenSSL 1.0.2f
* updated UnrealIRCd to version 4.0.1
* updated Anope to version 2.0.3
* updated NPM to version 3.6.0
* dropped all globally installed NPM packages
* dropped OpenSSL 1.0.2 build script, as it is not used outside of nginx

## 1.1.1 (2016-01-21)
* updated VirtualBox Guest additions to version 5.0.14
* updated Let's Encrypt to version 0.2.1.dev0
* improved installed software version check
* dropped Varnish from considered softwares

## 1.1.0 (2016-01-19)
* added NPM environment with:
* JS Hint
* Yeoman
* Bower
* Grunt
* Jasmine
* Karma
* updated bootstrap scripts to be launched standalone
* fixed disable OPCache for PHP CLI
* centralized apt dependencies installation
* centralized sources cleanup
* silenced on-going certificates generation
* updated nginx to mainline 1.9.9, being built against OpenSSL 1.0.2e sources
* updated bootstrap to ultimately display installed versions

## 1.0.5 (2016-01-11)
* added coding style definition file
* updated PostgreSQL to version 9.5
* updated PHP to version 7.0.2
* improved box compression script

## 1.0.4 (2016-01-04)
* updated UnrealIRCd to stable version 4.0.0
* modified nginx-rtmp-module reference to use back original repository from "arut"

## 1.0.3 (2015-12-23)
* fixed broken Let's Encrypt recipe

## 1.0.2 (2015-12-23)
* added alternative shutdown script to speed up `vagrant halt`
* modified resources, relocated to project root
* added memcached for PHP session storage
* added Let's Encrypt
* modified disk shrinking for better results
* modified nginx-rtmp-module reference to use fork from "sergey-dryabzhinsky"

## 1.0.1 (2015-12-21)
* modified script language to bash from shell for bootstrap
* fixed Unreal and Anope services
* added bootstrap error catching and management
* added bootstrap output logging
* added self-signed certificate generation
* splitted PHP and Xdebug setup
* added Memcached setup
* added Composer setup

## 1.0.0 (2015-12-18)
Initial release
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This project aims to give you the necessary tools to build yourself the Neap Box

## About

**Version:** 1.2.7
**Version:** 1.2.8
**Web:** Coming later, [box.neap.io](http://box.neap.io)
**Project Owner:** Michaël "[e7d](https://github.com/e7d)" Ferrand

Expand Down Expand Up @@ -54,21 +54,21 @@ Once Vagrant is done provisioning the VM, you will have a box containing:

* [Debian](https://www.debian.org/) Jessie 8.4, as operating system, with:
* [VirtualBox](https://www.virtualbox.org/) Guest Additions 5.0.20
* [Let's Encrypt](https://letsencrypt.org/) 0.6.0, as SSL certificate generator
* [Let's Encrypt](https://letsencrypt.org/) 0.7.0, as SSL certificate generator
* [jq](https://stedolan.github.io/jq/) 1.5, as JSON processor
* [PostgreSQL](http://www.postgresql.org/) 9.5.3, as database system
* [Redis](http://redis.io/) 3.2.0, as data structure store
* [MailCatcher](http://mailcatcher.me/) 0.6.4 as mail catching server
* [nginx](http://nginx.org/) 1.10.0, as web server, with:
* [MailCatcher](https://mailcatcher.me/) 0.6.4 as mail catching server
* [nginx](http://nginx.org/) 1.10.1, as web server, with:
* [OpenSSL](https://www.openssl.org/) 1.0.2h, as SSL module
* [nginx-rtmp-module](https://github.com/arut/nginx-rtmp-module) 1.1.7, as streaming handler (RTMP, HLS and DASH protocols)
* [PHP](http://php.net/) 7.0.6, as server-side scripting language, with:
* [PHP-FPM](http://php-fpm.org/) 7.0.6, as PHP process manager
* [PHP](http://php.net/) 7.0.7, as server-side scripting language, with:
* [PHP-FPM](http://php-fpm.org/) 7.0.7, as PHP process manager
* [PhpRedis](https://github.com/phpredis/phpredis) 2.2.8-devphp7, as PHP extension for Redis
* [Xdebug](http://xdebug.org/) 2.4.0, as debugger and profiler tool
* [Composer](https://getcomposer.org/) 1.1.0, as dependency manager
* [NodeJS](https://nodejs.org/) 6.1.0, as JavaScript runtime
* [NPM](https://www.npmjs.com/) 3.9.0, as JavaScript package Manager
* [Composer](https://getcomposer.org/) 1.1.2, as dependency manager
* [NodeJS](https://nodejs.org/) 6.2.1, as JavaScript runtime
* [NPM](https://www.npmjs.com/) 3.9.5, as JavaScript package Manager
* [FFmpeg](https://www.ffmpeg.org/) 2.8.7, as media converter
* [UnrealIRCd](https://www.unrealircd.org/) 4.0.3, as IRC server daemon, with:
* [Anope](https://www.anope.org/) 2.0.3, as IRC services daemon
7 changes: 5 additions & 2 deletions bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ try
echox "${text_cyan}Prepare Debian environment"
/vagrant/bootstrap/prepare-env.sh

echox "${text_cyan}Setup Let's Encrypt"
/vagrant/bootstrap/setup-letsencrypt.sh
echox "${text_cyan}Setup Let's Encrypt Certbot"
/vagrant/bootstrap/setup-certbot.sh

echox "${text_cyan}Setup certificates"
/vagrant/bootstrap/setup-certificates.sh
Expand Down Expand Up @@ -60,6 +60,9 @@ try
echox "${text_cyan}Setup NPM"
/vagrant/bootstrap/setup-npm.sh

echox "${text_cyan}Setup Newman"
/vagrant/bootstrap/setup-newman.sh

echox "${text_cyan}Setup ffmpeg"
/vagrant/bootstrap/setup-ffmpeg.sh

Expand Down
2 changes: 1 addition & 1 deletion bootstrap/build-nginx.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ if [ 0 != $(id -u) ]; then
exit 1
fi

NGINX_VERSION=1.10.0 # http://nginx.org/en/download.html
NGINX_VERSION=1.10.1 # http://nginx.org/en/download.html
OPENSSL_VERSION=1.0.2h # https://openssl.org/source/
NGINX_RTMP_VERSION=1.1.7 # https://github.com/arut/nginx-rtmp-module/releases

Expand Down
6 changes: 3 additions & 3 deletions bootstrap/check-versions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ fi
NEAPBOX=$(cat /etc/neap_box_version)
DEBIAN=$(cat /etc/debian_version)
VBOXGUESTADDITIONS=$(echo `modinfo vboxguest` | sed 's/.*\bversion: \([^ ]*\).*/\1/')
LETSENCRYPT=$(echo `letsencrypt --version 2>&1` | sed 's/.*letsencrypt \(.*\)/\1/')
CERTBOT=$(cat /opt/letsencrypt/certbot-auto | grep LE_AUTO_VERSION= | sed 's/.*LE_AUTO_VERSION="\(.*\)"/\1/')
JQ=$(echo `jq -V` | sed 's/.*jq-\(.*\)/\1/')
POSTGRESQL=$(echo `psql -V` | sed 's/psql (PostgreSQL) \(.*\)/\1/')
REDIS=$(echo `redis-server -v` | sed 's/Redis server v=\([^ ]*\).*/\1/')
Expand All @@ -33,7 +33,7 @@ ANOPE=$(echo `/etc/anope/bin/services -v` | sed 's/Anope-\([^ ]*\).*/\1/')
echo 'Neap Box: '$NEAPBOX
echo '+-- Debian: '$DEBIAN
echo ' +-- VirtualBox Guest Additions: '$VBOXGUESTADDITIONS
echo ' +-- Lets Encrypt: '$LETSENCRYPT
echo ' +-- Lets Encrypt Certbot: '$CERTBOT
echo ' +-- jq: '$JQ
echo ' +-- PostgreSQL: '$POSTGRESQL
echo ' +-- Redis: '$REDIS
Expand All @@ -47,7 +47,7 @@ echo ' | +-- PhpRedis: '$PHPREDIS
echo ' | +-- Xdebug: '$XDEBUG
echo ' | `-- Composer: '$COMPOSER
echo ' +-- NodeJS: '$NODEJS
echo ' | +-- NPM: '$NPM
echo ' | `-- NPM: '$NPM
echo ' +-- FFmpeg: '$FFMPEG
echo ' `-- UnrealIRCd: '$UNREALIRCD
echo ' `-- Anope: '$ANOPE
3 changes: 2 additions & 1 deletion bootstrap/prepare-env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ try

echo "Install prerequisite packages"
apt-get -y -q install build-essential cmake curl facter g++ gcc git libcurl4-openssl-dev libpcre++-dev \
libpcre3-dev libreadline-gplv2-dev libssl-dev make pkg-config unzip zlib1g-dev
libpcre3-dev libreadline-gplv2-dev libsqlite3-dev libssl-dev make pkg-config \
ruby-dev unzip zlib1g-dev

echo "Tweak SSH daemon"
echo 'UseDNS no' >>/etc/ssh/sshd_config
Expand Down
35 changes: 35 additions & 0 deletions bootstrap/setup-certbot.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/bash

. /vagrant/resources/colors.sh
. /vagrant/resources/trycatch.sh

# This script needs admin rights
if [ 0 != $(id -u) ]; then
echox "${text_red}Error:${text_reset} This script must be run as root!"
exit 1
fi

LETS_ENCRYPT_PATH=/opt/letsencrypt

try
(
throwErrors

echo "Download latest Certbot client"
rm -rf ${LETS_ENCRYPT_PATH}
mkdir -p ${LETS_ENCRYPT_PATH}
cd ${LETS_ENCRYPT_PATH}
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

echo "Link executable in environment"
ln -sf ${LETS_ENCRYPT_PATH}/certbot-auto /usr/bin/certbot-auto
)
catch || {
case $ex_code in
*)
echox "${text_red}Error:${text_reset} An unexpected exception was thrown"
throw $ex_code
;;
esac
}
41 changes: 0 additions & 41 deletions bootstrap/setup-letsencrypt.sh

This file was deleted.

3 changes: 0 additions & 3 deletions bootstrap/setup-mailcatcher.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@ try
(
throwErrors

echo "Install apt dependencies"
apt-get -y -q install libsqlite3-dev ruby-dev

echo "Update Ruby environment"
gem update --system

Expand Down
26 changes: 26 additions & 0 deletions bootstrap/setup-newman.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/bin/bash

. /vagrant/resources/colors.sh
. /vagrant/resources/trycatch.sh

# This script needs admin rights
if [ 0 != $(id -u) ]; then
echox "${text_red}Error:${text_reset} This script must be run as root!"
exit 1
fi

try
(
throwErrors

echo "Install Newman"
npm install -g newman
)
catch || {
case $ex_code in
*)
echox "${text_red}Error:${text_reset} An unexpected exception was thrown"
throw $ex_code
;;
esac
}
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

vagrant destroy --force
vagrant up --install-provider
vagrant up --install-provider --destroy-on-error
rm -rf neap.box
vagrant package --output neap.box
Loading

0 comments on commit 73fcd0f

Please sign in to comment.