I'm currently playing around with Froth and I'm very interested to get
something basic up and running as a proof of concept, ideally just on
my mac. I'm put off by the ties to EC2 unfortunately, as I suspect
many other people will be. As a web developer I'm used to testing
locally (either on my Mac or in a Linux VM that is running on my Mac)
and would like to do that with FrothKit, since really I'm just playing
right now. We pretty much want something we can just download and
click "Build" out of the box to see a Hello World! running on a Mac to
start with.
So my questions are:
1) When you say mac deployment is not supported, is it just because
it doesn't work out of the box, or is it a huge problem to solve?
What is my mac (10.6.3) missing that Froth would need in order to
work?
2) If I can't deploy directly to my Mac, I have a VM running Ubuntu.
I understand I can deploy to this but don't find any documentation
explaining what I'd need to do. Are you able to outline very briefly
what I'd need? I'm pretty comfortable with configuring servers etc so
I don't need anything in great detail, more or less a list of
dependencies and some basic configuration/environment requirements
would suffice.
3) Are you looking for any support for existing web developers coming
from other environments?
Kind Regards,
Chris Corbyn
> 1) When you say mac deployment is not supported, is it just because
> it doesn't work out of the box, or is it a huge problem to solve?
> What is my mac (10.6.3) missing that Froth would need in order to
> work?
Their is no technical reason that Froth wont run on mac. My initial
development efforts had it building and running on Mac via Apache and
mod_fastcgi. Its really just a matter of resolving all the
dependancies then setting up apache and fastcgi. I do plan on making
mac deployments more seamless, however I have a lot on my plate at the
moment so haven't been able to get to it. Their has been some work
from another person on this as well. Along with the mod_fastcgi setup
you would also need to locate your webapp resource either in a served
folder, or setup apache to include your webApp's 'Static' folder.
I've also considered integrating Froth with one of the many cocoa http
server projects, and in the end this may be the best way for local
deployments. With this approach froth could be integrated into a
regular mac application, illuminating the need for complicated apache
configurations.
Also it may be easier to install lighttpd on mac, as froth has been
tailored for use with lighttpd. Then install all the other
dependancies possibly with MacPorts or Fink (See below for
dependancies).
> 2) If I can't deploy directly to my Mac, I have a VM running Ubuntu.
> I understand I can deploy to this but don't find any documentation
> explaining what I'd need to do. Are you able to outline very briefly
> what I'd need? I'm pretty comfortable with configuring servers etc so
> I don't need anything in great detail, more or less a list of
> dependencies and some basic configuration/environment requirements
> would suffice.
Local vm setup is also possible, and probably a quicker short term
solution for local testing. I just haven't had the time to provide any
documentation on the process. Some of the steps I know will have to be
taken for linux vm setup are...
1. Use apt-get to install all froth dependancies.
The following list assumes you are using Ubuntu or a Debian based
distro, some of the following may already be installed or get
installed with a previous package. apt-get will inform of any
additional packages needed for each.
#--
#Update package info.
apt-get update
#--
#libossp-uuid-dev
apt-get install libossp-uuid
#--
#OpenSSL Development Package
apt-get install libssl-dev
#--
#MySqlClient Development Package
apt-get install libmysqlclient-dev
#--
#LibCurl Development Package
apt-get install libcurl-dev
#--
#LibXML2 Package
apt-get install libxml2
#--
#lpcre Perl Regular Expressions.
apt-get install libpcre3 libpcre3-dev
#--
#Zlib
apt-get install libz-dev
#--
#Python 2.6
apt-get install python2.6 python2.6-dev
#--
#Libidn
apt-get install libidn11 libidn11-dev
#gnutils
apt-get install libgnutls26 libgnutls-dev
#--
# LibEvent (2.0.1 or newer)
wget http://www.monkey.org/~provos/libevent-2.0.3-alpha.tar.gz
tar zxvf libevent-2.0.3-alpha.tar.gz
cd libevent-2.0.3-alpha
./configure --prefix=/usr
make
make install
#--
# Memcached (latest - version 0.39 from libmemcached.org)
wget http://launchpad.net/libmemcached/1.0/0.39/+download/libmemcached-0.39.tar.gz
tar zxvf http://launchpad.net/libmemcached/1.0/0.39/+download/libmemcached-0.39.tar.gz
cd libmemcached-0.39
./configure prefix=/usr
make
make install
#--
# Lighttpd
apt-get install lighttpd
2. Once the dependancies are installed, its best to setup ssh on your
virtual box so you can build and deploy to the machine from xcode. The
steps to do that can be found here.
http://www.debuntu.org/ssh-key-based-authentication
Note: insure that you do this for the root account.
3 Deploy fmtools and frothkit to your virtual machine from Xcode.
3.1 Build and deploy froth framework.
A. Launch Xcode, then open the FrothKit project.
B. Expand the 'Targets' section from the Groups & Files source list.
C. Double click on the 'FrothLinux' target.
D. Under the "Configuration:" popup, select the 'Deploy'
configuration.
E. Scroll to the User-Defined section of the configuration settings.
F. Under FROTH_HOST, enter the ip address of your local virtual linux
machine.
G. Under FROTH_IDENTITY, enter the path to your private key generated
under step 2. (or double click on the setting, and drag the private
key to the window)
H. Close the target settings window.
F. Select the 'Deploy' target as the active target from the project
window.
G. Select 'Build'
H. It should build with no errors (however their will be lots of
warnings...)
3.1 Build and deploy fmtools
A. Launch Xcode, then open the FrothKit project.
B. Expand the 'External Tool Projects' folder from the Groups & Files
source list.
C. Double click on the 'fmtool.xcodeproj' to open that project in
xcode.
D. Expand the 'Targets' section from the Groups & Files source list.
E. Double click on the 'fmtool-lighttpd1.4' target.
F. Scroll to the User-Defined section of the configuration settings.
G. Under FROTH_HOST, enter the ip address of your local virtual linux
machine.
H. Under FROTH_IDENTITY, enter the path to your private key generated
under step 2. (or double click on the setting, and drag the private
G. Select 'Build'
This *should* work, however, let me know and I will correct any
procedures if this fails.
> 3) Are you looking for any support for existing web developers coming
> from other environments?
Absolutely! It would be great if more developers can get involved with
Froth.
Cheers,
Allan