Django mod_wsgi now available!

August 21st, 2009

django-logo-negative-200

Apache Redux

In keeping with the new, recommended Django deployment method of mod_wsgi with Apache , we have migrated our internal processes as well as deployed multiple  new systems this way – and from this point forward, this is how Django (current, 1.1+) will be deployed by default.

We also still fully support the mod_python deployment method, and will be happy to work with you to set up your custom environment, whatever it may be.

Please note that nginx, Lighttpd, and of course Apache with mod_python are also all still available on request.

Just put your request in the “Notes” field when you place your order and we’ll get it done for you.

j

phusion-passenger-collage

Motivation

So, after numerous issues with Mongrel and Mongrel Cluster, as reported in our last Rails-related post, and after following all the buzz, we decided to give Phusion Passenger a try – we were not disappointed!

Don’t get us wrong, we still prefer Mongrel as our development server, and there are instances where Mongrel Cluster makes lots of sense (load balancing, for example), but we wanted to explore the reputed simplicity of Passenger –

..And we wanted to multiplex multiple websites onto one Apache instance, simply and easily!

Simplicity

So, we followed the gem-basedinstallation  instructions here: http://www.modrails.com/install.html

After installation with Gem, the nicely-written text mode installer guided us through the install process for the ‘dev’ packages, and then compiled itself from source – Very nice! A polished touch!

Done!

So after one global include in /etc/apache2/conf.d/passenger:

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4
PassengerRuby /usr/bin/ruby1.8

We were able to use multiple files in ‘sites-available’ of the format:

<VirtualHost *:80>
    ServerName www.yourhost.com
    DocumentRoot /somewhere/public
    #                       ^-- be sure to point to 'public' within your rails app!
</VirtualHost>

To easily achieve multiple rails apps, with disparate domains, served by the single instance, reasonably painlessly – Note that you do have to have the domains point to the correct IP address, of course 🙂

The Verdict

Our verdict: All in all pretty painless and professional – and the benchmarks seem to support great performance –

So, if you want us to install Passenger for you, just indicate this in the “Notes” field when you place your order, and we’ll get it done for you.

We will likely soon make it the default, if no objections are heard from you, our customers, in the near future.

Notes

Please note that we can do this on top of either Turnkey rails, or our regular Rails instance.

Rails 2.3.3 now available

Please note that Rails 2.3.3 is also now available from the dropdowns when you place your order!

Nginx

nginx_passenger_eyecatcherNote also that Phusion Passenger also offers an Nginx version – we will be happy to install the highly acclaimed Nginx web server, along with the corresponding version of Phusion Passenger, via custom quote – Please contact us today regarding getting this set up for you!

j

rails-turnkey

Ruby on Rails 2.3.2

We are pleased to announce the availability of the Ruby on Rails 2.3 stack (currently 2.3.2, as of this writing).

We have opted to try out the excellent (Ubuntu-based) Turnkey Linux software appliance for Rails 2.3, rather than using our own installation and provisioning scripts, and so far we have had excellent results.

(We have also had good results with the Turnkey Drupal appliance as well).

Things we liked about the Turnkey appliance:

  • Preconfigured SSL / SSH support – all keys & certs  generated during installation, set up w/Apache
  • Security-related updates applied daily
  • Webmin preinstalled and precofigured for Apache, MySql, etc
  • RubyGems package manager installed the way we recommend – with Ruby managed by apt, but Gems installed from source.
  • Just as we say: “Use gem for managing Rails gems, and apt for everything else.”

Things we had trouble with or had to fix:

  • The 3-node mongrel cluster was cumbersome to administer, and difficult to modify for new rails apps from the “Example” rails app preinstalled by Turnkey.  Either No example app, or a more flexible way to add new apps would have been better.
  • No option for, or mention of Phusion Passenger.
  • SQLite and git were not installed
  • Our regular VMs do a reconfigure tzdata on first startup, so you don’t forget to set your timsezone correctly

Additional notes and packages we installed:

  • mc – Midnight Commander – tried-n-true text mode dual-pane file manager
  • file – Without this, obscure dependencies remain unmet for builds, etc
  • sqlite3, libsqlite3-ruby – should be installed, even if MySql is the default db (Postgres might be nice too)
  • git-core should be installed, given the percentage if Rails plugins that use it, plus gems can install from git, but only if it’s installed!
  • lynx, other viewers for mc – important for reading docs in console
/etc/init.d/mongrel_cluster stop

didn’t work, and had to manually stop the clusters on ports 8000, 8001, & 8002

Had to manually do things like:

mkdir -p tmp/pids

and

chown -R www-data:www-data *

on certain directories, etc, to make certain core components work, that shouldn’t have been necessary.

Anyway, these considerations are relatively minor, and are all addressed now, and working well – just select “Rails 2.3”  from the dropdown when you place your order –

Plus, look for a future update where we integrate Phusion Passeneger with your VM – Let us know what you prefer, please enter which deployment option you prefer for Rails in the comments on this post, and why –

  • Mongrel, Mongrel cluster
  • Phusion Passenger/mod_rails
  • mod_wsgi
  • Apache
  • nginx
  • Lighttpd
  • etc

…and we’ll listen!

j

sugarcrm_logoGet Sugared

We are pleased to announce the latest SugarCRM is now available for hosting in your own private vMachine (VPS), or we can manage it for you (managed services), here at LibreHosting.

As such, you can of course have an unlimited number of users, with no per-user fees.

It looks good!

Here is a screenshot of the front page, with various dashboard-style widgets (Sugar calls them “Dashlets” 🙂 that you can drag around, position how you want, and add and remove – Nice!

screenshot-sugarcrm-mozilla-firefox

The theme shown is “Shred”, which is one of 20+ themes, which are quite nicely done – try it out on our SugarCRM Sandbox!

Remember, if you’re an Open Source project owner, and you’d like to have live demo (aka sandbox) services for your project, we can provide them – and it’s free for Open Source!

More Themes

Other SugarCRM themes, shown below, are “Final Frontier” (Astronomy theme), “Links” (a Golf theme), and my favorite, “Golden Gate (foggy SF theme :).

Final Frontier

Final Frontier

Links

Links

Golden Gate

Golden Gate

Usability, Overall Impression

Sugar makes a distinction between “Employees” and “Users”, which can be disconcerting at first, until you get used to it – it’s done so that Employees don’t have to have a Sugar login; but in practice it makes adding new users a lot more clicky then it otherwise would need to be..

Overall, though, it’s extremely polished and professional – and at least as capable as the Siebel implementations I’ve seen in the early 2000’s..

More comments as we use it further.

j

WordPress & mu now available

April 30th, 2009

wordpress_buttonWe are pleased to announce that WordPress 2.7.1 as well as WordPress_mu are now available for hosting, to the general public.

Although we have hosted dozens of WP blogs for various clients and customers in the past, this is the first time that accelerated deployment on a custom and individual basis is available through our builds system.

We can host:

  1. An individual root-access vMachine for you with WPMU and unlimited* blogs and subdomains, which will have a single unified Admin interface (and database) for all blogs.
  2. An individual root-access vMachine for you with the latest WordPress and Debian’s one-copy-multiple-instances configuration, with easy admin for all your blogs, and individual admin interfaces (and databases) for each Blog. Again, blogs are unlimited*
  3. A shared-hosting WordPress blog, on our main WP vMachine, always maintained to the latest WP version.

The first two options are available under our regular vMachine root-access hosting plans, and the third is $100/year with one domain name included. Contact us today for more information.

All our WP instances come with:

We also have used and installed various other plugins on request, including WP-Forum, WP-Polls, and WP-eCommerce. (We also wrote the TrustCommerce payment gateway for WP-eCommerce in PHP).

As always, if you’d like a theme or plugin installed with your order, just place the name and link to it in the “notes” field when you place your order, and we’ll get it done for you.

j

*The number of blogs is unlimited, just be mindful of your bandwidth allocation chosen with your plan

We’re Jaunty!

April 16th, 2009


Ubuntu Jaunty Jackalope is now available for ordering through our eCommerce engine.

UPDATED: Released version now installed.
And it looks great!

Note that as is our usual policy, we had been installing the beta / RC for a couple of weeks prior to the formal launch / release – this is our usual policy.

And remember you can always ask for an earlier beta or alpha to install on request, as well.

Next up for our techs: Rails 2.3!


…We jumped the gun – The prerelease of Ubuntu 9.04 is now available for installation –

We’ll set it up for you with the beta, now, and simply upgrade it when it’s released –

j

Pinax Instance Now Available

March 31st, 2009

pinax_logoLibre hosters,

We are proud to announce that the Django-based social-network-enabling Pinax project, is now one of our standard instances, and can be hosted here at Libre hosting, with the usual full root access.

Pinax version (as of this writing), is v0.7.0dev, and is installed with svn to be updatable with svn up, as always (and as our Django instances are, by default). Other versions available on request.

All plugins are preinstalled, and enabled, along with the usual list of example Pinax projects:

drwxr-xr-x  7 root root 4096 2009-03-29 05:18 basic_project
drwxr-xr-x 10 root root 4096 2009-03-30 15:38 complete_project
drwxr-xr-x  7 root root 4096 2009-03-29 05:18 intranet_project
drwxr-xr-x  7 root root 4096 2009-03-29 05:18 private_beta_project
drwxr-xr-x  7 root root 4096 2009-03-29 05:18 temp_content_project
drwxr-xr-x  7 root root 4096 2009-03-29 05:18 temp_group_project
drwxr-xr-x  8 root root 4096 2009-03-29 05:18 temp_schedule_project

Apache with mod_python is the default webserver installed, but we will be happy to install Lighttpd on request (or nginx by prearrangement – contact us for details) with mod_wsgi instead.

Our default Pinax installation includes Django svn trunk (~1.1 as of this writing) with all plugins preinstalled by the Pinax installation scripts. We do not install into a Python virtualenv, because this is intended to be a dedicated Pinax / Django installation.  We can make changes accordingly as desired, upon your request.

Pinax really turbocharges the Django framework, and includes (at least) these pluggables:

Here are a few example Pinax sites to show a portion of what it can do:

Let us know what you think,
j

zimbra_logoThe Announcement

We are happy to announce that the Zimbra Collaboration Suite v5.0.12 OSE (Open Source Edition) is now available for hosting.

Our qualified & certified vMachine is built with Ubuntu 8.04 LTS (Long Term Support), and this is the configuration we recommend. We can also build it with other available, Zimbra-supported OSes, contact us for your individual needs.

It Looks Good

Zimbra has really matured in this version  – in addition to a polished, good-looking, intuitive interface, it features:

  • Fully ajax webmail, snappy key responses
  • Full IMAP and POP3 support, forwarding, aliases, vacation messages, client-style filtering & foldering, etc
  • Excellent Spam filtering in this version (Much improved over previous versions)
  • Full Outlook-style calendaring and notes / integrated PIM capability
  • Integrated web-based documents – like GoogleDocs, but you control privacy / permisions (and no ads!)
  • “Briefcase”-style file reconciliation and repository
  • Zimlet extension framework, Optional Zimbra Desktop
  • Fully themable – The “Lemongrass” theme is pictured here:
Zimbra 5.0.12 Screenshot

Zimbra 5.0.12 Screenshot

How We Did It

There were several Zimbra prerequisistes, in addition to our basic suite of vMachine standard packages, here is our basic Zimbra install:

# dont forget to set the locale and the timezome before doing apt-get
apt-get update
apt-get install perl libidn11 fetchmail libpcre3 libgmp3c2 libexpat1 libxml2 libstdc++5 openssl libltdl3 libmagic1 cron file

# zcs 5.012 ubu 804 lts 32-bit, extracted directly:
wget -O – http://h.yimg.com/lo/downloads/5.0.12_GA/zcs-5.0.12_GA_2789.UBUNTU8.20090126112326.tgz | tar zx

Then CD  into the directory and run the installer.

Note that some of the required programs and dependencies were not listed, and after a couple of false starts, we found some help here:

http://www.zimbra.com/forums/installation/8626-server-status-data-not-available.html

So we overcame these and other minor issues, and now:

It’s Certified, Getting Formal

We have Certified the combination as

  • Fully bootable on a wide variety of VM and hardware platforms
  • Expandable via added HDs
  • VM-friendly, including JeOS modules and virtio
  • Remote-Desktop / xrdp / VNC-friendly
  • Web-Administrable
  • Puppet-ready
  • Self-signed certificate
  • Script-deploy rating: 7 out of 10

Note that in the future, we are considering what categories we should use as categories for a formal Libre Certification program.  We welcome your thoughts and comments, please post them as comments to this post.

Example ideas:

  • Bootable system-image DVD Backups available?
  • Administrable via various vm-admin tools, OpenQRM? VirtualMin, etc?
  • Usage / Bandwidth stats, RRDTool?
  • NX/NoMachine-ready? Citrix?

We will be launching the “Libre-Certified” program as we finalize these and other details.  The program will also be available to 3rd parties (Both system and hosting providers), and add value to the community, and to FLOSS “Best-practices” configurations.

All Versions Available

This featured vMachine in this announcement is the Zimbra ZCS OSE (Open Source Edition) – because we believe in FLOSSing regularly (FLOSS: Free/Libre Open Source Software, although proper  dental maintenance practices are also of course important!).

For those who require the features found in the ZCS paid/Network Editions, (Exchange-interoperability, etc), we are an authorized Zimbra partner, and we are happy to host the Zimbra paid versions as well.

Contact us for details and how to get started.

We are pleased to announce that we now have three Django versions available for hosting in any of our plans –

Notes:

  1. Although 1.1 is not yet officially released, trunk is always pretty stable – as projects go, the Django team can be relied upon to keep the trunk tree extremely reliable – we run trunk in production, for example.  For new projects, we recommend this option.
  2. Legacy 0.96.3 is the last release before the 1.0 release which broke backward compatibility – it includes the older admin interface (with nested Admin classes), and the older Signals implementation – which provide a migration hurdle for many production environments – we have several customers and friends still running 0.96.3 until they address these migration issues.  We can also help with this, if you need us.
  3. The official released version, 1.02, is stable, and well-tested.  We recommend this option for those conservative production environments that have full-blown separated test/staging and developent envoironments as well.

As always, if you need a specific legacy version (or a specific trunk svn release for that matter, or release-by-date) we will be happy to install it from svn on request, just plce your request in the “notes” field when you place your order.

We will also happily install any Django packages you desire, as well, on request – try the lists at Django Pluggables and Django Search. Google Code also has a good number of Django-related projects hosted there.

And remember, if you need design, development, or site setup assistance, we are always here to help.

j

blueprints

The Goal

We are redoing the eRacks website (our partner and suppliers of rackmount servers)  in Django, and revamping it with best-practices code and frameworks throughout – so here is the benefit of our reviews and choices for our CSS framework.

CSS frameworks are a relatively new thing in the last couple of  years, largely borne out of a need to standardize what is largely a mess or patchwork (or lack) of standards, and minor implementation differences.  Note that these are largely caused by IE (Internet Explorer) and the “embrace and extend” mentality of Microsoft, which intentionally introduces minor incompatibilities which are in their interest to do, as long as they have the major market share.

All the frameworks seem to share in common Reset CSS as a starting point – the idea being to reset all the different browsers’ handling of default styles to a minimal baseline, and then build something consistent on top of that.

Seems pretty clean, although debugging in Firebug is slightly more difficult, as all the basic styles list all the tags, so you have to scroll through all the noise to find your actual changes  / styles.

Most or all the candidates add a “grid” of standardized column widths and typography heights to the minimalist reset CSS, and strive (mostly successfully) to greatly simplify the HTML/CSS development cycle by providing some easily followed guidelines for standard practices such as columns, headers, margins separation, font sizes, and so forth – taking the “CSS Box Model” well beyond the do-it-yourself mess of quirks that it is now.

They also all attempt to hide or eliminate (or have already dealt with) the many cross-browser quirks and issues, making your design instantly supported on most or all of the available browsers out there.

When followed, they minimize or eliminate the “Butterfly problem” – where small changes can have vast consequences – the storied example being, a butterfly flying on one side of the earth can cause vast disruption and unrest at the antipodean point 12,000 miles away :).  In other words, it eliminates the frustration and irritation of changing one little thing in CSS, and having it break your page layout completely – or even worse, it appears to fixit on the browser you’re using, but displays completely wrong on IE or some other browser-du-jour.

The Background

From Wikipedia, here is an excellent and comprehensive List of CSS frameworks.

The Players

The ones we looked at, are:

  • Blueprint CSS – This is the most established and well-known, with enough of a following that there are many third-party howto’s and plugins available, as well as integration with other frameworks, sprites, and so forth.
  • Boilerplate – This one is more minimalist, with more semantically meaningful class names than “span-4”, etc – although surprisingly, even though it claims to be more minimalist, it offers no compressed or one-file version to minimize downlaods, thus making the download footprint larger. Althgough it looked promising, it’;s also over a year old, and doesn’t show any recent activity.  “Needs documentation” is one of the 4 or 5 issues in Google Code.
  • 960 Grid System – This is one of the newer frameworks, and has gotten good reviews and critical acclaim, and uses a slightly different grid scheme with wider column spacing (10px on both the left and the right) and easier divisibility by more & different numbers (the number 960 has a lot of factors).  It also has nicer typography and a well-thought-out font list for graceful degradation on Linux OSes and with other browsers.
  • Bluetrip – This combines the Blueprint base framework with the more typography-oriented Tripoli framework – an takes the typography elemn
  • Elements – A project-wide framework and directory structure, for more than CSS. Includes a CSS lightbox.
  • Typogridphy – A Typographical and Grid Layout CSS Framework From Harry Roberts of CSS Wizardry
  • Fluid 960 Grid System – This is a really impressive one – and would be great for a fluid site, with colum and spacer/site margin widths based on percentages, that works – and without using tables. We’ll be taking a closer look at this one on the next fluid site we do.

The First try

So, since we liked the Linux and typography support of 960gs, along with its elegant simplicity, we started with 960gs.

A while after we got it set up, got the pages displaying, and we noticed:

  • It had three files, and although there were compressed versions in the standard distribution tree, still this would require three connections from the server at load time.
  • Despite having the CSS images for the grid in the distribution, there was no obvious way to highlight the grid with a class.
  • eRacks had a 160-pixel left column, and a 132-pixel right column – which did not fit neatly into either the 12-column nor the 16-column grid.
  • There were some nifty plugins, addons, and jQuery integration for Blueprint – and a huge community following.  So….

The Decision

We decided to give Blueprint a try – we also noticed that nonstandard grid sizes and columns were supported by multiple tools and generators – so we surfed over to the Blueprint Grid CSS Generator and generated our 28-column grid, which nicely accomodated the left and right columns, at almost their original widths, with a 970px total width.

We also kept the 960.gs Linux-friendly font list, for smooth and nice typography on all platforms – it was a one-line override in our list of site-specific CSS, which is so small (about 20 lines) we keep it in the header of the page itself.

The Result

So we have a great-looking, prototype site up and running, and we are working on the rest of the port to Django:

eracks.librehost.com

Please note that THIS IS A WORK IN PROGRESS, and may not be available, or may not look right, at the particular time you view it!

The plugins

Useful plugins that we are also considering, are here:

  • Tabs – integrates jQuery with the Blueprint classes, to do some nicely polished-looking Tabs
  • Liquid Blueprint – Makes the Blueprint Grid liquid (fluid)
  • SilkSprite – Integrates the Silk Icons set as sprites

The Feedback

Oh, and one more thing –

We welcome and encourage your feedback and opinions on either the new eracks site, or on the above review of CSS Frameworks and our decision.

j