Senin, 07 November 2016

Instalasi Symfony

Tags

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, ketiksymfony -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 direktori Documents 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/
Congratulations
Catatan: Symfony menggunakan module mod_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 file httpd.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.
web debug toolbar
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).

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 direktoricache 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 dariaskeet 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