Development

Documentation/id_ID/book/1.0/03-Running-Symfony

You must first sign up to be able to contribute.

Bab 3 - Menjalankan Symfony

Sebagaimana anda telah belajar pada bab-bab sebelumnya, framework symfony terdiri dari kumpulan file-file yang ditulis menggunakan PHP. Sebuah proyek symfony menggunakan file-file ini, jadi memasang symfony berarti mendapatkan file-file tesebut dan membuatnya tersedia untuk digunakan oleh proyek tersebut.

Sebagai framework PHP 5, symfony membutuhkan PHP 5. Pastikan anda sudah memasangnya dengan membuka sebuah baris perintah dan mengetik perintah berikut:

> php -v

PHP 5.2.0 (cli) (built: Nov 2 2006 11:57:36)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies

Jika versi nomor adalah 5.0 atau lebih tinggi, maka anda siap memasang symfony, seperti dijelaskan pada bab ini.

Instalasi Sandbox

Jika anda hanya ingin melihat kemampuan symfony, kemungkinan anda akan memilih instalasi secara cepat. Dalam kasus ini, anda memerlukan sandbox.

Sandbox adalah arsip file serderhana. Yang berisi proyek symfony yang kosong dengan menyertakan semua librari-librari yang dibutuhkan(symfony, pake, lime, Creole, Propel, dan Phing), sebuah aplikasi default, dan konfigurasi dasar. Sandbox akan bekerja begitu keluar dari kotak, tanpa perlu konfigurasi server atau paket tambahan lainnya.

Untuk memasangnya, download arsip sandbox dari http://www.symfony-project.org/get/sf_sandbox.tgz. Mekarkan di bawah root direktori web yang sudah dikonfigurasi sesuai web server anda (biasanya web/ atau www/). Demi keseragaman, pada bab ini mengasumsikan anda meletakkannya pada direktori sf_sandbox/.

PERHATIAN Meletakkan semua file di bawah root direktori web memang baik untuk pengujian pada localhost, namun ini merupakan kebiasaan jelek untuk server produksi. Hal ini membuat semua internal aplikasi anda dapat dilihat oleh semua pengguna.

Uji hasil instalasi anda dengan mengeksekusi CLI symfony. Pergi ke direktori sf_sandbox/ yang baru dan ketik perintah berikut pada sistem *nix:

> ./symfony -V

Pada Windows, berikan perintah:

> symfony -V

Anda seharusnya melihat nomor versi sandbox:

symfony version 1.0.0

Sekarang pastikan server web dapat bekerja dengan sandbox dengan me-request URL ini:

http://localhost/sf_sandbox/web/frontend_dev.php/

Anda seharusnya melihat halaman ucapan selamat seperti terlihat dalam Figur 3-1, dan ini berarti instalasi telah selesai. Jika tidak, makan pesan kesalahan akan menuntun anda melewati pengubahan konfigurasi yang dibutuhkan. Anda dapat juga mereferensi pada seksi "Troubleshooting" selanjutnya pada bab ini.

Figur 3-1 - Halaman ucapan selamat Sandbox

Sandbox congratulations page

Sandbox ditujukan bagi anda untuk belajar symfony pada komputer lokal, bukan untuk membangun aplikasi kompleks yang mungkin akan dipublikasikan di Web. Tetapi, versi symfony yang disertakan dalam sandbox sudah berfungsi penuh dan ekuivalen dengan symfony yang terpasang melalui PEAR.

Untuk meng-uninstall sandbox, cukup hapus direktori sf_sandbox/ dari folder web/ anda.

Instalasi Librari Symfony

Ketika membangun sebuah aplikasi, anda mungkin akan membutuhkan instalasi symfony dua kali: sekali untuk lingkungan pengembangan anda dan sekali unutk server host (kecuali jika host anda telah ter-install symfony). Untuk setiap server, anda mungkin akan menginginkan untuk menghindari duplikasi dengan meletakkan semua file-file symfony pada satu tempat saja, baik apakah anda membangun satu atau beberapa aplikasi.

Sementara framework symfony berkembang dengan cepat, versi stabil yang baru dapat dengan cepat dirilis hanya setelah beberapa hari sejak instalasi anda yang pertama. Anda perlu memikirkan untuk meng-upgrade framework sebagai pertimbangan utama, dan itulah alasan mengapa anda hanya memerlukan satu saja instalasi librari symfony untuk semua proyek-proyek symfony anda.

Ketika waktunya untuk meng-install librari tersebut untuk pengembangan aplikasi yang sesungguhnya, anda memiliki dua alternatif:

  • Instalasi dengan PEAR sangat direkomendasikan untuk kebanyakan orang. Instalasi ini mudah untuk dipakai bersama dan dapat di-upgrade, dan proses instalasi tersebut cukup jelas.
  • Instalasi dari Subversion (SVN) ditujukan untuk digunakan oleh pengembang-pengembang PHP mahir, yang ingin mendapat keuntungan dari patch-patch terakhir, memambahkan fitur-fitur mereka sendiri, dan/atau memberikan kontribusi pada proyek symfony.

Symfony mengintegrasikan beberapa paket-paket lain:

  • pake adalah utilitas CLI.
  • lime adalah utilitas pengujian unit.
  • Creole adalah engine abstraksi database. Sama seperti PHP Data Objects (PDO), yang menyediakan antar muka antara kode anda dengan kode SQL database, yang memungkinkan untuk berpindah ke engine lain.
  • Propel sebagai ORM. Yang menyediakan persistensi obyek dan servis query.
  • Phing sebagai sistem pembangun (build system) yang digunakan oleh Propel untuk menciptakan kelas-kelas model.

Pake dan lime dikembangkan oleh tim symfony. Creole, Propel, dan Phing datang dari tim lain dan dirilis di bawah GNU Lesser Public General License (LGPL). Semua paket-paket tersebut disertakan dalam symfony.

Instalasi Paket PEAR Symfony

Paket PEAR symfony berisi librari-librari symfony dengan semua ketergantungannya. Juga berisi sebuah skrip CLI yang menyediakan perintah symfony.

Langkah pertama untuk meng-install adalah menambah channel symfony ke PEAR, dengan memberikan perintah ini:

> pear channel-discover pear.symfony-project.com

Untuk melihat librari-librari yang tersedia pada channel tersebut, ketik berikut:

> pear remote-list -c symfony

Sekarang anda siap meng-install versi stabil yang terakhir dari symfony. Berikan perintah ini:

> pear install symfony/symfony

downloading symfony-1.0.0.tgz ...
Starting to download symfony-1.0.0.tgz (1,283,270 bytes)
.................................................................
.................................................................
.............done: 1,283,270 bytes
install ok: channel://pear.symfony-project.com/symfony-1.0.0

Hanya itu. File-file symfony dan CLI sudah terpasang. Periksa bahwa instalasi telah berhasil dengan memanggil baris perintah symfony yang baru, untuk melihat nomor versi:

> symfony -V

symfony version 1.0.0

TIP Jika anda lebih menyukai meng-install versi beta terakhir, yang sudah menyediakan perbaikan-perbaikan bug dan penambahan-penambahan fitur yang terbaru, ketik pear install symfony/symfony-beta. Rilis beta masih belum cukup stabil dan umumnya tidak direkomendasikan untuk lingkungan produksi.

Librari-librari symfony sudah terpasang pada direktori-direktori sebagai berikut:

  • $php_dir/symfony/ berisi librari-librari utama.
  • $data_dir/symfony/ berisi kerangka dari aplikasi symfony; modul-module default; dan konfigurasi, data i18n, dll.
  • $doc_dir/symfony/ berisi dokumentasi.
  • $test_dir/symfony/ berisi pengujian-pengujian unit.

Variabel _dir adalah bagian dari konfigurasi PEAR anda. Untuk melihat nilainya, ketik berikut:

> pear config-show

Check Out Symfony dari Repositori SVN

Untuk server-server produksi, atau ketika PEAR bukan menjadi pilihan, anda dapat men-download versi terakhir librari symfony langsung dari repositori Subversion symfony dengan melakukan checkout:

> mkdir /path/to/symfony
> cd /path/to/symfony
> svn checkout http://svn.symfony-project.com/tags/RELEASE_1_0_0/ .

Perintah symfony, yang tersedia pada instalasi PEAR, sebenarnya memanggil skrip /path/to/symfony/data/bin/symfony. Jadi berikut ini akan sama dengan perintah symfony -V untuk instalasi SVN:

> php /path/to/symfony/data/bin/symfony -V

symfony version 1.0.0

Jika anda memilih instalasi SVN, anda mungkin sudah memiliki proyek symfony. Agar proyek tersebut menggunakan file-file symfony, anda perlu mengubah dua variabel yang terdapat pada file config/config.php proyek, sebagai berikut:

[php]
<?php

$sf_symfony_lib_dir  = '/path/to/symfony/lib';
$sf_symfony_data_dir = '/path/to/symfony/data';

Bab 19 menyediakan cara lain untuk menghubungkan sebuah proyek dengan instalasi symfony (termasuk symbolic link dan path relatif).

TIP Sebagai alternatif, anda juga dapat men-download paket PEAR (http://pear.symfony-project.com/get/symfony-1.0.0.tgz) dan memekarkannya pada suatu tempat. Anda akan mendapatkan hasil yang sama seperti dengan checkout.

Setup Aplikasi

Seperti yang anda pelajari pada Bab 2, symfony menggabungkan aplikasi-aplikasi yang berkaitan dalam proyek. Semua aplikasi-aplikasi dalam sebuah proyek berbagi pakai database yang sama. Agar bisa men-setup aplikasi, anda harus men-setup sebuah proyek terlebih dahulu.

Membuat Proyek

Setiap proyek symfony mengikuti struktur direktori yang sudah ditentukan. Baris perintah symfony mengotomatisasi pembuatan proyek-proyek baru dengan menginisialisasi kerangka proyek, dengan struktur tree dan hak akses yang sesuai. Jadi untuk membuat sebuah proyek, buat sebuah direktori baru dan jalankan symfony untuk membuatnya sebagai sebuah proyek.

Untuk instalasi PEAR, berikan perintah-perintah ini:

> mkdir ~/myproject
> cd ~/myproject
> symfony init-project myproject

Untuk instalasi SVN, buat sebuah proyek dengan perintah-perintah berikut:

> mkdir ~/myproject
> cd ~/myproject
> php /path/to/symfony/data/bin/symfony init-project myproject

Perintah symfony harus selalu dipanggil dari direktori root proyek (myproject/ pada contoh sebelumnya), karena semua tugas-tugas yang dilaksanakan berlaku khusus pada proyek.

Symfony akan membuat struktur direktori yang terlihat seperti ini:

apps/
batch/
cache/
config/
data/
doc/
lib/
log/
plugins/
test/
web/

TIP Perintah init-project menambahkan skrip symfony pada direktori root proyek. Skrip PHP ini sama persis dengan perintah symfony yang terinstall melalui PEAR, jadi anda dapat memanggil php symfony daripada symfony jika anda tidak mempunyai dukungan baris perintah alami (untuk instalasi SVN).

Membuat Aplikasi

Proyek belum siap ditampilkan, karena setidaknya membutuhkan satu aplikasi. Untuk menginisialisasi aplikasi, gunakan perintah symfony init-app dan berikan nama aplikasi sebagai argumen:

> symfony init-app myapp

Perintah ini akan membuat direktori myapp/ dalam folder apps/ pada root proyek, dengan konfigurasi aplikasi default dan serangkaian direktori-direktori yang dipersiapkan untuk menampung file-file website anda:

apps/
  myapp/
    config/
    i18n/
    lib/
    modules/
    templates/

Beberapa file-file PHP yang berkaitan dengan front controller dari setiap lingkungan default juga dibuat dalam direktori web proyek:

web/
  index.php
  myapp_dev.php

index.php adalah front controller produksi dari aplikasi baru tersebut. Karena anda pertama kali membuat aplikasi dalam proyek, symfony membuat file yang dinamakan index.php daripada myapp.php (jika anda menambahkan aplikasi baru dengan nama mynewapp, front controller produksi yang baru akan dinamakan mynewapp.php). Untuk menjalankan aplikasi anda pada lingkungan pengembangan, panggil front controller myapp_dev.php. Anda akan belajar lebih tentang lingkungan-lingkungan ini pada Bab 5.

Konfigurasi Server Web

Skrip-skrip pada direktori web/ adalah jalan masuk ke aplikasi. Untuk dapat mengaksesnya dari Internet, server web harus dikonfigurasi. Pada server pengembangan anda, sebagaimana solusi hosting profesional, anda kemungkinan memiliki hak akses pada konfigurasi Apache dan anda dapat membuat sebuah host virtual. Pada server shared-host, anda kemungkinan memiliki akses hanya pada file .htaccess.

Setup Host Virtual

Listing 3-1 adalah contoh konfigurasi Apache, dimana sebuah host virtual baru dutambahkan ke file httpd.conf.

Listing 3-1 - Konfigurasi Contoh Apache, pada apache/conf/httpd.conf

<VirtualHost *:80>
  ServerName myapp.example.com
  DocumentRoot "/home/steve/myproject/web"
  DirectoryIndex index.php
  Alias /sf /$sf_symfony_data_dir/web/sf
  <Directory "/$sf_symfony_data_dir/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
  <Directory "/home/steve/myproject/web">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

Konfigurasi pada Listing 3-1, placeholder $sf_symfony_data_dir harus disesuaikan dengan path sesungguhnya. Sebagai contoh, untuk instalasi PEAR pada *nix, anda seharusnya mengetik seperti ini:

    Alias /sf /usr/local/lib/php/data/symfony/web/sf

CATATAN Alias ke direktori web/sf/ bukan keharusan. Alias ini membantu Apache mencari gambar-gambar, stylesheet, dan file-file JavaScript untuk toolbar web debug, admin generator, halaman-halaman default symfony, dan dukungan Ajax. Sebagai alternatif alias ini adalah membuat symbolic link (symlink) atau copy direktori /path/to/symfony/data/web/sf/ ke myproject/web/sf/.

Restart Apache, dan lihatlah. Aplikasi yang baru saja anda buat sekarang dapat dipanggil dan dilihat melalui web browser standar melalui URL berikut ini:

http://localhost/myapp_dev.php/

Anda seharusnya melihat halaman ucapan selamat sama seperti yang ditunjukkan sebelumnya pada Figur 3-1.

SIDEBAR URL Rewriting

Symfony menggunakan URL rewriting untuk menampilkan "URL-URL pintar"--lokasi yang berarti dan baik ditampilkan pada mesin-mesin pencari dan menyembunyikan data teknis dari pemakai. Anda akan belajar lebih tentang fitur ini, yang dinamakan routing, pada Bab 9.

Jika versi Apache anda tidak dikompilasi dengan modul mod_rewrite, pastikan anda memiliki Dynamic Shared Object (DSO) mod_rewrite terpasang dan baris-baris berikut pada httpd.conf anda:

AddModule mod_rewrite.c LoadModule rewrite_module modules/mod_rewrite.so

Untuk Internet Information Services (IIS), anda memerlukan isapi/rewrite terpasang dan berjalan. Periksa dokumentasi online symfony untuk petunjuk instalasi IIS yang lebih detail.

Konfigurasi Server Shared-Host

Setup aplikasi pada shared host sedikit perlu trik-trik kecil, karena host biasanya memiliki layout direktori khusus yang tidak dapat anda ubah.

PERHATIAN Melakukan pengujian dan pengembangan langsung pada shared host bukan praktik yang bagus. Salah satu alasan karena membuat aplikasi tampak bahkan sebelum selesai, menunjukkan internal aplikasi dan membuka banyak lubang keamanan. Alasan lainnya yaitu performa shared host terkadang tidak cukup untuk melayani aplikasi dengan peralatan debug aktif secara efisien. Jadi anda tidak seharusnya mengawali pengembangan dengan instalasi shared-host, tetapi lebih membangun aplikasi di lokal dan men-deploy-nya ke shared host setelah selesai. Bab 16 akan memberikan penjelasan lebih mengenai teknik-teknik dan peralatan pen-deploy-an.

Coba bayangkan shared host anda mengharuskan folder web dinamakan www/ daripada web/, dan anda tidak diberikan akses ke file httpd.conf file, tetapi hanya pada file .htaccess pada folder web.

Dalam proyek symfony, setiap path ke direktori dapat dikonfigurasi. Bab 19 akan menerangkan lebih jauh tentang ini, tetapi sementara waktu, anda dapat merubah direktori web kewww dan membuat aplikasi mengerjakannya dengan merubah konfigurasi, seperti ditunjukkan pada Listing 3-2. Baris-baris ini ditambahkan pada akhir file config.php aplikasi.

Listing 3-2 - Merubah Pengaturan Struktur Direktori Default, pada apps/myapp/config/config.php

[php]
$sf_root_dir = sfConfig::get('sf_root_dir');
sfConfig::add(array(
  'sf_web_dir_name' => $sf_web_dir_name = 'www',
  'sf_web_dir'      => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_web_dir_name,
  'sf_upload_dir'   => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_web_dir_name.DIRECTORY_SEPARATOR.sfConfig::get('sf_upload_dir_name'),
));

Root web proyek berisi file .htaccess secara default. Seperti ditunjukkan pada Listing 3-3. Modifikasi seperlunya untuk menyesuikan dengan persyaratan shared host anda.

Listing 3-3 - Konfigurasi .htaccess Default, Ada pada myproject/www/.htaccess

Options +FollowSymLinks +ExecCGI

<IfModule mod_rewrite.c>
  RewriteEngine On

  # we skip all files with .something
  RewriteCond %{REQUEST_URI} \..+$
  RewriteCond %{REQUEST_URI} !\.html$
  RewriteRule .* - [L]

  # we check if the .html version is here (caching)
  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f

  # no, so we redirect to our front web controller
  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

# big crash from our front web controller
ErrorDocument 500 "<h2>Application error</h2>symfony applicationfailed to start properly"

You should now be ready to browse your application. Check the congratulation page by requesting this URL:

http://www.example.com/myapp_dev.php/

SIDEBAR Konfigurasi Server Lainnya

Symfony sangat kompatibel dengan konfigurasi-konfigurasi server lainnya. Anda dapat, sebagai contoh, mengakses aplikasi symfony menggunakan alias daripada sebuah host virtual. Anda juga dapat menjalankan aplikasi symfony dengan server IIS. Banyak sekali teknik-teknik sebagimana konfigurasi-konfgiurasi, dan di buku ini tidak akan dijelaskan semuanya.

Untuk mencari petunjuk konfigurasi server khusus, referensi ke wiki symfony (http://trac.symfony-project.org/), yang berisi banyak tutorial langkah-demi-langkah.

Troubleshooting

Jika anda menjumpai masalah-msalah selama proses instalasi, coba simak kesalahan-kesalahan atau eksepsi-eksepsi yang diberikan oleh shell atau oleh browser. Sering sekali pesan-pesan tersebut sudah-dijelaskan dan bahkan berisi link ke sumber daya khusus di Web tentang permasalahan anda.

Kesalahan Umum

Jika anda masih mendapat masalah untuk membuat symfony berjalan, periksa berikut ini:

  • Beberapa instalasi PHP menyertakan perintah PHP 4 dan PHP 5 sekaligus. Dalam kasus ini, baris perintah kemungkinan php5 daripada php, jadi coba panggil perintah php5 symfony daripada symfony. Anda mungkin juga perlu menambahkan SetEnv PHP_VER 5 pada konfigurasi .htaccess, atau ubah skrip-skrip pada direktori web/ dari .php ke .php5. Kesalahan yang ditampilkan oleh baris perintah PHP 4 yang mencoba mengakses symfony tampak seperti ini:

    Parse error, unexpected ',', expecting '(' in .../symfony.php on line 19.
    
  • Batas memori, yang ditentukan pada php.ini, harus diset sekurang-kurangnya 16M. Gejala umum dari masalah ini adalah pesan kesalahan ketika meng-install symfony via PEAR atau ketika menggunakan baris perintah.

    Allowed memory size of 8388608 bytes exhausted
    
  • Setting zend.ze1_compatibility_mode harus di-set off pada php.ini. Jika tidak, usaha untuk membuka sebuah skrip web akan menghasilkan kesalahan "implicit cloning":

    Strict Standards: Implicit cloning object of class 'sfTimer'because of 'zend.ze1_compatibility_mode'
    
  • Direktori log/ dan cache/ pada proyek anda harus bisa ditulisi oleh server web. Usaha untuk membuka aplikasi symfony tanpa adanya hak akses direktori tersebut akan memberikan eksepsi:

    sfCacheException [message] Unable to write cache file"/usr/myproject/cache/frontend/prod/config/config_config_handlers.yml.php"
    
  • Include path sistem harus menyertakan path ke perintah php, dan include path pada php.ini harus berisi path ke PEAR (jika anda menggunakan PEAR).

  • Kadang-kadang, ada lebih dari satu php.ini pada file sistem server (sebagai contoh, jika anda menggunakan paket WAMP). Panggil phpinfo() untuk mengetahui lokasi yang tepat dari file php.ini yang digunakan oleh aplikasi anda.

CATATAN Meskipun bukan keharusan, sangat disarankan, untuk alasan performa, untuk menge-set pengaturan magic_quotes_gpc dan register_globals ke off dalam php.ini.

Sumber Daya Symfony

Anda dapat memeriksa permasalahan anda apakah sudah dialami orang lain dan mencari solusi dari beberapa tempat:

Jika anda tidak menemukan jawaban, coba layangkan pertanyaan anda pada komunitas symfony. Anda dapat melayangkan pertanyaan anda melalui forum, mailing list, atau bahkan mampir ke chanel IRC #symfony untuk mendapat feedback dari anggota aktif komunitas.

Source Versioning

Sekali setup aplikasi telah selesai, memulai proses source versioning (atau version control) sangat direkomendasikan. Source versioning menyimpan catatan semua modifikasi-modifikasi kode, memberikan akses pada rilis sebelumnya, fasilitas patch, dan mengefisienkan kerja tim. Symfony secara alami mendukung CVS, meski Subversion (http://subversion.tigris.org/) yang direkomendasikan. Contoh berikut menunjukkan perintah-perintah Subversion, dan mengasumsikan anda sudah memiliki server Subversion yang sudah terpasang dan anda diharapkan membuat repositori baru untuk proyek anda. Untuk pemakai Windows, klien Subversion yang direkomendasikan adalah TortoiseSVN (http://tortoisesvn.tigris.org/). Untuk informasi lebih mengenai source versioning dan perintah-perintah yang digunakan di sini, konsultasikan dengan dokumentasi Subversion.

Contoh berikut mengasumsikan $SVNREP_DIR didefinisikan sebagai variabel lingkungan. Jika anda tidak menentukannya, anda akan perlu menggantinya dengan lokasi aktual dari repositori sebagai pengganti $SVNREP_DIR.

Jadi mari kita buat repositori baru untuk proyek myproject:

> svnadmin create $SVNREP_DIR/myproject

Kemudian struktur (layout) dasar repositori dibuat dengan direktori trunk, tags, dan branches menggunakan perintah yang cukup panjang:

> svn mkdir -m "layout creation" file:///$SVNREP_DIR/myproject/trunk file:///$SVNREP_DIR/myproject/tags file:///$SVNREP_DIR/myproject/branches

Ini akan menjadi revisi yang pertama. Sekarang anda perlu mengimpor file-file proyek kecuali cache dan file-file sementara log:

> cd ~/myproject
> rm -rf cache/*
> rm -rf log/*
> svn import -m "initial import" . file:///$SVNREP_DIR/myproject/trunk

Periksa file-file yang sudah di-commit dengan mengetik berikut:

> svn ls file:///$SVNREP_DIR/myproject/trunk/

Itu kelihatannya bagus. Sekarang repositori SVN memiliki referensi versi (dan histori) terhadap semua file-file proyek. Ini berarti bahwa file-file aktual pada direktori ~/myproject/ perlu dikaitkan dengan repositori. Untuk melakukannya, pertama ubah direktori myproject/--anda akan menghapusnya segera begitu semua berjalan baik--dan lakukan checkout repositori pada direktori baru:

> cd ~
> mv myproject myproject.origin
> svn co file:///$SVNREP_DIR/myproject/trunk myproject
> ls myproject

Hanya itu. Sekarang anda dapat bekerja dengan file-file yang terletak di ~/myproject/ dan lakukan commit modifikasi-modifikasi anda ke repositori. Jangan lupa untuk melakukan beberapa pembersihan dan menghapus direktori myproject.origin/, yang sekarang tidak digunakan.

Ada satu hal lagi yang perlu di setup. Jika anda melakukan commit direktori kerja anda ke repositori, anda mungkin meng-copy beberapa file-file yang tidak diinginkan, semisal file-file yang terletak di direktori cache dan log dari proyek anda. Jadi anda perlu menentukan daftar pengabaian SVN untuk proyek ini. Anda juga perlu untuk memberikan akses penuh ke direktori cache/ dan log/ lagi:

> cd ~/myproject
> chmod 777 cache
> chmod 777 log
> svn propedit svn:ignore log
> svn propedit svn:ignore cache

Penyuntig teks default untuk SVN seharusnya terbuka. Jika tidak terjadi apa-apa, pastikan Subversion menggunakan penyunting yang anda sukai dengan mengetikkan ini:

> export SVN_EDITOR=<name of editor>
> svn propedit svn:ignore log
> svn propedit svn:ignore cache

Sekarang tambahkan semua file-file dari subdirektori myproject/ dan SVN seharusnya mengabaikan ketika proses commit:

*

Simpan dan keluar. Anda sudah selesai.

Kesimpulan

Untuk menguji dan bekerja dengan symfony pada server lokal, pilihan instalasi terbaik bagi anda tentunya sandbox, yang berisi lingkungan symfony yang sudah dikonfigurasi.

Untuk pengembangan sesungguhnya atau pada server produksi, pilihannya yaitu instalasi PEAR atau checkout SVN. Proses ini akan memasang librari-librari symfony, dan anda masih perlu menginisialisasi sebuah proyek dan sebuah aplikasi. Langkah terakhir setup aplikasi adalah konfigurasi server, yang dan dikerjakan dengan berbagai cara. Symfony berkerja dengan sempurna dengan host virtual, dan ini adalah solusi yang direkomendasikan.

Jika anda menjumpai masalah sewaktu instalasi, anda akan menemukan banyak tutorial dan jawaban dari pertanyaan yang sering diajukan pada website symfony. Jika perlu, anda dapat mengirimkan permasalahan anda kepada komunitas symfony, dan anda akan mendapatkan jawaban secara cepat dan efektif.

Sekali proyek anda sudah diinisialisasi, adalah kebiasaan yang baik untuk memulai proses version-control.

Sekarang anda siap menggunakan symfony, sekarang waktunya untuk melihat bagaimana untuk membangun aplikasi web dasar.