Menggunakan Virtual Host di Localhost

Ketika melakukan debugging website, akan lebih mudah jika website Anda di localhost diakses dengan menggunakan domain virtual. Melanjutkan tutorial sebelumnya, berikut adalah cara mengubah akses website local Anda dari localhost/namaProject/public menjadi domain.dev:

  1. Buka folder apache/conf/extra di folder instalasi XAMPP Anda
  2. Edit file httpd-vhosts.conf
  3. Tambahkan baris berikut
    <VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "C:/XAMPP/htdocs/namaProject/public"
    ServerName domain.dev
    ServerAlias www.domain.dev
    ErrorLog "logs/domain.dev-error.log"
    CustomLog "logs/domain.dev-access.log" common
    </VirtualHost>
  4. Ubah DocumentRoot sesuai dengan lokasi folder public project Anda, bisa jadi nama folder public Anda juga berbeda
  5. Ganti ServerName dan ServerAlias sesuai keinginan, bisa menggunakan gTLD (generic top-level domain) selain .dev
  6. Sesuaikan path ErrorLog dan CustomLog untuk memudahkan proses debugging website

Cara Deploy Laravel di Shared Hosting

Jika Anda menggunakan Laravel untuk website pribadi, tentu tidak menggunakan dedicated hosting karena biaya yang tinggi. Yang menjadi masalah adalah: Shared hosting tidak mengijinkan Anda mengubah nama dan lokasi folder “public_html” (atau “www” di hosting tertentu), selain itu akses untuk mengubah konfigurasi document root juga tidak disediakan.

Ada 2 alternatif untuk mengatasi permasalahan ini, alternatif pertama paling mudah, namun hanya dapat dilakukan apabila Anda diperbolehkan untuk upload di luar folder “public_html”:

  1. Pertahankan struktur folder di dalam folder project Laravel Anda (sama seperti saat baru dibuat)
  2. Upload semua file di dalam folder project Anda ke server hosting, di luar folder “public_html”
  3. Pindahkan semua isi folder “public” ke dalam “public_html”
  4. Hapus folder “public”, sekarang struktur direktori Anda akan terlihat seperti berikut:Struktur Direktori
  5. Tambahkan kode berikut di “index.php” dalam folder “public_html” untuk menghindari masalah yang diakibatkan mengubah default folder public:
    $app->bind('path.public', function() {
    return __DIR__;
    });

Namun jika Anda tidak memiliki akses untuk upload di luar “public_html”:

  1. Upload folder project Anda (yes, satu folder utuh) ke hosting server, di dalam “public_html”
  2. Keluarkan semua file dari dalam folder “public” sehingga terletak tepat di bawah folder “public_html”
  3. Ubah baris berikut di “index.php”:
    require __DIR__.'/../bootstrap/autoload.php';
    Menjadi:
    require __DIR__.'/bootstrap/autoload.php';
    Dan baris berikut:
    $app = require_once __DIR__.'/../bootstrap/app.php';
    Menjadi:
    $app = require_once __DIR__.'/bootstrap/app.php';
  4. Tambahkan kode berikut di “index.php” untuk menghindari masalah yang diakibatkan mengubah default folder public:
    $app->bind('path.public', function() {
    return __DIR__;
    });

Perlu diingat bahwa alternatif kedua (memasukkan semua isi folder project ke dalam document root) sangat tidak dianjurkan karena mengakibatkan semua file Anda terekspos dan dapat di-download siapapun. Lakukan langkah tersebut hanya jika Anda tidak memiliki file dengan informasi sensitif (password, data transaksi, data konsumen, video dewasa, dll.) tersimpan di dalam folder project Anda.

Cara Menambahkan Environment Variable Pada Windows

Tutorial yang umum, namun akan saya bahas karena target blog ini adalah web developer pemula. Penjelasan lebih dalam mengenai environment variables beserta perbedaan antara user dengan system variables dapat dibaca pada post selanjutnya. Berikut langkah-langkahnya untuk Windows 7 & 8:

  1. Buka “System Properties”:
    • Pada Windows 7, klik kanan “My Computer” di desktop atau start menu, pilih “Properties”, pada menu sebelah kiri pilih “Advanced System Settings”
    • Pada Windows 8, klik kanan logo Windows di taskbar (kiri bawah), pilih “System”, pada menu sebelah kiri pilih “Advanced System Settings” Screenshot
  2. Pilih tab “Advanced”, klik “Environment Variables”
  3. Pada bagian user variables atau system variables:
    • Jika sudah ada environment variable(s) dengan nama yang sama seperti yang ingin ditambahkan, klik “Edit”
    • Jika belum, klik “Add”
  4. Masukkan nama environment variable yang ingin ditambahkan pada bagian “Variable name”, dan isi variable pada “Variable value”, jika melakukan edit cukup tambahkan variable pada bagian belakang “Variable value”, gunakan semicolon (;) sebagai pemisah antar value
  5. Klik “OK”Screenshot 001

Tutorial Instalasi Laravel di Windows

Instalasi Laravel PHP Framework di Windows 8 cukup simple, syarat yang dibutuhkan hanya:

  • PHP versi 5.4++
  • Mcrypt (PHP Extension)
  • OpenSSL (PHP Extension)
  • Mbstring (PHP Extension)
  • Tokenizer (PHP Extension)

Bingung? Install saja XAMPP. Semua syarat di atas sudah disediakan oleh Apache HTTP Server yang dapat ditemukan di XAMPP control panel.

Setelah system requirement terpenuhi, kita dapat memulai instalasi Laravel:

  1. Download Composer, pilih Windows installer untuk menghemat umur, install
  2. Buka Command Prompt, jalankan:
    composer global require "laravel/installer=~1.1"
  3. Tambahkan baris berikut pada PATH environment variable (user variable):
    C:/Users/(nama user)/AppData/Roaming/composer/vendor/bin
  4. Navigasikan Command Prompt ke tempat instalasi Laravel yang diinginkan, jika ingin mudah bisa langsung di dalam folder htdocs dalam direktori instalasi XAMPP (supaya setelah install bisa langsung dicoba di web browser 😀 ), contoh:
    C:/XAMPP/htdocs/
  5. Jalankan command berikut, jangan lupa mengganti nama projectnya:
    laravel new namaProject
    Laravel akan secara otomatis membuat folder baru sesuai nama project

Instalasi Laravel sudah selesai, jika Apache Service sudah dijalankan, langsung saja mengintip hasilnya di http://localhost/namaProject/public. Jika instalasi berhasil, akan muncul halaman aneh berisi quote menarik yang berubah-ubah setiap kali di-refresh.

Konfigurasi opsional:

  • Ubah timezone & locale di config/app.php
  • Ubah nama app dengan menjalankan command berikut di direktori instalasi Laravel:
    php artisan app:name namaProjectBaru

Yang perlu diperhatikan:

  • Terkadang mengubah nama app mengakibatkan instalasi Laravel rusak (sorry), silakan mengulang instalasi (dari langkah ke-4), semoga bug ini segera di-fix oleh Laravel
  • Mengubah nama app tidak mengubah nama folder, hanya namespace (sepenuhnya opsional), nama app default ketika instalasi adalah “App”
  • Saat post ini ditulis, versi terbaru Laravel adalah versi 5, versi lain mungkin akan memiliki beberapa perbedaan dalam proses instalasi dan konfigurasi
  • Hasil instalasi ini masih mentah dan belum siap untuk di-deploy ke hosting (security warning), masih banyak konfigurasi yang akan dibahas di post-post selanjutnya, stay tuned!