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 |