Laravel, written in PHP, is a popular MVC framework for developing web applications. Laravel makes it easy to develop dynamic web apps with powerful built-in tools such as database systems, routes, controllers, authentication system, and a lot more.
Laravel is an open-source PHP web framework. It was first released in June 2011. With each new release, Laravel is making it easier to implement complicated features without wasting too much time. From scaffolding to providing helper methods to build advanced features such as authentication, Models for making database queries, controllers to write request logic, and Views to render blade templates or even supports Inertia for building frontend with React or Vue.
Currently, Laravel 8.x is the latest release. For a quick start, Laravel provides Laravel Breeze (optional) to scaffold the entire authentication system that includes login, register, and a password reset system.
If you are a PHP developer, Laravel is a genie for you. The huge community and well-explained documentation is always there if one needs any help. To further save time in coding popular features, search for packages already coded by somebody in the community. Use Packalyst, a huge directory to find Laravel packages built by the community. From interacting with a third-party API to implementing different authentication systems, multiple packages are available for all kinds of needs.
Install Laravel on Manjaro/Arch Linux
If you are using Manjaro to develop Laravel applications, here is how you can install Laravel on Manjaro, Arch Linux, or any other Arch-based system.
If you’re using Ubuntu-based system, please follow this guide.
- Apache or Nginx
- PHP >= 5.3
- Database (mysql, MariaDB, etc.)
- Install Composer (PHP package manager)
For this article, I am going to use Apache, PHP 8, and Mysql for Laravel.
Install PHP and Apache web server
Let’s first install and set up Apache and PHP.
sudo pacman -S php php-apache
Enable PHP Extensions
In order for Laravel to function properly, enable the following extensions from php.ini file.
sudo nano /etc/php/php.ini
To enable an extension, first find the line in php.ini where the extension is mentioned. Press ‘CTRL+W‘ and type the extension name.
First find and enable bcmath. To enable it, just remove ; from the line.
Similarly, enable zip extension. Search zip and remove ; from the line.
sudo pacman -S mariadb
Once the installation is successful, run the following command –
sudo systemctl start mysqld
If you get the following starting mysql daemon –
Job for mariadb.service failed because the control process exited with error code. See “systemctl status mariadb.service” and “journalctl -xe” for details.
Then initialize your mysql directory using the following command –
$ sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
Now start mysql and run mysql_secure_installation to secure the installation of MySQL.
sudo systemctl start mysqld
Composer is a PHP package manager. We’ll use composer to install Laravel and required packages.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo php composer-setup.php --install-dir=/bin --filename=composer
Finally, install Laravel. The following command will install the latest version of Laravel.
composer global require laravel/installer
Export path variables.
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc
Next run Laravel command in the terminal and Voila!
Create new Laravel application
laravel new application_name
If you want to configure authentication scaffolding, install Larave UI. For more in-depth tutorials on how to set up Laravel to build frontend with react or any other frontend framework, head over to this documentation.