Simple Laravel 5.2 stack with web serer (php-fpm) and db drivers
- NGINX
- PHP7
- PHP mongo driver for php-fpm and php-cli
- PHP mbstring module
- PHP bz2 module
- PHP imagick module
- Memcached + PHP memcached
- Mysql PHP driver
- Postgre PHP driver
- Composer
| #!/bin/bash | |
| set -e #exit immediately if a simple command exits with a nonzero exit value | |
| apt-get update | |
| apt-get install -y curl | |
| curl -sS https://getcomposer.org/installer | php | |
| mv composer.phar /usr/local/bin/composer |
| [ | |
| { | |
| "name": "Nginx", | |
| "command": "/usr/bin/dpkg -l | awk '$2==\"nginx\" { print $3 }'", | |
| "required": "1.10.1", | |
| "comparison": ">=", | |
| "installer": "nginx.sh", | |
| "order": "1" | |
| }, | |
| { | |
| "name": "PHP", | |
| "command": "/usr/bin/php -r 'echo phpversion();'", | |
| "required": "7.0.9", | |
| "comparison": ">=", | |
| "installer": "php7.sh", | |
| "order": "2" | |
| }, | |
| { | |
| "name": "MBString for PHP7", | |
| "command": "/usr/bin/php -r 'echo phpversion(\"mbstring\");'", | |
| "required": "7.0.9", | |
| "comparison": ">=", | |
| "installer": "php7mbstring.sh", | |
| "order": "3" | |
| }, | |
| { | |
| "name": "BZ2 for PHP7", | |
| "command": "/usr/bin/php -r 'echo phpversion(\"bz2\");'", | |
| "required": "7.0.9", | |
| "comparison": ">=", | |
| "installer": "php7bz2.sh", | |
| "order": "4" | |
| }, | |
| { | |
| "name": "Postgres driver for PHP7", | |
| "command": "/usr/bin/dpkg -l | awk '$2==\"php7.0-pgsql\" { print $3 }'", | |
| "required": "7.0.9", | |
| "comparison": ">=", | |
| "installer": "php7pgsql.sh", | |
| "order": "5" | |
| }, | |
| { | |
| "name": "Imagick for PHP7", | |
| "command": "/usr/bin/php -r 'echo phpversion(\"imagick\");'", | |
| "required": "3.4.0", | |
| "comparison": ">=", | |
| "installer": "php7imagick.sh", | |
| "order": "6" | |
| }, | |
| { | |
| "name": "Composer", | |
| "command": "/usr/local/bin/composer -V | awk '{ print $3 }'", | |
| "required": "1.2.0", | |
| "comparison": ">=", | |
| "installer": "composer.sh", | |
| "order": "7" | |
| } | |
| ] |
| #!/bin/bash | |
| set -e #exit immediately if a simple command exits with a nonzero exit value | |
| echo "deb http://nginx.org/packages/debian/ jessie nginx" | sudo tee /etc/apt/sources.list.d/nginx.list | |
| wget -qO - http://nginx.org/keys/nginx_signing.key | sudo apt-key add - | |
| apt-get update | |
| apt-get remove -y apache2* | |
| apt-get purge -y apache2* | |
| apt-get autoremove -y | |
| rm -rf /etc/apache2 | |
| apt-get install -y nginx | |
| sudo /etc/init.d/nginx start | |
| sudo /etc/init.d/nginx restart |
| #!/bin/bash | |
| set -e #exit immediately if a simple command exits with a nonzero exit value | |
| apt-get remove -y php5* | |
| apt-get purge -y php5* | |
| apt-get install -y software-properties-common python-software-properties | |
| sudo locale-gen en_US.UTF-8 | |
| #export LC_ALL=en_US.UTF-8 && add-apt-repository ppa:ondrej/php -y | |
| echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu trusty main" | sudo tee /etc/apt/sources.list.d/php7.list | |
| apt-get update | |
| apt-get install -y php7.0 php7.0-fpm php7.0-dev php7.0-cli | |
| apt-get install -y php7.0-gd php7.0-curl php7.0-curl php7.0-mcrypt php7.0-sqlite3 php7.0-json php-pear | |
| phpenmod mcrypt | |
| phpenmod gd | |
| phpenmod curl | |
| phpenmod sqlite3 | |
| phpenmod json | |
| sudo /etc/init.d/php7.0-fpm start | |
| sudo /etc/init.d/php7.0-fpm restart |
| #!/bin/bash | |
| set -e #exit immediately if a simple command exits with a nonzero exit value | |
| apt-get update | |
| apt-get install php7.0-bz2 | |
| sudo /etc/init.d/php7.0-fpm start | |
| sudo /etc/init.d/php7.0-fpm restart |
| #!/bin/bash | |
| set -e #exit immediately if a simple command exits with a nonzero exit value | |
| sudo locale-gen en_US.UTF-8 | |
| #export LC_ALL=en_US.UTF-8 && add-apt-repository ppa:ondrej/php -y | |
| echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu trusty main" | sudo tee /etc/apt/sources.list.d/php7.list | |
| apt-get update | |
| apt-get install pkg-config libmagickwand-dev -y | |
| cd /tmp | |
| wget https://pecl.php.net/get/imagick-3.4.0.tgz | |
| tar xvzf imagick-3.4.0.tgz | |
| cd imagick-3.4.0 | |
| phpize | |
| ./configure | |
| make install | |
| rm -rf /tmp/imagick-3.4.0* | |
| echo extension=imagick.so >> /etc/php/7.0/cli/php.ini | |
| echo extension=imagick.so >> /etc/php/7.0/fpm/php.ini | |
| sudo /etc/init.d/php7.0-fpm start | |
| sudo /etc/init.d/php7.0-fpm restart |
| #!/bin/bash | |
| set -e #exit immediately if a simple command exits with a nonzero exit value | |
| apt-get update | |
| apt-get install php7.0-mbstring | |
| phpenmod mbstring | |
| sudo /etc/init.d/php7.0-fpm start | |
| sudo /etc/init.d/php7.0-fpm restart |
| #!/bin/bash | |
| set -e #exit immediately if a simple command exits with a nonzero exit value | |
| apt-get update | |
| apt-get install php7.0-memcached | |
| phpenmod memcached | |
| sudo /etc/init.d/php7.0-fpm start | |
| sudo /etc/init.d/php7.0-fpm restart |
| #!/bin/bash | |
| set -e #exit immediately if a simple command exits with a nonzero exit value | |
| # Get key and add to sources | |
| sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 | |
| # Debian cant use Upstart syste? but Ubuntu can use SysV. That's why we use debian repo instead ubuntu repo | |
| echo "deb http://repo.mongodb.org/apt/debian/ wheezy/mongodb-org/3.2 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list | |
| # Update | |
| sudo apt-get update --fix-missing | |
| # Install MongoDB | |
| sudo apt-get install -y mongodb-org | |
| # install dependencies | |
| sudo apt-get install --yes --force-yes liblua5.1-0-dev liblua50-dev liblualib50-dev | |
| sudo apt-get install --yes --force-yes autoconf g++ make openssl libssl-dev libcurl4-openssl-dev pkg-config libsasl2-dev libpcre3-dev | |
| sudo apt-get upgrade --yes --fix-missing | |
| #fix libtool symlink according to https://github.com/mongodb/mongo-php-driver/issues/255#issuecomment-194243738 | |
| sudo rm /usr/lib/php/20151012/build/ltmain.sh | |
| #Debian wheeze | |
| #sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/lib/php/20151012/build/ltmain.sh | |
| #Debian jessie and new ubuntu | |
| sudo ln -s /usr/share/libtool/config/ltmain.sh /usr/lib/php/20151012/build/ltmain.sh | |
| # install php extension | |
| echo ">>> Start sudo pecl install mongodb" | |
| sudo pecl install -f mongodb | |
| sudo pecl upgrade mongodb | |
| echo ">>> End sudo pecl install mongodb" | |
| # add extension file and restart service | |
| sudo bash -c 'echo "extension=mongodb.so" >> /etc/php/7.0/cli/php.ini' | |
| sudo bash -c 'echo "extension=mongodb.so" >> /etc/php/7.0/fpm/php.ini' | |
| sudo service php7.0-fpm restart | |
| echo ">>> End to Install MongoDB" |
| #!/bin/bash | |
| set -e #exit immediately if a simple command exits with a nonzero exit value | |
| sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 | |
| echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list |
| #!/bin/bash | |
| set -e #exit immediately if a simple command exits with a nonzero exit value | |
| sudo locale-gen en_US.UTF-8 | |
| #export LC_ALL=en_US.UTF-8 && add-apt-repository ppa:ondrej/php -y | |
| echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu trusty main" | sudo tee /etc/apt/sources.list.d/php7.list | |
| apt-get update | |
| apt-get install -y php7.0-mysql | |
| sudo /etc/init.d/php7.0-fpm start | |
| sudo /etc/init.d/php7.0-fpm restart |
| #!/bin/bash | |
| set -e #exit immediately if a simple command exits with a nonzero exit value | |
| sudo locale-gen en_US.UTF-8 | |
| #export LC_ALL=en_US.UTF-8 && add-apt-repository ppa:ondrej/php -y | |
| echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu trusty main" | sudo tee /etc/apt/sources.list.d/php7.list | |
| # for php7.0-pgsql and Debian wheezy | |
| echo "Importing repository signing key ..." | |
| test -e "/etc/apt/trusted.gpg.d/apt.postgresql.org.gpg" || touch "/etc/apt/trusted.gpg.d/apt.postgresql.org.gpg" | |
| sudo apt-key --keyring "/etc/apt/trusted.gpg.d/apt.postgresql.org.gpg" add - <<EOF | |
| -----BEGIN PGP PUBLIC KEY BLOCK----- | |
| Version: GnuPG v1 | |
| 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 | |
| IIP9up4xwgje9LB7fMxsSkCDTHOk | |
| =s3DI | |
| -----END PGP PUBLIC KEY BLOCK----- | |
| EOF | |
| echo "deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list | |
| apt-get update | |
| apt-get install -y php7.0-pgsql | |
| sudo /etc/init.d/php7.0-fpm start | |
| sudo /etc/init.d/php7.0-fpm restart |
| #!/bin/bash | |
| set -e #exit immediately if a simple command exits with a nonzero exit value | |
| add-apt-repository ppa:ondrej/php |