$Id: gandi.txt 1869 2008-06-01 19:29:34Z mjs $

Steps to follow to get beebo.org running on gandi (Ubuntu 7.10):

  1. Give sudo access to your username:

    $ su
    $ echo "mjs ALL=(ALL) ALL" >> /etc/sudoers
    
  2. 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
    
  3. Build the locate database:

    $ sudo /usr/bin/updatedb
    
  4. Install some packages:

    apt-file
    apt-show-versions
    wget
    jed
    subversion
    apache2
    make
    gcc
    libc6-dev
    monit
    

    (Incomplete list; use the pkglist.)

  5. Set the time/timezone:

    $ sudo dpkg-reconfigure tzdata
    
  6. 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
    
  7. 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.)

  8. Make /var/log/apache2 world-readable:

    $ sudo chmod 755 /usr/log/apache2
    
  9. Disable the default site:

    $ sudo a2dissite 000-default
    

    (Or unlink from /etc/apache2/sites-enabled.)

  10. 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.
    
    <VirtualHost *>
    
        ServerName localhost
        ServerAlias 127.0.0.1
    
    </VirtualHost>
    

    Then, enable this "site":

    $ sudo a2ensite 000-init
    
  11. Disable the cgid module:

    $ sudo a2dismod cgid
    
  12. Restart Apache:

    $ sudo /etc/init.d/apache2 reload
    
  13. If Ubuntu's version of monit is less than 4.10.1, download monit, 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

  14. 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).

  15. Uncommented skip-innodb from /etc/mysql/my.cnf. (Supposedly saves 100Mb if not using InnoDB tables.)

  16. Modifications to /etc/apache2/httpd.conf.