Instalasi Symfony
Cara termudah untuk menginstall sumfony adalah dengan menggunakan paket PEAR. Tapi, agar dapat menggunakan channels dan mengakses channel symfony = Anda harus mengupgrade PEAR Anda ke versi 1.4.0 atau lebih tinggi (kecuali Anda menjalankan PHP 5.1.0, dimana sudah ada PEAR 1.4.5) :
$ pear upgrade PEAR
Catatan : Jika Anda mengalami masalah ketika menggunakan PEAR, silahkan melihat babInstalasi pada buku symfony.
Sekarang, Anda dapat menambahkan channel 'symfony' :
$ pear channel-discover pear.symfony-project.com
Anda siap menginstall versi stabil terakhir dari symfony, bersama dengan paket yang berhubungan :
$ pear install symfony/symfony
Cek lah kalau symfony sudah terinstall dengan menggunakan command line untuk mengecek versinya :
$ symfony -V
Jika Anda curiga tentang apa saja yang dapat dilakukan oleh commnd line ini untuk Anda, ketik symfony -T, untuk melihat opsi-opsi yang tersedia. Anda juga mungkin ingin membaca bab instalasi pada buku symfony untuk membaca bagaimana cara menginstall symfony dari format tgz atau dari repository svn. Kontribusi dari komunitas juga menjelaskan instlasi non-PEAR, Anda dapat melihatnya pada symfony wiki.
Jika Anda Penasaran tentang apa saja yang dapat dilakukan oleh commnd line ini untuk Anda, ketik
symfony -T
, untuk melihat opsi-opsi yang tersedia. Anda juga mungkin ingin membaca [bab instalasi] (http://www.symfony-project.com/book/1_0/02-Exploring-Symfony-s-Code) pada buku symfony untuk membaca bagaimana cara menginstall symfony dari format tgz atau dari repository svn. Kontribusi dari komunitas juga menjelaskan instlasi non-PEAR, Anda dapat melihatnya padawiki symfony.Setup Proyek
Pada symfony, sebuah applications (aplikasi) yang saling berbagi data model di kelompokkan menjadi projects (proyek). Untuk proyek askeet, kita sudah bisa melihat kalau akan ada dua buah, frontend dan backend : yang membuat dua buah aplikasi. Proyek akan menjadi inti aplikasi, maka proyek ini harus kita buat terlebih dahulu. Untuk melakukan hal itu, apa yang Anda perlukan adalah membuat direktori dan perintah sebuah perintah pada command line , yaitu
symfony init-project
$ mkdir /home/sfprojects/askeet
$ cd /home/sfprojects/askeet
$ symfony init-project askeet
Sekarang saatnya untuk membuat aplikasi frontend dengan perintah
symfony init-app
:$ symfony init-app frontend
Wow, secepat itu.
Catatan : Pengguna Windows disarankan untuk menjalankan symfony dengan proyek barunya dalam path yang tidak mengandung spasi - ini termasuk direktoriDocuments and Settings
.
Setup Web service
Konfigurasi Web server
Sekarang saatnya untuk mengubah konfigurasi Apache Anda untuk membuat aplikasi baru dapat diakses. Untuk yang proffesional, lebih baik men setup aplikasi baru dengan virtual host, dan itulah yang akan kita jelaskan disini, Bagaimanapun juga, jika Anda ingin menambahkannya sebagai alias, Anda bisa membacanya pada bab [Konfigurasi Web Server] (http://www.symfony-project.com/cookbook/1_0/web_server) di buku symfony.
Buka httpd.conf dari direktori
Apache/conf/
Anda, dan tambahkan baris-baris ini di bagian akhir nya :<VirtualHost *:80>
ServerName askeet
DocumentRoot "/home/sfprojects/askeet/web"
DirectoryIndex index.php
Alias /sf /usr/local/lib/php/data/symfony/web/sf
<Directory "/home/sfprojects/askeet/web">
AllowOverride All
</Directory>
</VirtualHost>
Catatan : alias/sf
menunjuk ke folder symfony pada direktori PEAR data Anda. Untuk melihatnya, ketik saja,pear config-show
. Aplikasi Symfony perlu mengakses folder ini untuk mendapatkan beberapa gambar dan file javascript, agar dapat menjalankan tollbar web debug dan AJAX helpers.
Pada Windows Anda harus mengganti baris
Alias
dengan baris seperti ini : Alias /sf "C:\php\pear\data\symfony\web\sf"
Membuat nama domaine
Nama domain askeet harus dibuat secara lokal.
Jika Anda menjalankan sistem Linux, ini bisa dilakukan dengan mengedit file
/etc/hosts
. Jika Anda menjalankan Windows XP, file in terletak di direktori C:\WINDOWS\system32\drivers\etc\
.
Tambahkan baris berikut :
127.0.0.1 askeet
Catatan : Anda harus memiliki hak administrasi untuk melakukan hal ini.
Jika Anda tidak ingin menambah host baru, Anda harus menambahkan statemen
Listen
untuk melayani website Anda pada port lain. Ini akan memperbolehkan Anda untuk menggunakan domainlocalhost
.Mengetes Konfigurasi baru
Restart Apache, dan cek kalau anda sekarang sudah bisa mengakses aplikasi baru Anda :
http://askeet/
Catatan: Symfony menggunakan modulemod_rewrite
untuk menghilangkan bagian /index.php/ pada URL. Jika anda tidak ingin menggunakannya atau web server Anda tidak menyediakan fasilitas yang sama, Anda bisa menghilangkan fitur ini dengan cara menghapus file.htaccess
yang ada di direktori web/. Jika versi Apache Anda tidak dicompile denganmod_rewrite
, cek Apakah Anda memiliki mod_reweite DSO terinstall kemudian jika iya, tambahkan baris ini pada filehttpd.conf
Anda :AddModule mod_rewrite.c LoadModule rewrite_module modules/mod_rewrite.so
Anda akan belajar lebih jauh mengenai smart URL pada [bab routing] (http://www.symfony-project.com/book/1_0/09-Links-and-the-Routing-System).
Anda juga harus mencoba mengakses aplikasi dari lingkungan development. Keyik URL berikut :
http://askeet/frontend_dev.php/
Web debug toolbat seharusnya muncul pada bagian ujung atas kanan, termasuk icon kecil yang menunjukkan kalau konfigurasi
Alias /sf
Anda benar.
Sekali lagi,cara setup ini sedikit berbeda jika Anda menggunakan sercer IIS pada lingkungan Windows.
Cari tahu bagaimana mengkonfigurasinya pada [tutorial yang berhubungan] (http://www.symfony-project.com/cookbook/1_0/web_server_iis).
Cari tahu bagaimana mengkonfigurasinya pada [tutorial yang berhubungan] (http://www.symfony-project.com/cookbook/1_0/web_server_iis).
Subversion
Salah satu prinsip orang-orang pemalas adalah tidak perlu mengkhawatirkan merusak kode yang sudah ada. Karena kita ingin bekerja cepat, kita ingin kembali ke versi sebelumnya jika ada perubahan yang tidak efisien, kita ingin memperbolehkab lebih dari satu orang bekerja pada sebuah proyek, dan kit juga ingin memiliki akses ke seluruh versi harian dari aplikasi, kita akan menggunakan version control. Yang akan kita gunakan adalah Subversion. Kita Asumsikan Saja Anda telah menginstall server subversion atau memiliki akses ke server subversion.
Pertama, buatlah repositoru untuk proyek
askeet
:$ svnadmin create $SVNREP_DIR/askeet
$ svn mkdir -m "layout creation" file:///$SVNREP_DIR/askeet/trunk file:///$SVNREP_DIR/askeet/tags file:///$SVNREP_DIR/askeet/branches
Selanjutnya, Anda harus melakukan import awal, dengan mengabaikan direktori temporary
cache/
dan log/
.$ cd /home/sfprojects/askeet
$ rm -rf cache/*
$ rm -rf log/*
$ svn import -m "initial import" . file:///$SVNREP_DIR/askeet/trunk
Sekarang ganti nama direktori aplikasi asli proyek dan gunakan versi yang diambil dari SVN, setelah itu hapus direktori asli proyek :
$ cd /home/sfprojects
$ mv askeet askeet.origin
$ svn co file:///$SVNREP_DIR/askeet/trunk/ askeet/
$ ls askeet
$ rm -rf askeet.origin
Ada satu lagi hal yang harus di setup. Jika Anda mengirimkan direktori kerja Anda ke repository, Anda mungkin mencopy juga file-file yang tidak diinginkan, seperti file-file yang terletak di direktori
cache
dan log
dari proyek Anda. Jadi Anda harus menentukan sebuah daftar yang berisi daftar file yang akan diabaikan oleh SVN :$ cd /home/sfprojects/askeet
$ svn propedit svn:ignore cache
Text editor default yang dikonfigurasikan untuk SVN akan muncuk, Tambahkan subdirektori dari
askeet
yang akan di abaikan oleh SVN ketika proses pengiriman (commit) :*
Save dan berhenti. Anda telah selesai.
Ulangi prosedur ini untuk direktori log :
$ svn propedit svn:ignore log
*
Sekarang, pastikan untuk mengeset permission write (hak untuk menulis) pada direktori cache dan log ke level yang sesuai agar web server Anda dapat menulis kedalamnya lagi. Pada command line, gunakanlah perintah ini :
$ chmod 777 cache
$ chmod 777 log
Catatan : Pengguna Windows dapat mengggunakan client TortoiseSVN unuk memanage repositor subversion mereka.
Jika Anda ingin mempelajari lebih jauh tentang version control, bacalah bab Pembuatan Proyek pada buku symfony.
Catatan : SVN askeet adalah public, Anda bisa mengaksesnya di :http://svn.askeet.com/
Silahkan, lihatlah sekarang.Code hari ini telah dicommit, Anda bisa mengambilnya dengan tag release_day_1$ svn co http://svn.askeet.com/tags/release_day_1/ askeet/
Reff : http://symfony.com/legacy/doc/askeet/1_0/id/1
Video Tutorial
EmoticonEmoticon