Production Setup: Webserver

From Dreamwidth Notes
Revision as of 05:25, 1 February 2009 by Xb95 (Talk | contribs)

Jump to: navigation, search

Webservers are the basic building block of the site. They run most of the interactions of the site and are the majority of the servers that we have.

Emphasis on CPU and RAM. We don't need disk.

Setup

Current production setup steps:

  • Get slice for new webserver
  • SSH in as root with given password, change root's password.

Setup DW account.

adduser dw
echo "dw ALL=NOPASSWD: ALL" >> /etc/sudoers

Install base packages, still as root, and do a system update. This will take a little bit to run, so get some coffee real fast.

apt-get update
apt-get install vim-perl screen mercurial subversion dh-make-perl
apt-get dist-upgrade

Now let's get the DW user setup.

su - dw
echo -e "\nsource ~/.dwrc" >> .bashrc
echo -e 'export LJHOME="/home/dw/current"' > ~/.dwrc
exit

Now we log back into the DW user to continue (this sets up $LJHOME).

su - dw
mkdir production
ln -s production/ current
cd $LJHOME
wget http://hg.dwscoalition.org/dw-free/raw-file/tip/bin/bootstrap.pl
perl bootstrap.pl

This will also run for a while. It should say something about starting at the beginning, and then go bouncing along its merry way as it starts checking things out. Good times will be had by all.

Fix the hg repository, need to figure out why this is necessary.

cd cvs/dw-free
hg update -C tip
cd ..
hg clone http://hg.dwscoalition.org/dw-nonfree dw-nonfree
cp dw-nonfree/cvs/multicvs-local.conf .
hg clone http://hg.dwscoalition.org/dw-private dw-private
cd $LJHOME
bin/cvsreport.pl -s
bin/cvsreport.pl -s

Now let's get a list of modules to install, or try:

for i in `bin/checkconfig.pl --only=modules --needed-debs`; \
  do sudo apt-get -qq install $i; \
done

Now let's see what modules didn't get installed for some reason:

bin/checkconfig.pl --only=modules --needed-debs

If there are any, those need to be installed manually.

brb dinner