Jump to content

Laravel:Installasi

From Wiki

Let's first install a webserver to host the Laravel application. You can either use Apache or Nginx web server. Here I am using an Apache web server.

To install apache2, type:

sudo apt install apache2

Once installed, Apache should be running. If it's not, for whatever reason, start it:

sudo systemctl start apache2

Then enable it to start on boot time.

sudo systemctl enable apache2

To verify the status of Apache, execute:

sudo systemctl status apache2

Step 2: Install PHP and additional PHP extensions

Laravel 8 requires PHP 7.3 or above. Thankfully, PHP 7.4 is available in Ubuntu repositories. So, install PHP and the following PHP extensions.

sudo apt install php libapache2-mod-php php-mbstring php-cli php-bcmath php-json php-xml php-zip php-pdo php-common php-tokenizer php-mysql

When the installation is complete, verify the PHP version.

php -v

Step 3: Create Database for Laravel Application

Next up, we will create a database for the Laravel application.

But first, we need to install a database server. Laravel supported database systems are MariaDB, MySQL, SQLite, Postgres, or SQL Server.

We will go with the MariaDB database engine.

sudo apt install mariadb-server

Once the database server is installed, log into the MariaDB prompt:

sudo mysql -u root -p

Once logged in create the database, database user, and grant all privileges to the database user.

CREATE DATABASE laravel_db;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'secretpassword';
GRANT ALL ON laravel_db.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
QUIT;

Step 4: Install Composer

Composer is a dependency package manager for PHP. It provides a framework for managing libraries and dependencies and required dependencies. To use Laravel, first install composer.

To download Composer, invoke the command shown.

curl -sS https://getcomposer.org/installer | php

This downloads the composer.phar file.

Next, move the composer file to the /usr/local/bin path.

sudo mv composer.phar /usr/local/bin/composer

Assign execute permission:

sudo chmod +x /usr/local/bin/composer

Verify the Composer version installed:

composer --version

Composer version 2.1.3 is installed.

Step 5: Install Laravel 8 on Ubuntu

With Composer installed, the next course of action is to install Laravel. Navigate to the webroot directory, type:

cd /var/www/html

Now, install Laravel using the composer command, type:

sudo composer create-project laravel/laravel laravelapp

Or, you may create new Laravel projects by globally installing the Laravel installer via Composer:

composer global require laravel/installer
laravel new example-app

The command creates a new directory called laravelapp and installs all the files and directories for Laravel. Change the ownership of the Laravel directory to the webserver user and also the permissions:

sudo chown -R www-data:www-data /var/www/html/laravelapp
sudo chmod -R 775 /var/www/html/laravelapp/storage

Feel free to replace laravelapp with a preferred directory name.

Once the installation is done navigate to the installation directory and check the Laravel version.

cd laravelapp

Cek version

php artisan

Step 6: Configure Apache to serve Laravel site

Lastly, we need to set up the Apache webserver to host the Laravel site. For that to happen, we need to create a virtual host file.

sudo vim /etc/apache2/sites-available/laravel.conf

Next, past the content shown and replace the example.com ServerName directive with the FQDN or public IP of the server ( Or private IP in case the server is on a LAN network ).

<VirtualHost *:80>
    ServerName example.com
    ServerAdmin admin@example.com
    DocumentRoot /var/www/html/laravelapp/public

    <Directory /var/www/html/laravelapp>
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Save the changes and exit the file. Next, enable the Laravel site and Apache rewrite module using these two commands.

sudo a2ensite laravel.conf
sudo a2enmod rewrite

To apply the changes, restart Apache.

sudo systemctl restart apache2

Source