GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara menginstal Laravel 9 di Ubuntu 22.04

Laravel adalah kerangka aplikasi web populer yang dibangun untuk pengembang PHP. Laravel terkenal di komunitas PHP karena kesederhanaannya sebagai alat untuk membangun aplikasi yang besar dan kuat. Laravel juga dikenal dengan sintaksisnya yang ekspresif dan elegan.

Sejak awal Laravel telah berkembang menjadi salah satu kerangka kerja aplikasi web yang paling populer dan kuat dan banyak organisasi besar mulai menyadari potensi kerangka kerja ini dan mulai mengadopsinya.

Dalam tutorial ini kami akan memandu Anda mengatur Laravel di Ubuntu 22.04.

Mari kita mulai dengan penyiapan.

1 Prasyarat

  • Sistem operasi Ubuntu 22.04
  • Minimal PHP versi 8.0.
  • Akan lebih baik jika server Anda memiliki RAM minimal 2GB

2 Memperbarui Sistem

Mari kita perbarui sistem kita terlebih dahulu.

sudo apt update -y && apt upgrade -y

3 Memasang ekstensi PHP dan PHP

Versi default PHP di repositori Ubuntu 22.04 adalah PHP 8.1 sehingga kita dapat melanjutkan instalasi PHP tanpa menambahkan repositori.

sudo apt-get install php php-fpm libapache2-mod-php php-dev php-zip php-curl php-pear php-mbstring php-mysql php-gd php-xml curl -y

Verifikasi versi PHP:

php -v


Output:

PHP 8.1.2 (cli) (built: Jul 21 2022 12:10:37) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies

4 Instalasi dan konfigurasi Database

Dalam pengaturan ini kita akan menggunakan MariaDB sebagai sistem manajemen database kita, tetapi Anda dapat memilih sistem manajemen database yang didukung Laravel seperti SQLite, MySQL, Postgres, dan SQL Server.

Mari kita instal MariaDB.

sudo apt install mariadb-server

Aktifkan dan mulai MariaDB.

sudo systemctl enable mariadb --now

Periksa status MariaDB.

sudo systemctl status mariadb

Output:
● mariadb.service - MariaDB 10.6.7 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-09-03 12:32:57 EDT; 2min 13s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 123075 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 9 (limit: 9456)
     Memory: 57.2M
        CPU: 425ms
     CGroup: /system.slice/mariadb.service
             └─123075 /usr/sbin/mariadbd

Mari kita mengamankan database MariaDB.

sudo mysql_secure_installation

Ikuti panduan penerapan server MariaDB:

Securing the MySQL server deployment.

Enter password for user root:
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.

Estimated strength of the password: 50
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N

 ... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.

All done!

Sekarang restart MariaDB.

sudo systemctl restart mariadb

Sekarang mari kita buat database dan user database untuk aplikasi Laravel kita.

mysql -u root -p
MariaDB [(none)]> create database laravel;
MariaDB [(none)]> grant all privileges on laravel.* to 'laravel_user'@'localhost' identified by 'your_secure_password';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Catatan: Jangan lupa untuk mengubah ‘password_aman_anda ' ke kata sandi Anda sendiri.

5 Memasang Komposer

Composer adalah pengelola paket dependensi tingkat aplikasi untuk PHP yang menyediakan format standar untuk mengelola dependensi software PHP dan library yang diperlukan. Komposer diperlukan di Laravel untuk mengelola paket dan dependensi Laravel dengan mudah.

Mari kita instal komposer.

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

Verifikasi penginstalan.

composer --version

Output:

Composer version 2.4.1 2022-08-20 11:44:50

6 Memasang Kerangka Laravel

Sebelum kita mulai dengan instalasi mari kita mengubah direktori.

cd /var/www/

Unduh aplikasi Laravel. Sampai tulisan ini dibuat, Laravel versi terbaru adalah 9 sehingga kita bisa langsung mendownload Laravel 9 tanpa menentukan versinya.

sudo composer create-project laravel/laravel mylara-app --prefer-dist

Output jika berhasil diinstal:


79 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force

   INFO  No publishable resources for tag [laravel-assets].

No security vulnerability advisories found
> @php artisan key:generate --ansi

   INFO  Application key set successfully.

Untuk memeriksa versi masuk ke dalam direktori Laravel:

cd mylara-app
php artisan --version

output:
Laravel Framework 9.28.0

Catatan: jika Anda ingin menginstal versi tertentu Anda dapat menjalankan perintah ini (contoh di bawah ini akan menginstal versi 8):

sudo composer create-project laravel/laravel lara8-app “8.*” –prefer-dist

Setel kepemilikan ke www-data.

sudo chown -R www-data:www-data /var/www/mylara-app

Setel semua direktori ke izin 755.

sudo find /var/www/mylara-app/ -type d -exec chmod 755 {} \;

Setel semua file ke izin 644.

sudo find /var/www/mylara-app/ -type f -exec chmod 644 {} \;

Periksa aplikasi dengan menjalankan server pengembangan.

php artisan serve --host=0.0.0.0

Output:

INFO  Server running on [http://0.0.0.0:8000].

  Press Ctrl+C to stop the server

Anda seharusnya dapat mengakses server pengembangan Laravel Anda di http://ipaddress:8000 .

7 Pengaturan Produksi Laravel

Server Web Apache :

sudo apt install apache2

Aktifkan dan mulai Apache.

systemctl enable apache2 --now

Buat host virtual.

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

Tambahkan berikut ini:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/mylara-app/public
     ServerName domain.com www.domain.com


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

     <Directory /var/www/laravel/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

</VirtualHost>

Catatan:Jangan lupa untuk mengubah domain  di direktif ServerName.

Simpan file dan keluar.

Aktifkan host virtual yang kita buat.

sudo a2ensite laravel.conf

Aktifkan juga Apache mod_rewrite.

sudo a2enmod rewrite

Mulai ulang server web Apache.

sudo systemctl restart apache2

Server Web Nginx :

Pertama mari kita instal Nginx.

sudo apt install nginx -y

Aktifkan dan mulai Nginx.

sudo systemctl enable nginx --now

Buat blok server.

sudo nano /etc/nginx/sites-available/laravel.conf

Tambahkan berikut ini:

server {
        server_name domain.com www.domain.com;

    access_log   /var/log/nginx/domain.com.access.log;
    error_log    /var/log/nginx/domain.com.error.log;

        root /var/www/mylara-app/public;
        index index.php;

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
      fastcgi_pass unix:/run/php/php-fpm.sock;
      include         fastcgi_params;
      fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
      fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
        }
}

Catatan: Jangan lupa untuk mengubah “domain.com “.

Simpan file dan keluar.

Mari kita aktifkan file konfigurasi Nginx (blok server).

sudo ln -s /etc/nginx/sites-available/laravel.conf /etc/nginx/sites-enabled/

Mulai ulang Nginx.

sudo systemctl restart nginx

8 Mengakses Aplikasi Laravel Anda

Setelah Anda berhasil menyiapkan produksi, Anda seharusnya dapat mengakses Aplikasi Laravel dengan domain Anda di http://domain.com .

9 Kesimpulan

Anda telah belajar mengatur Laravel 9 di Ubuntu 22.04 dengan server web Nginx atau Apache.

Jika Anda ingin memasang sertifikat SSL untuk mengamankan situs web Anda, Anda mungkin ingin membaca artikel kami di Let's Encrypt.


Ubuntu
  1. Cara Menginstal PHP di Ubuntu 18.04

  2. Cara Menginstal PHP 8.0 di Ubuntu 20.04 / Ubuntu 18.04

  3. Cara Menginstal PHP 7.2 di Ubuntu 16.04

  1. Cara Menginstal MariaDB di Ubuntu 18.04

  2. Cara Menginstal Laravel di Ubuntu 18.04

  3. Cara Menginstal PHP di Ubuntu 20.04

  1. Cara Menginstal Laravel di Ubuntu 18.04 dengan Apache

  2. Cara Menginstal Laravel PHP Web Framework di Ubuntu 20.04

  3. Cara Menginstal PHP 8.0 di Ubuntu 20.04