Environment: Laravel 5.8, PHP 7.0, Debian 9.12
First, upgrade PHP to the latest one (7.3)
sudo apt update sudo apt upgrade -y sudo apt -y install lsb-release apt-transport-https ca-certificates sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list sudo apt update sudo apt -y install php7.3 php -v sudo apt install php7.3-cli php7.3-fpm php7.3-json php7.3-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php7.3-bcmath php7.3-json sudo apt install libapache2-mod-php7.3 apt policy php7.3-cli
Second, install latest composer (1.9.3)
sudo apt install php-cli php-zip wget unzip sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" HASH="$(wget -q -O - https://composer.github.io/installer.sig)" sudo php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer composer sudo rm composer-setup.php
Third, install latest git (2.11.0) and checkout the repository. Then ignore file permission checking
sudo apt install git git --version cd /var/www/html sudo git clone https://you@bitbucket.org/you/laravel.git cd laravel sudo git config core.fileMode false
Forth, install Laravel project by composer.
sudo composer install sudo composer update sudo nano .env // change config (e.g. mysql account) sudo php artisan key:generate sudo php artisan storage:link sudo php artisan migrate:refresh --seed sudo php artisan serve --host 0.0.0.0
Finally, check the url with port 8000