hoschi's picture


I want to create a better symfony appliance with better tool support out of the box. Tell me what you miss and I will try to put it in.

for acutal information visit the git repositoriy ----> http://github.com/hoschi/tkl-symfony

The patch can be only applied to an appliance with mysql and apache2 installed e.g. LAMP. I'm working on a patch for beta-lucid.

This are the first thoughts and this is just for history.

  • symfony/php development patch
    • phing
    • dojo - can be easaly added with CDN
    • zend as symfony library
    • eAccelerator - faster PHP code
    • subversion client - to pull symfony in
    • git-core - have a powerfull "no server needed" SCM tool
    • phpcs
    • phpunit
    • pdepend
    • phpdoc
  • client tool patch
    • firefox,opera,chrome
    • ssh X11 forwarding enabled - already done by TKL guys
  • additional stuff
    • a sample project with the tools enabled
      php 5.3 - LAMP is php 5.2 and lucid has no LAMP patches yet
      Zend - if there is time
    • vim 7.2 - hardy is 7.1 with no syntax highlighting!
    • vim addons - with some php stuff to use as minimal IDE
Liraz Siri's picture

We might want to consider separating the client-side and server-side components. If I'm not mistaken if you install browsers you're going to get all of X pulled in as a dependency. That's going to bloat the size of the appliance considerably.

As an alternative we could put client-side and sever-side components into different appliances. Right now we don't yet have a client-side TurnKey appliance, but that's something we're planning.

hoschi's picture

I plan this as a development box, rather than a deployment box. I agree with you that the size of the appliance matters and will test this. A "client side" patch with all major browsers would work, I think. I split my first approch in two.

hoschi's picture

Sorry, I should make my idea a little more clear:

I want to create a development appliance. With this appliance a php/symfony developer should easy get a working development environment. To deliver that, all needed tools must be installed. I think of two use cases this appliance saves someone's time:

  1. a developer which don't use a VM yet
  2. a freshman which don't know about the defacto standard tools and how to configure/install it
Guest's picture

A zend framework appliance like this one would be great!

I would also include:

  • php 5.3
  • phing
  • phpunit

Perhaps, why not a ( zend framework / trac / repository ) appliance all in one !? Would be the best !! :-)

hoschi's picture

first, thx for your thoughts ;)

I also thought about to integrate zend ... but never developed with it :(
When I finish my first version of the patch I will host it on github to fork it by the croud ;)

phing and phpunit are already on the list. Yesterday I added eAcclerator to my prototype VM, as a goody ;)

You can choose the php version simply when patch the LAMP appliance (php 5.4.2) or the lucid beta (php 5.3 .. I think).

Which SCM and project management tools someone use is bad to guess, so I won't add big tools like trac or a subversion server to the appliance.

Guest's picture

Where can i find the patch for the LAMP appliance to get php 5.3 ?

hoschi's picture

There is none afaik. I meant you can install my patch either to LAMP or beta-lucid appliance.

Guest's picture

Oh, ok. Tell me when is done because i'm very anxious to see a better php development appliance. I mean, the lamp appliance is good but it needs all that things we are proposing here.


See you.

hoschi's picture

I changed the list with added, removed , optional and additional stuff, after my prototyping session yesterday.

hoschi's picture

so anyone can fork it :)


Guest's picture

  • How can i get the tkl-symfony from the repository ? Sorry, i'm newbie, i don't understand.
  • Can i execute tklpatch from windows ?
Jeremy Davis's picture

I'm sure that git is probably available for Win but I have no experience and so can't help there. TKLPatch is designed to run on TKL specifically, but Ubuntu (and perhaps Debian & Debian based distros) in general. It is not available for Win and may not even run nicely on some other Linux flavours. So you'll want either Ubuntu or TKL as a base system. I'd suggest install TKL as VM, Virtual Box is a good cross platform desktop VM environment if you don't already have one.

So install a base TKL system to VM (I'd strongly suggest TKL Core - either the current stable or lucid beta).  Then install tklpatch and git into this base system:

apt-get install git-core tklpatch

Download the latest version of the patch from the git repo:

git clone git://github.com/hoschi/tkl-symfony.git

Now download/upload the TKL LAMP ISO to the same directory as your downloaded patch (probably /root). I'd use SFTP client (such as Filezilla) to upload to the VM, or you could use wget to download it inside the VM.

Patch the ISO:

tklpatch <turnkey.iso> tkl-symfony

(Substitute the full ISO flename for <turnkey.iso>)

You should now have a Symfony TKL ISO ready to burn to CD or install straight to VM!

[edited to remove reference to patching TKL Lucid Core beta as it doesn't have the required base components for this patch]

hoschi's picture

you have to download TKL LAMP iso file, because tkl-beta-core has no apache and mysql. I'm testing to beta-core, but it isn't finished yet.

Jeremy Davis's picture

As I haven't used it I was just going on what I could gather from the thread. Perhaps it is worth editing your original post to make that clear?

hoschi's picture

and done :)

Guest's picture

Hi! I patched a tkl lamp iso with the last git patch. I install the iso in a vm successfully but i don't see some things like:


- php 5.3 (it says php version 5.2.4-2ubuntu5.12)

- vim is 7.1, not 7.2 and no syntax highlighting

- i can't find zend library


Thanks for all!

Guest's picture

Oh, i forgot. No xdebug either. :-)

Jeremy Davis's picture

They are things he'd like to add, not things that are included! Although according to the TKL-Symfony git page it should include xdebug. Hopefully Hoschi will be along to clarify.

@Hoschi - in case you missed it, Basil has created a TKL-Lucid-LAMP patch which would allow you to start working on an updated version of this patch to suit the TKL-Lucid-Core beta ISO. Also in case you weren't aware, TKL patches can be nested (ie one patch inside another). So you could package your new TKL-Symfony patch with an extra folder inside called "patches" where you can put Basil's LAMP patch (for claficiation see "Anatomy of a patch" in the TKLPatch Overview section). Then the patch can be applied in a single step to TKL Core (no need to apply LAMP first then other patch). Obviously you don't need to do it that way (you could just let people know that they need the TKL-Lucid LAMP patch first) but it makes it a bit neater and a little more user friendly (for very little extra work on your part).
Anyway, just my 2c.

hoschi's picture

You are right, I wasn't aware of patches inside of patches. I don't include any server or database system, because there are too many of both in the internet available, the user should choose his/herself. If someone want a simple stack, he/she could uncomment two lines and has it running.

Anyway I take up your advice and make more patches available, which include some database and server combinations. Unfortunately I'm in the middle of a big relocation and have limited internet/PC access, till 15.10.2010 :( When I'm in my new appartment and have my PC running, I test the new combined patches and upload prepatched ISOs for easy starting.

I'm very excited that people try my patch and for advices from the tkl community! Very cool :D

hoschi's picture


if you want to get the newer version, you must patch the beta core image. Because this image has no apache installed, you can uncommet the mentioned lines in the README.md - "Prerequisites". Anyway, xdebug should be included .. do you have any error messages for me?

Add new comment