Setelah kemarin kita membahas gimana sih caranya menginstall Yii versi 1, sekerang kita membahas gimana caranya menginstall Yii versi 2. Are you ready guests? Oke langsung saja kita mulai langkah-langkahnya.
Hasil kedua instalasi standar dan template aplikasi telah terunduh dan terpasang. Template aplikasi yang terpasang pada aplikasi Yii merupakan fitur basic seperti login, form kontak, dan sebagainya. Kode dalam kelompok tersebut disarankan. Oleh karena itu menyuguhkan permulaan yang poin yang bagus untuk projek kamu.
Ini dan beberapa sesi selanjutnya, kami akan menerangkan cara menginstal Yii (aplikasi basic) dan cara implementasi fitur-fitur baru template ini. Yii juga menyediakan template lainnya yaitu template advanced yang lebih bagus digunakan unruk lingkungan tim pengembang untuk membangun aplikasi dengan banyak tingkatan.
Info : Template aplikasi basic cocok untuk membangun 90% aplikasi web. Berbeda dari template aplikasi advanced yang sebagian besar kode terkelompok. Jika kamu pengguna baru Yii, kami sangat menyarankan menggunakan template aplikasi basic untuk fungsional sederhana.
Di windows, kamu dapat mengunduh dan menjalankan Composer-Setup.exe
Tolong ikuti dokumentasi composer jika kamu menemukan masalah atau ingin belajar tentang penggunaan composer.
Jika kamu sudah menginstal composer sebelumnya, kamu dapat memperbarui versi dengan menjalankan composer self-update. Dengan terinstal composer, kamu dapat mengintal Yii dengan perintah berikut :
composer global require "fxp/composer-asset-plugin:1.0.0"
composer create-project --prefer-dist yiisoft/yii2-app-basic basicP
Perintah pertama menginstal composer asset plugin untuk memanajemen bower dan paket npm. Kamu hanya butuh menjalankan perintah ini sekali.
Perintah kedua menginstal Yii dengan nama basic. Kamu dapat memilih direktori berbeda jika kamu menginginkannya.
Catatan : Selama instalasi composer mungkin ada pertanyaan login github. Ini normal karena composer membutuhkan untuk mendapatkan beberapa API rate-limit untuk menerima informasi paket dari Github. Untuk detailnya, silahkan ikuti tautan dokumentasi Composer
Tip : Jika kamu ingin menginstal Yii terbaru, kamu bisa mengikuti perintah berikut, yang ditambahkan stability options :
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
Catatan : Untuk Yii versi terbaru jangan digunakan untuk proyek aplikasi, mengkin akan menghentikan jalannya program (error).
'cookieValidationKey' => 'masukkan kode rahasia disini',
Instalasi Yii
Kamu dapat menginstall Yii dengan 2 cara, menggunakan manajer paket composer atau mengunduh file arsip. Cara pertama lebih disukai, karena memungkinkan kamu untuk menginstall ekstensi baru atau memperbarui Yii dengan satu perintah.Hasil kedua instalasi standar dan template aplikasi telah terunduh dan terpasang. Template aplikasi yang terpasang pada aplikasi Yii merupakan fitur basic seperti login, form kontak, dan sebagainya. Kode dalam kelompok tersebut disarankan. Oleh karena itu menyuguhkan permulaan yang poin yang bagus untuk projek kamu.
Ini dan beberapa sesi selanjutnya, kami akan menerangkan cara menginstal Yii (aplikasi basic) dan cara implementasi fitur-fitur baru template ini. Yii juga menyediakan template lainnya yaitu template advanced yang lebih bagus digunakan unruk lingkungan tim pengembang untuk membangun aplikasi dengan banyak tingkatan.
Info : Template aplikasi basic cocok untuk membangun 90% aplikasi web. Berbeda dari template aplikasi advanced yang sebagian besar kode terkelompok. Jika kamu pengguna baru Yii, kami sangat menyarankan menggunakan template aplikasi basic untuk fungsional sederhana.
Menginstal lewat composer
Jika kamu belum menginstal composer, kamu boleh mengikuti petunjuk instalasi di getcomposer.org. Di linux dan Mac OS, dapat menjalankan perintah berikut :
curl -s http://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composerDi windows, kamu dapat mengunduh dan menjalankan Composer-Setup.exe
Tolong ikuti dokumentasi composer jika kamu menemukan masalah atau ingin belajar tentang penggunaan composer.
Jika kamu sudah menginstal composer sebelumnya, kamu dapat memperbarui versi dengan menjalankan composer self-update. Dengan terinstal composer, kamu dapat mengintal Yii dengan perintah berikut :
composer global require "fxp/composer-asset-plugin:1.0.0"
composer create-project --prefer-dist yiisoft/yii2-app-basic basicP
Perintah pertama menginstal composer asset plugin untuk memanajemen bower dan paket npm. Kamu hanya butuh menjalankan perintah ini sekali.
Perintah kedua menginstal Yii dengan nama basic. Kamu dapat memilih direktori berbeda jika kamu menginginkannya.
Catatan : Selama instalasi composer mungkin ada pertanyaan login github. Ini normal karena composer membutuhkan untuk mendapatkan beberapa API rate-limit untuk menerima informasi paket dari Github. Untuk detailnya, silahkan ikuti tautan dokumentasi Composer
Tip : Jika kamu ingin menginstal Yii terbaru, kamu bisa mengikuti perintah berikut, yang ditambahkan stability options :
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
Catatan : Untuk Yii versi terbaru jangan digunakan untuk proyek aplikasi, mengkin akan menghentikan jalannya program (error).
Menginstal dari file arsip
Menginstal Yii dari file arsip dengan mengikuti 3 step :
- Download file arsip dari yiiframework.com.
- Ekstrak file yang telah di download ke folder htdocs (jika menggukana xampp).
- Rubah file "config/web" dan masukkan kunci rahasia (secret key) pada konfigurasi "cookieValidationKey" (ini terconfig sendiri jika kamu menginstall menggunakan Composer) :
'cookieValidationKey' => 'masukkan kode rahasia disini',
Instalasi lainnya
Petunjuk instalasi di atas menunjukkan bagaimana menginstall Yii, yang juga membuat aplikasi web basic. Langkah awal yang bagus untuk proyek, yang kecil maupun yang besar. Ini cocok khusus bagi kamu yang memulai belajar Yii.
Tetapi tersedia langkah instalasi lain :
Tetapi tersedia langkah instalasi lain :
- Jika kamu hanya ingin menginstall inti kerangka dan akan membangun sebuah aplikasi keseluruhan dari scratch, kamu bisa mengikuti petunjuk yang dijelaskan di "membangun aplikasi dari Scratch"
- Jika kamu ingin memulai dengan aplikasi yang lebih canggih, lebih baik diserahkan ke tim pengembang, kamu boleh mempertimbangkan mengintal template aplikasi advance
Verifikasi instalasi
Setelah instalasi, kamu dapat menggunakan browser untuk membuka aplikasi Yii dengan mengikuti alamat :
http://localhost/basic/web/index.php
Alamat ini diasumsikan kamu telah menginstal Yii di direktori basic, secara langsung di dalam dokumen direktori root web server, dan web server tersebut berjalan di mesin local (localhost). Kamu membutuhkannya untuk mengatur instalasimu.
Aplikasi dapat diinstal dengan mengikuti petunjuk di atas baik dengan Apache HTTP server ataupun Nginx HTTP server, di Windows, Mac OS X, atau Linux yang berjalan PHP 5.4 atau lebih tinggi. Yii 2.0 juga cocok dengan HHVM Facebook. Bagaimanapun, ada beberapa hal dimana HHVM berjalan berbeda dengan PHP murni, jadi membutuhkan perhatian lebih jika kamu menggunakan HHVM.
Di server, kamu boleh mengkonfigurasi web server sehingga aplikasi dapat diakses dengan URL http://www.example.com/index.php sebagai ganti http://www.example.com/basic/web/index.php. Dengan demikian dibutuhkan konfigurasi document root pada web server menunjuk ke folder basic/web. Kamu juga boleh menyembunyikan index.php dari URL, dengan mendeskripsikan di sesi Routing dan Pembuatan URL. Sesi ini kamu mempelajari gimana mengkonfigurasi Apache atau Nginx Server sebagai tujuan.
Info : Dengan menyeting basic/web sebagai document root, kamu juga mencegah end users dari pengaksesan kode aplikasi dan data penting yang ada pada direktori basic/web. Mencegah akses ke folder yang lainnya dengan perbaikan keamanan.
Info : Jika aplikasimu akan dijalankan di hosting luar dimana kamu tidak mempunyai izin untuk mengubahnya di konfigurasi web server, kamu masih bisa mengatur struktur aplikasi untuk keamanan yang lebih baik. Ikuti sesi Shared Hosting Environment untuk informasi detailnya.
http://localhost/basic/web/index.php
Alamat ini diasumsikan kamu telah menginstal Yii di direktori basic, secara langsung di dalam dokumen direktori root web server, dan web server tersebut berjalan di mesin local (localhost). Kamu membutuhkannya untuk mengatur instalasimu.
Kamu harus melihat seperti gambar di atas di browser. Jika tidak, cek instalasi PHP kamu memenuhi persyaratan Yii atau tidak. Kamu dapat mengecek persyaratan minimum dengan mengikuti langkah berikut :
- Menggunakan browser dengan mengakses URL : http://localhost/basic/requirements.php
- Menjalankan perintah berikut :
cd basic
php requirements.php
Kamu sebaiknya mengkonfigurasi instalasi PHP paling tidak sampai persyaratan minimum Yii. Yang paling penting, kamu harus mempunyai PHP 5.4 atau lebih tinggi. Kamu juga harus menginstal ekstensi PDO PHP dan diver database (seperti pdo_mysql untuk database MySQL), jika aplikasi mu membutuhkan database.
- Menggunakan browser dengan mengakses URL : http://localhost/basic/requirements.php
- Menjalankan perintah berikut :
cd basic
php requirements.php
Kamu sebaiknya mengkonfigurasi instalasi PHP paling tidak sampai persyaratan minimum Yii. Yang paling penting, kamu harus mempunyai PHP 5.4 atau lebih tinggi. Kamu juga harus menginstal ekstensi PDO PHP dan diver database (seperti pdo_mysql untuk database MySQL), jika aplikasi mu membutuhkan database.
Konfigurasi Web Server
Info : Kamu boleh melewati sesi ini jika kamu hanya menyoba aplikasi Yii tanpa bermaksud memasangnya di server web.
Aplikasi dapat diinstal dengan mengikuti petunjuk di atas baik dengan Apache HTTP server ataupun Nginx HTTP server, di Windows, Mac OS X, atau Linux yang berjalan PHP 5.4 atau lebih tinggi. Yii 2.0 juga cocok dengan HHVM Facebook. Bagaimanapun, ada beberapa hal dimana HHVM berjalan berbeda dengan PHP murni, jadi membutuhkan perhatian lebih jika kamu menggunakan HHVM.
Di server, kamu boleh mengkonfigurasi web server sehingga aplikasi dapat diakses dengan URL http://www.example.com/index.php sebagai ganti http://www.example.com/basic/web/index.php. Dengan demikian dibutuhkan konfigurasi document root pada web server menunjuk ke folder basic/web. Kamu juga boleh menyembunyikan index.php dari URL, dengan mendeskripsikan di sesi Routing dan Pembuatan URL. Sesi ini kamu mempelajari gimana mengkonfigurasi Apache atau Nginx Server sebagai tujuan.
Info : Dengan menyeting basic/web sebagai document root, kamu juga mencegah end users dari pengaksesan kode aplikasi dan data penting yang ada pada direktori basic/web. Mencegah akses ke folder yang lainnya dengan perbaikan keamanan.
Info : Jika aplikasimu akan dijalankan di hosting luar dimana kamu tidak mempunyai izin untuk mengubahnya di konfigurasi web server, kamu masih bisa mengatur struktur aplikasi untuk keamanan yang lebih baik. Ikuti sesi Shared Hosting Environment untuk informasi detailnya.
Rekomendasi Konfigurasi Apache
Dengan mengikuti konfigurasi di file httpd.conf Apache atau dengan konfigurasi virtual host. Perhatikan bahwa kamu harus mengganti path/to/basic/web dengan path untuk basic/web.
# Set document root to be "basic/web"
DocumentRoot "path/to/basic/web"
<Directory "path/to/basic/web">
# use mod_rewrite for pretty URL support
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
# ...other settings...
</Directory>
# Set document root to be "basic/web"
DocumentRoot "path/to/basic/web"
<Directory "path/to/basic/web">
# use mod_rewrite for pretty URL support
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
# ...other settings...
</Directory>
Rekomendasi konfigurasi Nginx
Untuk menggunakan Nginx, kamu harus menginstal PHP sebagai FPM SAPI. Kamu boleh mengikuti konfigurasi Nginx, menggantikan path/to/basic/web dengan path untuk basic/web dan mysite.local dengan hostname sebenarnya.
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name mysite.local;
root /path/to/basic/web;
index index.php;
access_log /path/to/basic/log/access.log;
error_log /path/to/basic/log/error.log;
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php?$args;
}
# uncomment to avoid processing of calls to non-existing static files by Yii
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
try_files $uri =404;
}
location ~ /\.(ht|svn|git) {
deny all;
}
}
Ketika menggunakan konfigurasi ini, kamu juga harus meng-set cgi.fix_pathinfo=0 di php.ini untuk menghindari panggilan sistem stat() yang tidak perlu. Juga perlu diperhatikan ketika menjalankan server HTTPS, kamu juga perlu menambahkan fastcgi_param HTTPS on; Sehingga Yii dapat mendekteksi koneksi aman.
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name mysite.local;
root /path/to/basic/web;
index index.php;
access_log /path/to/basic/log/access.log;
error_log /path/to/basic/log/error.log;
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php?$args;
}
# uncomment to avoid processing of calls to non-existing static files by Yii
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
try_files $uri =404;
}
location ~ /\.(ht|svn|git) {
deny all;
}
}
Ketika menggunakan konfigurasi ini, kamu juga harus meng-set cgi.fix_pathinfo=0 di php.ini untuk menghindari panggilan sistem stat() yang tidak perlu. Juga perlu diperhatikan ketika menjalankan server HTTPS, kamu juga perlu menambahkan fastcgi_param HTTPS on; Sehingga Yii dapat mendekteksi koneksi aman.