$Id: gandi.txt 1869 2008-06-01 19:29:34Z mjs $ Steps to follow to get beebo.org running on [gandi](http://gandi.net/) (Ubuntu 7.10): 1. Give sudo access to your username: $ su $ echo "mjs ALL=(ALL) ALL" >> /etc/sudoers 1. Change the hostname to whatever the "real" hostname by setting the contents of: /etc/hostname to mel.beebo.org This will change the hostname on reboot; to change the hostname right now, do: $ sudo hostname mel.beebo.org 1. Build the locate database: $ sudo /usr/bin/updatedb 1. Install some packages: apt-file apt-show-versions wget jed subversion apache2 make gcc libc6-dev monit (Incomplete list; use the pkglist.) 1. Set the time/timezone: $ sudo dpkg-reconfigure tzdata 1. Add some modules to the Apache configuration: $ cd /etc/apache2/mods-enabled $ sudo ln -s ../mods-available/rewrite.load $ sudo ln -s ../mods-available/headers.load $ sudo ln -s ../mods-available/actions.conf $ sudo ln -s ../mods-available/actions.load 1. Add yourself to "adm" group: $ sudo usermod -aG adm,www-data mjs (Gives access to Apache log files, and files created by the Apache process, among other things.) 1. Make `/var/log/apache2` world-readable: $ sudo chmod 755 /usr/log/apache2 1. Disable the default site: $ sudo a2dissite 000-default (Or unlink from `/etc/apache2/sites-enabled`.) 1. Enable virtual hosts by creating a file /etc/apache2/sites-available/000-init with the contents: # Enable virtual hosts. NameVirtualHost * # To eliminate the "apache2: Could not reliably determine the server's # fully qualified domain name" error. ServerName beebo.org # Create a stub server to handle server-status. ServerName localhost ServerAlias 127.0.0.1 Then, enable this "site": $ sudo a2ensite 000-init 1. Disable the `cgid` module: $ sudo a2dismod cgid 1. Restart Apache: $ sudo /etc/init.d/apache2 reload 1. If Ubuntu's version of monit is less than 4.10.1, [download monit](http://www.tildeslash.com/monit/download/), and configure, compile and install. (Do this even though you've installed the Ubuntu monit package--Ubuntu's monit can't do authenticated smtp.) Then, edit /etc/init.d/monit and make the following changes: 1. Change the line that reads DAEMON=/usr/sbin/monit to DAEMON=/usr/local/bin/monit (This gets Ubuntu's monit scripts to use the monit 4.10.1 you've just installed by hand.) 2. In the function `monit_check_syntax()`, change the line that reads $DAEMON -t to $DAEMON $ARGS -t; (This allows `/etc/init.d/monit command` syntax to work.) [More info](http://johnmuhl.com/notebook/server#monit) 1. Movable Type: in general, the thing to make sure of is that it can write to everything: to the /db directory, to /mt (so it can update its config file), to /blog (so it can write out the flat files), to /mt-static/support (themes go here). 1. Uncommented `skip-innodb` from `/etc/mysql/my.cnf`. (Supposedly saves 100Mb if not using InnoDB tables.) 1. Modifications to `/etc/apache2/httpd.conf`.