Questions / corrections on step-by-step guide to setting up project mercury

kyle_mathews's picture

I'm setting up a Project Mercury style server on Linode and have run into a few problems / possible inaccuracies. I made one correction to the wiki but then decided it'd be better to list my changes here for vetting before moving them into the wiki. I'm using an Ubuntu 9.10 server.

  1. Installing basic packages failed because apt-get couldn't find libapache2-mod-rpaf. I added the University repositories to fix that. I added a another step in the basic startup to uncomment the universe repositories.

  2. In step 9, drush solr phpclient doesn't work until I installed the pressflow site. Also, the apachesolr suggests we checkout r22 now of the phpclient not r6 (see http://drupalcode.org/viewvc/drupal/contributions/modules/apachesolr/REA...)

  3. "Change the permission of settings.php to protect it (chmod 755 /var/www/sites/default)" should be chmod -R 755 /var/www/sites/default

Overall very good instructions. I've got everything setup in a pleasant 2 hours of work. Thanks for everyone who's helped distill years of experience/wisdom in this project.

Comments

What size Linode did you go

What size Linode did you go with? Which kernel, 64-bit or 32-bit? How is memory use?

I'd be interested to hear more about the resource usage.

Just the 360 for now. I'll be

kyle_mathews's picture

Just the 360 for now. I'll be running a multi-site installation. I'll be evaluating mem use and upping it as the # of sites/users increases. Right now with just the basic pressflow site and apachesolr installed, the server is using 102MBs out of 348 available. On the kernal -- I'm using the 32-bit.

Kyle Mathews

Kyle, Thanks! You've inspired

steveadamo's picture

Kyle,

Thanks! You've inspired me to slash/burn/rebuild my Linode (I'm very new to the Linux world, but have grown to love the command prompt :p ).

Could I ask you for some details on how you setup your Linode? I did a quick search for the step-by-step guide you mention, but came up short. Were you talking about this page?

http://www.chapterthree.com/blog/josh_koenig/project_mercury_preconfigur...

Any pointers would be most apprecaited. I've made good progress on my own (my Linode 360 is setup, ive hardened security, installed memcache, APC, etc.), but the site just boggs down too quickly (and im the only user on the site!).

Thanks!
Steve

Probably

Yeah -- that's the right

kyle_mathews's picture

Yeah -- that's the right link. Also, slicehost has some awesome articles on setting up linux servers right:
http://articles.slicehost.com/ubuntu-hardy

Kyle Mathews

thanks guys... as im still

steveadamo's picture

thanks guys... as im still awfully new to the linux world, i think ill be coming back to get some clarification on a few of the steps...

while the tutorial is very comprehensive, there are some places where im sure what is very common knowledge to some folks, is an unknown to others...

like, for example, step 1-b... :p

"Add the bzr/bzrtools ppa"

not entirely sure how to do this one, and the launchpad reference is even more intimidating... ;)

You might want to try then

kyle_mathews's picture

You might want to try then just using the Amazon AMI image -- it's pre-built and would work very well for you.

Kyle Mathews

At the launchpad link there

At the launchpad link there are instructions for the different Ubuntu versions. Expand by clicking on "Technical details about this PPA" and choose which version of Ubuntu you are running. There is a popup with more detailed instructions by then clicking "Read about installing".

Sorry I'm not able to make the wiki clearer, but the Ubuntu/Launchpad PPA site is more detailed and will stay up to date too.

@kyle - i had given that some

steveadamo's picture

@kyle - i had given that some thought... its quite a bit more expensive to run on Amazon (as compared to Linode - approx $60 per month, vs. $20), but i might just try it purely for testing purposes... unless im misunderstanding the concept, and using the image wouldnt require Amazon EC2?

edit: just noticed this on the pantheon site:

Can I run Pantheon on Cloud Hosts other than Amazon EC2?
You can use CloudKick’s CloudShift service to port any EC 2 AMI to other Xen-based hosting services such as RackSpace’s SliceHost.

@joe - thanks, i did see the expanded text, and snippets... i was just unclear if those two lines were -all- that was required for that particular step...

I've read about the

kyle_mathews's picture

I've read about the Cloudshift thing but haven't seen any evidence it exists yet on Cloudkick's website or elsewhere. Does anyone know how to access it or use it?

Kyle Mathews

So the real question is...

steveadamo's picture

... how is your Drupal site performing? :)

secondarily, were there any other 9.10 specific steps you have to take? perhaps i should just stick to 9.04 for simplicity...

I have just set this up on a 9.10 Linode

iaminawe's picture

Thanks for the clarifications above, stoked to have Mercury/Varnish/APC etc running on a Linode.

I also want to clarify a change that is made in these instructions http://groups.drupal.org/node/25425 that I think is only relevant to EC2

This should not be changed as there is no EBS
JVM_TMP=/tmp/tomcat6-temp to JVM_TMP=/mnt/tomcat6-temp in /etc/default/tomcat6

Also one last point, I found that art first my installation could not see Apache Solr
making sure in the Apache Solr configuration within Drupal that the path was set to solr and not solr/
fixed the issue for me and so far working great

Looking forward to getting a heavy setup with this installation to see how it handles

Thanks to all for Step by Step directions and added solutions

Questions

iaminawe's picture

Hi,

I wanted to ask a few questions relating to this setup.

1.) I installed pressflow from its profile and then using backup migrate I restored my sites aquia based drupal install. Are there any new options in Pressflow that are stored in the database that may not upgrade this way?

2.) The step by step instructions mention to use Cache: External in the Performances settings. I do not have a cache external option under performances.
I have added the extra code to the settings.php file as the steps require.

3.) I should mention I am using a hybrid setup with symlinks that point to all pressflows top level files and folders except for the modules folder, which is referencing acquias default module directory. This means that I am not loading Pressflows default modules folder, would this affect how pressflow runs.

Thanks for any answers or pointers
Gregg

Also...

iaminawe's picture

Will using the boost module and installing eAccelerator still provide performance enhancements on top of a mercury stack?

The "Cache: External" option

The "Cache: External" option was added to Pressflow less than two months ago, so you might have an older version. Check that you have the latest version: 6.15.66 (https://launchpad.net/pressflow).

Mercury uses APC for its opcode cache. eAccelerator would serve the same function, so you don't want both.

The full Mercury install uses Varnish to serve cached pages to anonymous users. Boost serves the same function, though in a different way. You probably don't want both Varnish and Boost active at the same time.

Thanks for the clarification

iaminawe's picture

I found out why the External:Cache was hidden. I discovered it had to do with the fact that I was symlinking the modules folder to the vendor/acquia/modules folder and so was missing out on any customised core modules packaged with Pressflow. I fixed my symlinks and now I see the External Cache option... going to test it out now.

anyone give a nice reminder

joetsuihk's picture

anyone give a nice reminder on (maybe to joshk):
1. note on http://groups.drupal.org/node/25425 "only works with EC2"
2. add pages/links to linode/VPS forks of the page?

p.s. as that is a wiki page, anyone can edit it?

No -- the setup instructions

kyle_mathews's picture

No -- the setup instructions "only work on Ubuntu (and perhaps Debian)".

The instructions are distro specific not hosting specific. I setup my server on Linode exactly the same as Josh and others have been setting up mercury on EC2. We're focusing on EC2 at the moment because Amazon makes it very easy to share server setups with others through their AMIs (Amazon Machine Images).

Kyle Mathews

There are hosting specific steps.

"Since root storage on AMIs are limited, we recommend using the /mnt directory for storage of Mysql files and the Varnish cache. We will soon have optional instructions for using Amazon's Elastic Block Storage (EBS) for storage."

On Linode you get two partitions out of the box, setting up. Your normal disk, and a swap disk.
using /mnt/ will not work, and therefor the startup script at the bottom, won't work either.

So you will have to eeither add a new virtualdisk
http://www.wandin.net/dotclear/index.php?post/2009/01/09/Custom-Partitio...

OR use your primary disk and change /mnt to /tmp for example in those steps where it is needed.

High performance

Group events

Add to calendar

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week