$ sudo apt install apache2
sudo apt install apache2 -y
sudo apt-get -o DPkg::Options::="--force-confmiss" --reinstall install apache2
sudo apt-get purge apache2
sudo apt-get install apache2
apt-get purge libapache2-mod-php5 php5
apt-get install libapache2-mod-php5 php5
To install laravel v9 you will need apache2, php8 and composerv2 (Ubuntu 20.04/Ubuntu 18.04)
sudo apt update
sudo apt upgrade
Install and start apache2
sudo apt install apache2
sudo service apache2 start
Open: http://localhost:80
sudo service apache2 stop
Install php8
sudo add-apt-repository -y ppa:ondrej/php
sudo apt-get update
sudo apt-get install php8.0 php8.0-cli php8.0-common php8.0-xml php8.0-curl
php -v
Enable mods
sudo a2enmod php8.0
sudo a2enmod headers
sudo a2enmod rewrite
Install composerv2
cd /home/user
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
compsoer -V
Install laravel project
composer create-project laravel/laravel example-app
php artisan key:generate --ansi
php artisan serve
Configuration file for apache2 example
cd /etc/apache2
sudo a2dissite 000-default.conf
cd /sites-available
sudo touch appName.conf
sudo nano appName.conf
Copy, paste and configurate:
---------------------------------------------------------------------------------
<VirtualHost *:80>
ServerName name.local
// If project is based on multiple env (admin/frontend)
SetEnv ACTIVE_MODULE frontend
DocumentRoot "pathDirectory/laravel/public"
<Directory "pathDirectory/laravel/public">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/fileName.err
CustomLog /var/log/apache2/fileName combined
</VirtualHost>
---------------------------------------------------------------------------------
sudo a2ensite appName.conf
sudo service apache2 restart
or
sudo service apache2 start