Introduction
I recently switched to Ubuntu Desktop. Everything was simple and
straight forward until i needed to run multiple Laravel projects on my
LAMP stack.
For the records, I will also demonstrate how i installed a stable LAMP setup. If you are only interested in configuring multiple Host on Apache, you can click here to skip the story.
Installing the LAMP Stack
LAMP simply means Linux,Apache,MySql,PHP.
I tried so many methods but the command below made life easier for the living.
sudo apt-get install lamp-server^
The command above installed all i needed without any issue. I already configured Mysql from previous installation. All data and configurations of MySql from previous installation remained intact.
I installed the laravel installer and initialized a new Laravel project in the Apache directory.
cd /var/www/html
At first i was comfortable with using
php artisan ser
Later i decided i was not convenient with the 127...:8080, in windows i had laragon to create vanity urls for my new projects.
Configuring Apache
1. first I created 2 laravel projects in the home directory. one called flighter and the other called pakt.
2. I also decided that flighter will be accessible as fly.mk and pakt will be accessible as pakt.pak
2. We need to create entries for these custom domains in the /etc/hosts file. see below command
nano /etc/hosts
you can see the screenshots before and after editing the host file.
3. I created an apache conf file for my domain names. the conf files are usually stored at /etc/apache2/sites-available.
below is a sample of the conf file i created. you can create many conf files if you like but i chose to use one conf file for both domains i am creating.
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/flighter/public
ServerName fly.mk
ServerAlias www.fly.mk
<Directory /var/www/html/flighter/public>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/flighter-error.log
CustomLog ${APACHE_LOG_DIR}/flighter-access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/pakt/public
ServerName pakt.pak
ServerAlias www.pakt.pak
<Directory /var/www/html/pakt/public>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/pakt-error.log
CustomLog ${APACHE_LOG_DIR}/pakt-access.log combined
</VirtualHost>
4. save the code above as mydomains.conf
5. run the commands below to enable the new virtual hosts and rewrite modules for our projects.
sudo a2ensite mydomains.conf
sudo a2enmod rewrite
6. then restart apache with the command below
systemctl restart apache2
7. now you can access any of the laravel projects from
fly.mk and pakt.pak
I hope i was brief enough to spark your interest most articles and SO answers forget to mention steps 1, 2 and 3.
Let me know if you faced any challenge while practicing these.
Thanks for reading.
Comments
Post a Comment