1. Install pre-requisite
sudo add-apt-repository ppa:ondrej/php sudo apt-get install software-properties-common sudo apt-get install python-software-properties sudo apt-get install zip unzip wget -q -O- http://nginx.org/keys/nginx_signing.key | sudo apt-key add -
2. Install Nginx and PHP7
sudo apt-get update sudo apt-get install nginx-full php7.0 php7.0-mysql php7.0-fpm php7.0-mbstring php7.0-xml php7.0-curl php7.0-zip
3. Setup Nginx
sudo pico /etc/nginx/nginx.conf client_max_body_size 30M;
sudo pico /etc/nginx/sites-available/default
server {
listen 80 default_server;
listen [::]:80 default_server;
root /path/to/app/public;
index index.php index.html index.htm;
server_name server_name;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
4. Setup PHP7
sudo pico /etc/php/7.0/fpm/php.ini cgi.fix_pathinfo=0 upload_max_filesize=30M
5. Install MySQL client
sudo apt-get install libmysqlclient-dev mysql-client
6. Install Composer
cd ~ curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer
7. Clone Application Files
git clone path/to/app.git
8. Install Laravel
cd /path/to/app composer install
9. Setup Laravel env file
pico .env (or php artisan key:generate)
10. Set log directory ownership
sudo chown -R www-data:www-data /path/to/app/storage
11. Restart service
sudo service nginx restart sudo service php7.0-fpm restart