Web Programmer yang menggunakan Yii2 Framework dapat mengikuti struktur berikut ini agar lebih leluasa menempatkan program web di folder manapun.
Catatan:
Saya menggunakan Ubuntu 14.04 dengan LAMP stack. Jadi folder Document Root ada di /var/www/html . Anda bisa menyesuaikan dengan system sendiri.
1. Letakkan Yii2 dibawah folder /var/www/html, misal nama foldernya yii2-basic. Struktur folder yii yang saya pakai sebagai contoh disini adalah berasal dari yii-basic-app-2.0.6.tar.gz
2. Buat folder di bawah /var/www/html untuk website yang akan didevelop, misal webcoba. Ikuti struktur yang ada pada struktur Yii2 di atas, atau copy saja folder dan isinya dari yii2-basic. Folder yang TIDAK DIBUTUHKAN adalah mail, tests, vendor dan web.
Copy juga file favicon.ico dan index.php dari folder yii2-basic/web. File index.php ini yang nanti akan sedikit dimodif agar lebih fleksible.
3. Pastikan folder assets dan runtime word writeable, beri perintah sbb:
# sudo chmod 777 /var/www/html/webcoba/assets
# sudo chmod 777 /var/www/html/webcoba/runtime
Anda bisa menempatkan file .htaccess yang berisi deny from all, agar folder tersebut aman.
4. Edit file index.php yang berada di /var/wwww/html/webcoba/ menjadi seperti berikut ini:
<?php
// comment out the following two lines when deployed to production
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
//
//ada tiga baris berikut yang saya comment out
//dan nanti disesuaikan
////require(__DIR__ . '/../vendor/autoload.php');
//require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
//$config = require(__DIR__ . '/../config/web.php');
//definisikan YII_PATH dimana yii2 diinstall
//sebagai contoh di atas /var/www/html/yii2-basic
//bisa dituliskan relatif, bisa juga full
define('YII_PATH', '/var/www/html/yii2-basic');
require(YII_PATH . '/vendor/autoload.php');
require(YII_PATH . '/vendor/yiisoft/yii2/Yii.php');
$config = require(__DIR__ . '/config/web.php');
(new yii\web\Application($config))->run();
Perhatian, copy-paste dari halaman ini kemungkinan bermasalah pada penulisan aphostrope. Silakan periksa kembali.
5. Edit file config/web.php menjadi sbb:
<?php
$params = require(__DIR__ . '/params.php');
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
//tambahkan baris berikut ini
'vendorPath'=> YII_PATH.'/vendor',
'bootstrap' => ['log'],
'components' => [
'request' => [
... dst...
6. Selesai
Sebelum develop program lebih lanjut, system anda sudah dapat diakses pada http://localhost/webcoba.
Catatan:
* Struktur pada webcoba dapat dijadikan skeleton untuk program lainnya.
* Anda bisa membuat berapapun web program dengan skeleton yang sama.
* Bila ada upgrade Yii2 cukup dilakukan di folder yii2-basic basic tsb.