Membuat Virtual Host Untuk Project Laravel di Apache
![](https://sulhi.id/wp-content/uploads/2017/03/laravel-dev.png)
Pada tulisan sebelumnya dijelaskan bagaimana menginstall laravel di Linux (Ubuntu). Untuk keperluan testing Laravel memang punya web server sendiri, yaitu dengan menggunakan composer melalui perintah $php artisan serve
. Bagaiman kalau pembuatan aplikasi sudah selesai dan kita perlu mem-publish. Tentunya saja diperlukan web server yang sesungguhnya, seperti Apache atau Nginx.
php artisan serve Laravel development server started: <http://127.0.0.1:8000>
Pada kesempatan ini saya akan menjelaskan bagaimana caranya agar web laravel bisa dijalankan dengan Web Server Apache. Saat ini saya menggunakan Apache 2 pada Ubuntu 16.10.
Langkah pertama tentu saja kita harus install apache terlebih dahulu, jika belum terinstall silakan ketikan perintah berikut:
sudo apt-get update sudo apt-get install apache2
Membuat Project Laravel
Misalkan kita akan membuat project Laravel dengan nama blog, dapat menggunakan perintah:
composer create-project --prefer-dist laravel/laravel blog
Atau
laravel new blog
Untuk perintah kedua pastikan anda sudah setting $PATH composer dengan benar. Setting $PATH composer di linux bisa lihat referensi di sini.
Berikut direktori dan struktur laravel yang barusan dibuat.
Karena project ini dibuat bukan pada tempat root directoy apache (/var/www/html) melainkan di folder home (home/asch/www). Agar tidak bermasalah dengan hak akses apache, terlebih dahulu kita perlu merubah group menjadi www-data serta memberikan writable pada folder storage.
sudo chgrp -R www-data /home/asch/www/blog sudo chmod -R 775 /home/asch/www/blog/storage
Setting Virtual Host
Setelah project laravel selesai dibuat, saatnya kita buat virtual host pada apache. Berikut perintahnya:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/laravel.conf
Perintah di atas, artinya kita meng-copy file 000-default.conf
sebagai konfigurasi virtual host default apache menjadi file laravel.conf
sebagai virtual host laravel.
Silakan edit file laravel.conf
sudo nano /etc/apache2/sites-available/laravel.conf
Selanjutnya sesuaikan sehingga hasil akhirnya seperti berikut:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName laravel.dev ServerAlias laravel.dev DocumentRoot /home/asch/www/blog/public ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /home/asch/www/blog/public/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
Perhatikan, document root bukan pada nama project (blog), tetapi pada folder public (blog/public).
Langkah berikutnya mengaktifkan virtual host laravel.conf
dan rewrite.
sudo a2ensite laravel.conf sudo a2enmod rewrite sudo /etc/init.d/apache2 restart
Silakan test pada browser dengan url http://laravel.conf.