Mac OS X deployments? I know, I know, but "why"?

25 views
Skip to first unread message

Chris Corbyn

unread,
Apr 15, 2010, 9:05:18 AM4/15/10
to FrothKit
Hi,

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

Allan

unread,
Apr 15, 2010, 1:16:39 PM4/15/10
to FrothKit
Chris,

> 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

Chris Corbyn

unread,
Apr 15, 2010, 8:03:42 PM4/15/10
to frot...@googlegroups.com
Hi Allan,

Thanks for the in-depth response, I appreciate your time. I will definitely give this a go over the weekend if not today. I'm glad that I have found Froth since it looks like a project in its infancy that could grow into a big contributor in the web development world. I think some web developers have reservations about compiled languages on the web, but I think it's all about the power of the framework behind it in the end. People are becoming more open to the idea of compiling their source before deploying it. I mean, we always had Java (ugh!), and recently the Facebook devs released Hip-Hop which compiles PHP into equivalent C code.

I also looked at Bombax which seems to be the only other "modern" ObjC framework and I don't like the approach taken anywhere near as much as with FrothKit.

I'll let you know my thoughts after a little play around. I'm guessing not at this stage, but do you know if live sites using this? Just curious, I understand how young the project is.

Cheers,

Chris
> --
> To unsubscribe, reply using "remove me" as the subject.

Allan Phillips

unread,
Apr 15, 2010, 10:49:16 PM4/15/10
to frot...@googlegroups.com
Chris,

Pretty much just our internal apps are running on it. I'm in the process of developing two major web apps on the framework, and they have been the driving force behind the framework.

Whats public now.
http://www.dejumble.com -> just an informational site, so doesn't really do the kit justice.

I am really open to input from seasoned web developers on this kit. So by all means feel free to let me know what works, and what doesn't as far as the api goes. And feel free to contribute any patches or improvements. I'd like to see froth's api spec finalized, then we can work on fine tuning and enhancements.

I think I will shoot for the next release to include native mac deployments. After thinking about this more from your questions, It makes a lot of sense and will help drive the kit forward.

- Allan

Chris Corbyn

unread,
Apr 17, 2010, 10:44:44 AM4/17/10
to frot...@googlegroups.com
Hi Allan,

I attempted to get up and running (on my Mac) today but without any success due to dependencies I'm unsure how to resolve.

When I try to build the FrothMac target (in Deploy configuration) I am getting the following errors:

/Users/chris/frothkit-read-only/froth-sdk-source/corekit/DDXMLElementAdditions.h:9:0 /Users/chris/frothkit-read-only/froth-sdk-source/corekit/DDXMLElementAdditions.h:9: error: cannot find interface declaration for 'DDXMLElement'

/Users/chris/frothkit-read-only/froth-sdk-source/corekit/NSURLConnection+FoundationCompletions.m:31:0 /Users/chris/frothkit-read-only/froth-sdk-source/corekit/NSURLConnection+FoundationCompletions.m:31:41: error: Foundation/NSHTTPURLResponse.h: No such file or directory

/Users/chris/frothkit-read-only/froth-sdk-source/corekit/DDXMLElementAdditions.h:11:0 /Users/chris/frothkit-read-only/froth-sdk-source/corekit/DDXMLElementAdditions.h:11: error: cannot find interface declaration for 'DDXMLElement'

/Users/chris/frothkit-read-only/froth-sdk-source/corekit/NSDateTests.m:12:0 /Users/chris/frothkit-read-only/froth-sdk-source/corekit/NSDateTests.m:12:34: error: Foundation/NSPlatform.h: No such file or directory

I'm sure I'm missing something obvious?

Cheers,

Chris

e: ch...@w3style.co.uk
t (en): http://twitter.com/d11wtq
t (it): http://twitter.com/cosadici



Il giorno 16/apr/2010, alle ore 03.16, Allan ha scritto:

Allan

unread,
Apr 17, 2010, 11:29:14 PM4/17/10
to FrothKit
Chris,

DDXMLElementAdditions/NSURLConnection+FoundationCompletions/etc are
for none mac targets. Looks like their being included with the mac
target for some reason. I'll have a peek and let you know should be
done, once I figure it out.

-Allan

On Apr 17, 7:44 am, Chris Corbyn <ch...@w3style.co.uk> wrote:
> Hi Allan,
>
> I attempted to get up and running (on my Mac) today but without any success due to dependencies I'm unsure how to resolve.
>
> When I try to build the FrothMac target (in Deploy configuration) I am getting the following errors:
>
> /Users/chris/frothkit-read-only/froth-sdk-source/corekit/DDXMLElementAdditi ons.h:9:0 /Users/chris/frothkit-read-only/froth-sdk-source/corekit/DDXMLElementAdditi ons.h:9: error: cannot find interface declaration for 'DDXMLElement'
>
> /Users/chris/frothkit-read-only/froth-sdk-source/corekit/NSURLConnection+Fo undationCompletions.m:31:0 /Users/chris/frothkit-read-only/froth-sdk-source/corekit/NSURLConnection+Fo undationCompletions.m:31:41: error: Foundation/NSHTTPURLResponse.h: No such file or directory
>
> /Users/chris/frothkit-read-only/froth-sdk-source/corekit/DDXMLElementAdditi ons.h:11:0 /Users/chris/frothkit-read-only/froth-sdk-source/corekit/DDXMLElementAdditi ons.h:11: error: cannot find interface declaration for 'DDXMLElement'
>
> /Users/chris/frothkit-read-only/froth-sdk-source/corekit/NSDateTests.m:12:0 /Users/chris/frothkit-read-only/froth-sdk-source/corekit/NSDateTests.m:12:3 4: error: Foundation/NSPlatform.h: No such file or directory
> > wgethttp://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.3...
> > tar zxvfhttp://launchpad.net/libmemcached/1.0/0.39/+download/libmemcached-0.3...
Reply all
Reply to author
Forward
0 new messages