Installing Berylium
by Chris Snyder <csnyder@chxo.com>

The Berylium codebase is meant to be installed once in 
/usr/local and shared by virtual servers on the same 
machine. It has yet to be scaled to a cluster of servers, 
but there's no reason it couldn't with some minor 
modification.

As of this writing, Berylium will not work on Win32. If you 
are interested in porting it, I'll be happy to help, but it 
relies pretty heavily on some Unix-only PHP features. You'd 
be better off finding an old Pentium-II and installing 
FreeBSD, it's fun to have a dedicated server. (My Celeron 
400 works fine.)

You probably need to be root to install Berylium. If not 
root, then you should belong to the same group as the 
webserver, and you will need to have root patch httpd.conf 
for you.


Step-By-Step

   1. Check requirements
          * working Apache/PHP server with mod_rewrite
            (mod_ssl recommended, too)
          * working MySQL server
          * working ftp server (ProFTPd is recommended)
          * working aspell at /usr/local/bin/aspell
          * working ImageMagick at /usr/local/bin/convert

   2. Download the latest source tarball to /tmp

cd /tmp
wget http://berylium.org/source/be2-2003-08-05.tar.gz

   3. Unpack the source in /usr/local

cd /usr/local
tar xzvf /tmp/be2-2003-08-05.tar.gz
cd berylium2/

   4. Create MySQL database and users
          * replace <administrative passphrase> below with 
             the passphrase you will use to access and modify the
             database as an administrator
             Note that you could skip this line and just
             use MySQL root as the administrative user...
          * replace <webserver passphrase> below with the 
             passphrase that the webserver will use to access the
             database in day-to-day operation

mysql -u root -p
CREATE DATABASE beryliumdb;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX,
ALTER ON beryliumdb.* TO berylium@localhost IDENTIFIED BY
'<administrative passphrase>' ;
GRANT SELECT, INSERT, UPDATE ON beryliumdb.* TO 
beryliumweb@localhost IDENTIFIED BY '<webserver passphrase>' 
;
FLUSH PRIVILEGES;
exit;

   5. Prepare and run install.php
          * asks for configuration values
          * creates configuration files
          * configures cron scripts
          * creates files/ and cache/ trees
          * sets ownership and permissions
          * builds database structure
          * generates Apache directives

chmod 700 install.php
./install.php

	If you don't have readline support enabled in PHP, you
	will need to edit code/berylium.conf.dist and run install.php as:
		./install.php <dbadmin username> <dbadmin password>

   6. Add Apache directives to httpd.conf, then restart 
       Apache

cat apache.txt >> /usr/local/apache/conf/httpd.conf
apachectl restart

   7. Look at code/berylium.conf and edit if necessary
   8. Check for working server: http://yoursite/be2
   9. Run addsite.php to initialize your site
  10. Go play with it.