Website Pejabat Pengelola Informasi dan Dokumentasi
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, queueing, and caching. Laravel is accessible, yet powerful, providing tools needed for large, robust applications. A superb inversion of control container, expressive migration system, and tightly integrated unit testing support give you the tools you need to build any application with which you are tasked.
Dokumentasi framework dapat ditemukan di Laravel website.
- Packages
- Requirement
- Pengembangan pada Lokal
- Deploy Proyek di Shared Hosting (CPANEL)
- Deploy Proyek di VPS (Ubuntu 16.04) Nginx
- Akun
- Laravel-Gravatar by ThomasWelton
- Laravel-Breadrumbs by DaveJamesMiller
- Laravel-Menu by Lavary
- Laravel-UUID by Ramsey
- Laravel-RoleManagement by Zizaco
- Laravel-Excel by Maatwebsite
- Laravel-PDFViewer by goodnesskay
- Google Recaptcha by Google
Sebelum mencoba menerapkan aplikasi Laravel di environment lokal, shared hosting atau vps, Pastikan bahwa layanan yang akan digunakan menyediakan persyaratan yang sesuai untuk Laravel. Pada dasarnya, item berikut diperlukan untuk Laravel 5.*:
- PHP >= 5.6.4
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
Untuk menerapkan project di environment lokal, shared hosting atau vps, Pastikan bahwa sudah terinstall layanan dibawah :
- MariaDB atau MySQL
- Register Google Recaptha
- Mailtrap or Gmail
- Phpmyadmin (Optional)
Untuk menerapkan project di environment lokal atau vps, Pastikan bahwa sudah terinstall layanan dibawah :
- Git
- Composer
Clone git repository
Menggunakan Git SSH
git clone [email protected]:gov/produk/website_ppid.git ppid
Atau dengan HTTPS
git clone https://git.gamatechno.net/gov/produk/website_ppid.git ppid
Masuk ke folder projek dengan perintah
cd ppid
Lalu lakukan update composer
composer update
Salin file .env.example
pada direktori yang sama dengan nama .env
Perintah untuk OS Unix
cp .env.example .env
Perintah untuk OS Windows
copy .env.example .env
Lakukan perintah dibawah untuk menggenerate key unik laravel
php artisan key:generate
Buat database dengan mysql
Konfigurasi file .env
dan ketik perintah dibawah untuk melakukan migration database :
php artisan migrate:refresh --seed
Untuk menjalankan aplikasi, ketik perintah di bawah :
php artisan serve
WARNING : Untuk auth support, recaptcha support dan email support, configure your .env
file with database
and smtp
connection !
You are ready for a new Laravel 5.4 application !!
Lakukan perintah seperti di Pengembangan Lokal
Buka halaman masuk cPanel dengan menggunakan alamat IP aksesnya yang disediakan oleh penyedia hosting. Gunakan File Manager, MySQL® Databases, dan fitur phpMyAdmin di cPanel.
Buka fitur File Manager yang ada pada fitur cPanel. Buat Folder baru di direktori home. beri nama folder baru dengan nama "ppid". Sebagai contoh :
Masuklah ke dalam folder proyek yang ada di komputer lokal Anda. Buka terminal Anda di dalam folder proyek PPID dan jalankan php artisan cache:clear
untuk mengosongkan cache aplikasi dan kemudian jalankan php artisan config:clear
untuk menghapus versi file konfig Anda, jika ada.
Sekarang zip seluruh proyek PPID, dan upload zip ke dalam direktori "ppid" yang ada pada File Manager Cpanel. Saat upload selesai, unzip semua file yang ada pada zip ke folder public_html dengan memilih tujuan masih dalam folder tersebut. Jika penyedia hosting memungkinkan untuk menggunakan SSH (Secure Shell), Maka dapat melakukan cloning repo ini secara langsung dan kemudian jalankan perintah perintah seperti pada Pengembangan Lokal.
Sekarang masuklah ke folder public pada proyek PPID (/ppid/public). Aktifkan Show Hidden Files (dotfiles) pada Pengaturan (di pojok kanan atas) File Manager untuk menampilkan dotfiles. Selanjutnya, salin semua file yang ada di dalam folder public (/ppid/public) ke folder public_html (/public_html) .
Buka folder public_html dan pastikan semua file di dalam folder public proyek PPID telah disalin dengan benar ke folder public_html. Buka file index.php (/public_html/index.php) di Code Editor. Cari bari code yang ada seperti di bawah :
// ...
require __DIR__.'/../bootstrap/autoload.php';
// ...
$app = require_once __DIR__.'/../bootstrap/app.php';
Ubah dengan menambahkan nama folder proyek tepat sebelum nama folder bootstrap (/ppid/bootstrap/...) sebagai berikut :
// ...
require __DIR__.'/../ppid/bootstrap/autoload.php';
// ...
$app = require_once __DIR__.'/../ppid/bootstrap/app.php';
Buka fitur MySQL® Databases yang ada pada fitur cPanel. Buat Database dan User baru setelah dibuat tambahkan user ke database dan beri privilages.
Buka fitur phpMyAdmin lalu buka database yang sebelumnya dibuat dan import file sql yang ada di folder project (/ppid/database/db_ppid.sql).
Sekarang buka file .env
di dalam folder proyek ppid (/ppid/.env) dan perbarui field-field berikut dengan informasi database baru;
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nama_database_baru
DB_USERNAME=user_baru
DB_PASSWORD=password_baru
setelah itu, masih dalam file .env
perbarui field-field dengan key google recaptcha :
RE_CAP_SITE=sitekey
RE_CAP_SECRET=secretkey
dan untuk setting email, bisa menggunakan Mailtrap atau Gmail dan perbarui field-field berikut :
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=username
MAIL_PASSWORD=secretpw
MAIL_ENCRYPTION=tls
You are ready for a new Laravel 5.4 application on shared hosting !!
Sumber : Deploy Laravel Projects On Shared Hosting
Yang pertama untuk memastikan kita menggunakan package yang terbaru dan terupdate silahkan jalankan perintah berikut ini pada terminal :
apt-get update // mengupdate list package terbaru
apt-get upgrade // menginstall package yang sudah di update
Untuk web server nya disini, gunakan web server nginx. Untuk menginstall nginx jalankan perintah berikut ini :
apt install nginx
Untuk mengetahui apakah nginx sudah terinstall atau belum, bisa melakukan perintah berikut untuk mengecek nya :
nginx -v
Karna server ini akan kita gunakan untuk project laravel maka kita perlu menginstall php. Install saja php dengan versi 7.2.
apt-get install python-software-properties
sudo add-apt-repository ppa:ondrej/php
apt-get update
apt install php7.2
Setelah itu, install module php yang dibutuhkan sesuai requirement diantaranya: OpenSSL PHP Extension, PDO PHP Extension, Mbstring PHP Extension, Tokenizer PHP Extension, XML PHP Extension.
apt-get install php7.2-common php7.2-curl php7.2-mysql php7.2-gd php7.2-xml php7.2-xmlrpc php7.2-mbstring php7.2-cli php7.2-sqlite3 php7.2-zip
Install composer dengan perintah berikut :
apt install composer
Install MySQL dengan perintah berikut :
apt install mysql-server
Pada saat proses installasi maka nanti kita perlu mengisikan pasword untuk database kita maka silahkan isikan password sesuai dan mudah diingat.
Disini untuk mengurusi depolyment kita akan menggunakan git sebagai tools nya. Untuk install git sialhakan jalankan perintah berikut ini :
apt install git
Ketik perintah dibawah untuk tempat project dari web yang akan dideploy
mkdir /server
cd server/
# Digunakan untuk project web kita
mkdir project
# Digunakan untuk menginstall phpmyadmin
mkdir phpmyadmin
# Digunakan untuk menyimpan configurasi nginx
mkdir nginx
Agar mudah untuk manajemen administrasi database. Jalankan peritah berikut untuk menginstall PHPMyAdmin :
cd /server/phpmyadmin
git clone https://github.com/phpmyadmin/phpmyadmin
cd phpmyadmin
composer install
Jika terdapat error install beberapa extensi php berikut ini
apt install php7.2-mysqlnd
apt install php7.2-mbstring
apt install php7.2-curl
apt install php7.2-zip
Selanjutnya kita perlu mengatur folder configurasi nginx untuk web yang akan kita deploy
cd /etc/nginx/
nano nginx.conf
Tambahkan ini dibawah Virtual Host Configs
# Web nginx config
include /server/nginx-config/*.conf;
Buat file configurasi untuk phpmyadminya, pertama masuk ke directory konfigurasi nginx nya.
cd /server/nginx-config/
Sekarang buat file nginx config untuk phpmyadmin dan simpan dengan nama file phpmyadmin.conf.
server {
listen 8082;
root /server/phpmyadmin/phpmyadmin;
index index.php index.html index.htm;
server_name localhost; # localhost bisa kamu ganti dengan nama domain web kamu
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Restart service nginx dengan menjalankan perintah :
sudo service nginx restart
Dan coba buka phpmyadmin kita di browser apakah sudah berjalan atau belum. Jika berhasil maka akan muncul tampilan seperti ini. jangan lupa untuk membuka alamat ip kamu lalu di tambahkan port nya misalkan ip:8082
Ketik perintah berikut untuk membuat user baru pada mysql :
# login ke mysql
mysql -u root -p
# create user
create user 'USERNAMEKAMU'@'localhost' IDENTIFIED BY 'PASSWORDKAMU';
grant all privileges on *.* to 'USERNAMEKAMU'@'localhost' with grant option;
flush privileges;
Ketik perintah berikut untuk membuat database pada mysql :
# login ke mysql
mysql -u root -p
# create database
create database db_ppid
Setelah berhasil menyiapkan semuanya dari php, mysql dan nginx maka selanjutnya mencoba menjalankan projek pada server.
Pastikan lokasi direktori terminal ada pada path server/project
# Clone project menggunakan git:
git clone https://git.gamatechno.net/gov/produk/website_ppid.git ppid
# Change directory to ppid
cd ppid
# Update package
composer update
# Copy file .env.example
cp .env.example .env
# Generate key
php artisan key:generate
# Beri permission untuk beberapa folder project nya
chmod -R 7777 storage boostrap/cache
# Migrasi struktur database dan inisiasi data
php artisan migrate:refresh --seed
server {
listen 8081;
root /server/project/ppid/public;
index index.php index.html index.htm;
server_name localhost; # localhost bisa kamu ganti dengan nama domain web kamu
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Akses pada browser dengan alamat url ipvps:8081
You are ready for a new Laravel 5.4 application on vps !!
Sumber : Cara Setting VPS Untuk Laravel
Akses masuk : {base_url}/login
Username : superadmin Email : [email protected] Password : superadmin
Username : birohukum Email : [email protected] Password : 123456