Cara Menginstal Laravel di Ubuntu 20.04

Semua yang perlu Anda ketahui untuk menerapkan aplikasi web Laravel di mesin Ubuntu 20.04 LTS

Laravel adalah kerangka kerja PHP open-source yang sangat populer dengan sintaks ekspresif dan elegan yang digunakan untuk merancang aplikasi web modern dan indah. Laravel bertujuan untuk menghilangkan rasa sakit dari pengembangan web dan menjadikannya pengalaman yang menyenangkan dan kreatif, mengubah pengembang web menjadi pengrajin web.

Dalam panduan ini, Anda akan mempelajari cara menginstal Laravel dengan LAMP stack di server Ubuntu 20.04 untuk menjalankan & menjalankan aplikasi web Anda.

Prasyarat

Untuk mengikuti panduan ini, Anda memerlukan server Ubuntu 20.04 LTS dan masuk sebagai pengguna sudo. Sebelum kita mulai, perbarui dan tingkatkan paket Ubuntu 20.04 dengan menjalankan:

sudo apt update && sudo apt upgrade

Memasang LAMP Stack

LAMP adalah singkatan dari L inux operating system, A pache web server, M ySQL database dan bahasa pemrograman P HP. Kita sudah berada di Ubuntu 20.04 yang menandai Linux di tumpukan LAMP. Jadi kita akan menginstal sisa tiga paket untuk melengkapi tumpukan LAMP untuk aplikasi Laravel kita.

Tidak ada paket meta yang tersedia untuk menginstal tumpukan LAMP di repositori Ubuntu 20.04. Tetapi kita dapat menggunakan fitur kecil yang rapi dari manajer paket apt yang disebut tugas. Tugas dilambangkan menggunakan nama tugas yang tersedia dengan kadet ( ^ ) ditambahkan padanya.

sudo apt install lamp-server^

Perintah ini akan mencari file daftar paket untuk semua bidang “Tugas:” dan menginstal semua paket dengan “server-lampu” di bidang tugasnya. Jadi tumpukan LAMP yang terdiri dari paket Apache, MySQL dan PHP dengan semua dependensinya akan diinstal pada server Ubuntu Anda.

Konfigurasikan Firewall

Setelah Anda menginstal LAMP stack, Anda juga perlu mengonfigurasi uncomplicated firewall (UFW) dan mengubah aturannya sehingga Anda dapat mengakses server Apache dari internet.

UFW menyediakan profil aplikasi sederhana yang dapat digunakan untuk mengubah aturan dan mengalihkan lalu lintas pada port jaringan. Jalankan perintah berikut untuk mendaftar semua aplikasi yang mengakses port jaringan:

daftar aplikasi sudo ufw

Anda akan melihat output seperti ini:

Aplikasi yang tersedia: Apache Apache Full Apache Secure OpenSSH

Port jaringan yang dibuka profil ini di server Ubuntu 20.04 Anda tercantum di bawah ini:

  • Apache: Profil ini hanya membuka port 80 (memungkinkan lalu lintas HTTP)
  • Apache Full: Profil ini membuka port 80 & 443 (memungkinkan lalu lintas HTTP & HTTPS)
  • Apache Secure: Profil ini hanya membuka port 443 (memungkinkan lalu lintas HTTPS)
  • OpenSSH: Profil ini membuka port 22 yang memungkinkan protokol SSH

Anda perlu mengaktifkan profil ‘Apache Full’ yang memungkinkan lalu lintas ke server web Apache dari internet. Selain itu, Anda juga perlu mengaktifkan profil ‘OpenSSH’ yang memungkinkan lalu lintas pada port 22 (SSH) di server Ubuntu 20.04 Anda. Jika Anda mengaktifkan UFW tanpa mengizinkan profil ‘OpenSSH’, Anda tidak akan dapat terhubung ke server Anda menggunakan SSH.

Untuk mengubah aturan UFW dan mengizinkan lalu lintas pada port 80 dan 22, jalankan:

sudo ufw izinkan ‘Apache Full’ Sudo ufw izinkan ‘OpenSSH’

Kemudian aktifkan firewall UFW menggunakan perintah berikut:

sudo ufw aktifkan

Anda mungkin mendapatkan prompt yang mengatakan “perintah dapat mengganggu koneksi ssh yang ada. Lanjutkan dengan operasi (y|n)?”. Tekan Y untuk melanjutkan karena kita telah menambahkan aturan untuk mengizinkan SSH di UFW.

Sekarang Anda dapat mengakses halaman web default Apache menggunakan alamat IP server Ubuntu Anda dari internet. Untuk melakukannya buka browser Anda dan ketik alamat IP server Ubuntu 20.04 Anda di bilah URL dan tekan enter.

http://your_ubuntu_server_ip

Halaman ini mengkonfirmasi bahwa server web Apache berjalan dengan benar dan aturan UFW diatur dengan benar.

Menyiapkan Database MySQL untuk Laravel

Laravel 7 membuat interaksi dengan database menjadi sangat sederhana di berbagai backend database yang didukungnya seperti MySQL versi 5.6+, PostgreSQL 9.4+, SQLite 3.8.8+ dan SQL Server 2017+. Kita sudah menginstal paket MySQL terbaru dengan tugas lamp-sever^. Jadi di bagian ini, kita akan mengkonfigurasi server MySQL dan kemudian melihat cara mengatur pengguna dan database MySQL baru untuk aplikasi Laravel.

Konfigurasi MySQL

Database MySQL dilengkapi dengan skrip keamanan yang telah diinstal sebelumnya yang dapat digunakan untuk menghapus beberapa pengaturan default yang tidak aman. Anda disarankan untuk menjalankan skrip ini sebelum menerapkan aplikasi Laravel Anda.

sudo mysql_secure_installation

Perintah di atas akan menjalankan skrip keamanan yang akan meminta Anda serangkaian pertanyaan untuk mengkonfigurasi server MySQL.

Pertama, Anda akan ditanya apakah Anda ingin mengatur plugin VALIDATE PASSWORD. Plugin ini memeriksa kata sandi Anda dan memberi peringkat sebagai aman atau tidak aman berdasarkan tingkat kebijakan validasi kata sandi yang akan Anda pilih segera. Jadi tekan Y jika Anda ingin mengaktifkan plugin ini.

Output: Mengamankan penyebaran server MySQL. Menghubungkan ke MySQL menggunakan kata sandi kosong. VALIDASI KOMPONEN SANDI dapat digunakan untuk menguji kata sandi dan meningkatkan keamanan. Ini memeriksa kekuatan kata sandi dan memungkinkan pengguna untuk mengatur hanya kata sandi yang cukup aman. Apakah Anda ingin mengatur komponen VALIDATE PASSWORD? Tekan y|Y untuk Ya, tombol lain untuk Tidak: Y

Kemudian atur tingkat kebijakan validasi kata sandi dengan memasukkan 0, 1 atau 2 tergantung pada seberapa kuat Anda ingin membuat kata sandi untuk database Anda.

Keluaran: Ada tiga tingkat kebijakan validasi kata sandi: RENDAH Panjang >= 8 SEDANG Panjang >= 8, numerik, huruf besar, dan karakter khusus KUAT Panjang >= 8, angka, huruf besar campuran, karakter khusus dan file kamus Masukkan 0 = RENDAH, 1 = SEDANG dan 2 = KUAT: 2

Selanjutnya, Anda akan diminta untuk memasukkan kata sandi baru untuk pengguna root MySQL. Masukkan kata sandi yang sesuai untuk root MySQL Anda. Plugin VALIDATE PASSWORD akan memberi Anda perkiraan kekuatan kata sandi Anda sesuai dengan tingkat validasi kata sandi Anda. Tekan Y untuk melanjutkan dengan kata sandi yang Anda berikan.

Output: Silakan atur kata sandi untuk root di sini. Kata sandi baru: Masukkan kembali kata sandi baru: Perkiraan kekuatan kata sandi: 100 Apakah Anda ingin melanjutkan dengan kata sandi yang diberikan? (Tekan y|Y untuk Ya, tombol lain untuk Tidak): Y

Tekan Y untuk petunjuk selanjutnya, mereka akan menghapus beberapa pengguna anonim dan database pengujian, menonaktifkan login root jarak jauh dan memuat ulang pengaturan baru untuk server MySQL. Setelah selesai, uji database Anda dengan menjalankan:

sudo mysql

Perintah di atas akan membuka konsol MySQL, menghubungkan ke database MySQL sebagai pengguna root. Anda akan melihat output seperti ini:

Output: Selamat datang di monitor MySQL. Perintah diakhiri dengan ; atau g. ID koneksi MySQL Anda adalah 10 Versi server: 8.0.20-0ubuntu0.20.04.1 (Ubuntu) Hak Cipta (c) 2000, 2020, Oracle dan/atau afiliasinya. Seluruh hak cipta. Oracle adalah merek dagang terdaftar dari Oracle Corporation dan/atau afiliasinya. Nama lain mungkin merupakan merek dagang dari pemiliknya masing-masing. Ketik ‘bantuan;’ atau ‘h’ untuk bantuan. Ketik ‘c’ untuk menghapus pernyataan input saat ini. mysql>

Anda mungkin telah memperhatikan bahwa Anda tidak perlu memasukkan kata sandi yang telah Anda tetapkan untuk pengguna root MySQL. Itu karena metode otentikasi default untuk pengguna root MySQL administratif adalah caching_sha2_authentication alih- alih metode mysql_native_password yang menggunakan kata sandi untuk masuk.

Jadi secara default, Anda hanya dapat masuk sebagai pengguna root MySQL dengan pengguna yang mendukung sudo yang bertindak sebagai keamanan tambahan untuk server MySQL. Tetapi perpustakaan MySQL PHP tidak mendukung metode caching_sha2_authentication. Oleh karena itu kita perlu menggunakan metode mysql_native_password ketika kita membuat pengguna baru untuk Laravel karena menggunakan kata sandi untuk menghubungkan & berinteraksi dengan database.

Buat Pengguna & Basis Data MySQL Baru

Itu selalu merupakan praktik yang baik untuk membuat pengguna dan database baru khusus untuk aplikasi Anda daripada menggunakan pengguna root MySQL dan database pengujian. Jadi kita akan menyiapkan pengguna MySQL baru bernama laravel_user dan database bernama laravel. Jika Anda telah mengikuti tutorial sampai saat ini, Anda harus membuka konsol MySQL. Untuk membuat pengguna bernama laravel_user, jalankan kueri berikut di konsol MySQL:

Catatan: Ganti testpass di kueri MySQL di bawah ini dengan kata sandi yang kuat.

BUAT PENGGUNA ‘laravel_user’@’%’ DIIDENTIFIKASI DENGAN mysql_native_password OLEH ‘testpass’;

Selanjutnya, buat database bernama laravel untuk aplikasi Laravel kita dengan menjalankan kueri ini:

BUAT DATABASE laravel;

Hanya pengguna root MySQL yang memiliki izin ke database laravel yang baru dibuat. Berikan semua izin atas database laravel ke laravel_user dengan menjalankan:

HIBAH SEMUA DI laravel.* KEPADA ‘laravel_user’@’%’;

Jadi, kita sekarang memiliki pengguna MySQL baru dan database, keluar dari konsol MySQL dengan menjalankan:

KELUAR;

Uji pengguna MySQL baru Anda dengan masuk ke konsol MySQL dengannya, untuk melakukannya jalankan perintah ini di terminal:

mysql -u laravel_user -p

Perhatikan flag -p dalam perintah, itu akan meminta Anda untuk kata sandi yang Anda gunakan saat membuat laravel_user ( testpass dalam kueri). Setelah Anda masuk ke konsol MySQL sebagai laravel_user, konfirmasikan bahwa pengguna memiliki akses ke database laravel dengan menjalankan:

TAMPILKAN DATABASES;

Keluaran: +——————–+ | Basis Data | +——————–+ | laravel | | informasi_skema | +——————–+ 2 baris dalam set (0,01 detik)

Output di atas mengkonfirmasi bahwa pengguna MySQL laravel_user memiliki izin ke database laravel. Keluar dari konsol MySQL menggunakan EXIT; query sehingga kita dapat melanjutkan untuk membuat aplikasi DemoApp Laravel.

Menginstal Laravel

Kerangka kerja Laravel menggunakan Komposer untuk mengunduh dan mengelola dependensinya. Jadi, kita perlu menginstal Composer di mesin Ubuntu 20.04 kita sebelum kita dapat membuat aplikasi Laravel.

Instal Komposer

Composer adalah alat pengelola ketergantungan untuk PHP, yang membuat pemasangan dan pembaruan kerangka kerja dan pustaka PHP menjadi lebih mudah. Kita akan melihat cara menginstal Composer dengan cepat dalam tutorial ini sehingga kita dapat menggunakannya untuk mengunduh dan mengelola framework Laravel.

Anda perlu menginstal beberapa paket tambahan yang diperlukan oleh Komposer agar berfungsi seperti php-cli untuk menjalankan skrip PHP di terminal dan unzip untuk membantu Komposer mengekstrak paket. Instal keduanya dengan menjalankan:

sudo apt install php-cli unzip

Kemudian untuk menginstal Composer secara global, unduh skrip instalasi Composer dengan curl dan instal menggunakan perintah berikut:

curl -sS https://getcomposer.org/installer | sudo php — –install-dir=/usr/local/bin –filename=composer

Terakhir, verifikasi bahwa komposer diinstal dengan benar dengan menjalankan:

komposer

______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ / __ `__ / __ / __ / ___/ _ / ___/ / /___/ /_/ / / / / / / /_ / / /_/ (__ ) __/ / ____/____/_/ /_/ /_/.___/____/____/___/_/ /_/ Komposer versi 1.10.8 2020-06- 24 21:23:30 Penggunaan: perintah [opsi] [argumen]

Keluaran ini mengonfirmasi bahwa Komposer berfungsi dengan baik di server Ubuntu 20.04 Anda, Anda dapat mulai menggunakannya untuk menginstal dan mengelola kerangka kerja dan pustaka PHP.

Buat Aplikasi Laravel

Kita memiliki hampir semua yang diperlukan untuk membuat aplikasi Laravel di server Ubuntu 20.04 kita kecuali untuk beberapa ekstensi PHP. Instal ekstensi yang hilang ini menggunakan perintah berikut:

sudo apt install php-mbstring php-xml php-bcmath php-zip php-json

Sekarang, kita dapat menginstal Laravel dan membuat aplikasi Laravel baru dengan bantuan Composer. Pertama, pastikan Anda berada di direktori home pengguna Anda:

cd ~

Kemudian buat proyek Laravel baru menggunakan perintah create-project dari Composer :

komposer create-project –prefer-dist laravel/laravel LaravelApp

Perintah di atas akan membuat proyek baru bernama LaravelApp dan juga akan menginstal dan mengkonfigurasi Laravel Framework untuk Anda. Anda akan melihat output yang mirip dengan ini:

Output: Membuat proyek “laravel/laravel” di “./LaravelApp” Menginstal laravel/laravel (v7.12.0) Menginstal laravel/laravel (v7.12.0): Mengunduh (100%) Membuat proyek di /home/ath/LaravelApp @ php -r “file_exists(‘.env’) || copy(‘.env.example’, ‘.env’);” Memuat repositori komposer dengan informasi paket Memperbarui dependensi (termasuk require-dev) Operasi paket: 97 penginstalan, 0 pembaruan, 0 penghapusan Menginstal voku/portable-ascii (1.5.2): Mengunduh (100%) Menginstal symfony/polyfill-ctype (v1.17.1): Mengunduh (100%) Menginstal phpoption/phpoption (1.7.4): Mengunduh (100%) Menginstal vlucas/phpdotenv (v4.1.7): Mengunduh (100%) Menginstal symfony/css-selector (v5.1.2) : Mengunduh (100%)….

Ketika instalasi selesai, buka direktori root aplikasi dan kemudian jalankan perintah artisan Laravel untuk memverifikasi bahwa semua komponen telah diinstal dengan benar:

cd LaravelApp/ php artisan

Output: Laravel Framework 7.18.0 Penggunaan: perintah [opsi] [argumen] Opsi: -h, –help Tampilkan pesan bantuan ini -q, –quiet Jangan keluarkan pesan apa pun -V, –version Tampilkan versi aplikasi ini – -ansi Force ANSI output –no-ansi Nonaktifkan ANSI output -n, –no-interaction Jangan ajukan pertanyaan interaktif –env[=ENV] Lingkungan perintah harus dijalankan di bawah -v|vv|vvv, — verbose Meningkatkan verbositas pesan: 1 untuk keluaran normal, 2 untuk keluaran verbose lebih banyak dan 3 untuk debug….

Keluaran ini mengonfirmasi bahwa penginstalan berhasil dan semua file ada di tempatnya dan alat baris perintah Laravel berfungsi dengan baik. Namun, kita masih perlu mengkonfigurasi aplikasi untuk mengatur database dan beberapa pengaturan lainnya.

Konfigurasi Aplikasi Laravel

File konfigurasi Laravel terletak di direktori bernama config di dalam direktori root aplikasi. Selain itu, ketika kita menginstal Laravel melalui Composer, ia membuat file lingkungan bernama ‘.env’ di direktori root aplikasi. File lingkungan mencakup konfigurasi khusus lingkungan dan lebih diutamakan daripada pengaturan di file konfigurasi biasa yang terletak di dalam direktori config.

Catatan: File konfigurasi lingkungan berisi informasi sensitif tentang server Anda seperti kata sandi basis data, kunci aplikasi Laravel, dll. Oleh karena itu, tidak boleh dibagikan secara publik.

Kita sekarang akan mengedit file.env untuk mengubah konfigurasi dan menambahkan kredensial database ke dalamnya. Buka file menggunakan editor nano dengan menjalankan:

nano.env

Ada banyak variabel konfigurasi dalam file.env ini. Kita tidak perlu mengubah satu per satu, karena Composer telah mengonfigurasi sebagian besar pengaturan secara otomatis. Jadi, berikut adalah daftar beberapa variabel konfigurasi utama yang harus Anda ketahui:

  • APP_NAME : Nama aplikasi yang digunakan untuk notifikasi dan pesan, jadi kita akan menyetelnya ke ‘LaravelApp’.
  • APP_ENV : Variabel ini digunakan untuk menunjukkan lingkungan aplikasi saat ini. Itu dapat diatur ke lingkungan lokal, pengembangan, pengujian atau produksi. Kita akan mengaturnya ke lingkungan pengembangan untuk saat ini.
  • APP_KEY : Kunci aplikasi unik yang digunakan untuk membuat garam dan hash untuk aplikasi web. Ini dibuat secara otomatis ketika Anda menginstal Laravel melalui Composer, jadi tidak perlu mengubahnya.
  • APP_DEBUG : Ini dapat diatur ke benar atau salah, tergantung pada apakah Anda ingin menampilkan kesalahan di sisi klien. Setel ke false saat Anda pindah ke lingkungan produksi.
  • APP_URL : Base URL atau IP untuk aplikasi, ubah ke nama domain Anda jika Anda memilikinya untuk aplikasi Laravel Anda atau biarkan tidak tersentuh untuk saat ini.
  • DB_DATABASE : Nama database yang ingin Anda gunakan dengan aplikasi Laravel. Kita akan menggunakan database MySQL ‘laravel’ yang kita buat saat mengkonfigurasi MySQL.
  • DB_USERNAME : Nama pengguna untuk terhubung ke database. Kita akan menggunakan pengguna MySQL ‘laravel_user’ yang kita buat.
  • DB_PASSWORD : Kata sandi untuk terhubung ke database.

APP_NAME=LaravelApp APP_ENV=pengembangan APP_KEY=base64:Application_unique_key APP_DEBUG=true APP_URL=http://domain_or_IP LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE_Duseravelpass_PASS_DOR=DATABASE_USER

Lakukan perubahan pada file.env sesuai dan ketika Anda selesai mengedit, simpan dan keluar dari file dengan menggunakan CTRL + X lalu tekan Y dan tekan enter untuk konfirmasi. Sekarang, yang tersisa hanyalah mengkonfigurasi server Apache dan membuat virtual host untuk aplikasi Laravel kita.

Menyiapkan Server Web Apache

Kita telah menginstal Laravel di folder lokal direktori home pengguna. Meskipun ini berfungsi dengan baik untuk pengembangan lokal, praktik yang disarankan adalah memiliki direktori aplikasi web yang terletak di /var/www. Alasan mengapa kita tidak menginstal Laravel di /var/www secara langsung adalah karena Laravel dimiliki oleh root dan Composer tidak boleh digunakan dengan Sudo.

Jadi gunakan perintah mv untuk memindahkan folder aplikasi Laravel dan isinya ke /var/www :

sudo mv ~/Laravel/ /var/www

Direktori LaravelApp dimiliki oleh pengguna, sehingga Anda masih dapat mengedit dan membuat perubahan pada file tanpa menggunakan perintah sudo. Tetapi server web Apache membutuhkan akses ke cache dan direktori penyimpanan aplikasi karena Laravel menyimpan file yang dihasilkan aplikasi di dalamnya. Ubah pemilik folder ini menjadi pengguna www-data menggunakan perintah chown :

sudo chown -R www-data.www-data /var/www/LaravelApp/storage Sudo chown -R www-data.www-data /var/www/LaravelApp/bootstrap/cache

Setelah mengubah pemilik direktori ini, aktifkan mod_rewrite Apache seperti yang diperlukan oleh Laravel untuk mengubah URL dengan benar untuk ditafsirkan oleh fungsi peruteannya melalui file.htaccess.

sudo a2enmod menulis ulang

Selanjutnya, kita perlu menyiapkan virtual host untuk aplikasi Laravel. Konfigurasi host virtual terletak di /etc/Apache2/sites-available. Kita akan mengedit file host virtual default untuk menyebarkan aplikasi Laravel. Buka file konfigurasi host virtual default menggunakan editor nano:

sudo nano /etc/Apache2/sites-available/000-default.conf

Ubah root dokumen dari /var/www/html menjadi /var/www/LaravelApp/public dan tambahkan cuplikan berikut di bawah baris DocumentRoot:

<Direktori /var/www/LaravelApp> AllowOverride All </Directory>

Anda 000-default.conf harus terlihat seperti ini sekarang dengan beberapa komentar.

<VirtualHost *:80> ServerAdmin [ dilindungi email ] DocumentRoot /var/www/LaravelApp/public <Directory /var/www/LaravelApp> AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/ access.log gabungan </VirtualHost>

Restart web server Apache dengan menjalankan perintah berikut:

sudo systemctl restart Apache2

Sekarang buka browser Anda dan ketik alamat IP server Ubuntu 20.04 Anda. Anda akan melihat halaman awal Laravel alih-alih halaman selamat datang default Apache.

Dengan asumsi Anda telah mengikuti panduan ini sejauh ini, Anda harus memiliki aplikasi Laravel yang berfungsi dengan database MySQL yang disebut laravel untuk itu. Dari titik ini, Anda dapat mulai mengembangkan aplikasi Laravel Anda sendiri. Untuk mempelajari lebih lanjut tentang kerangka kerja Laravel dan penggunaannya, kunjungi halaman dokumen Laravel.

Related Posts