Geeklog Documentation



Overview

Installing Geeklog has been made easier and easier every time.  As of 1.3, if you follow this guide you can't go far wrong.  In some cases things might not work, and for these situations we know of, we have some solutions.  But overall things should run smothly.
If you do run into problems, PLEASE read the documentation first.  If these so not help you, then query the mailing list (see Support ).

System Requirements
Geeklog has been designed to use PHP with MySQL.  Whatever webserver you use (Apache, IIS, etc) PHP and MySQL MUST be installed.  We always recommend you use the latest STABLE version of all software.  If the software is Beta, we cannot provide support for this!

Below is a list of official recommended versions of software, and other versions that users have had success with.  We cannot guarentee all envorionments below will work for you, due to the nature of no computer ever being the same.  If you have success with a version of software below, please email me and I'll add it to the list.

Table 1. List of Recommended Software versions
Type of Software
Supported
User Success
Operating Systems
Red Hat 7.1
Windows 2000
Red Hat 6.2 
BSDI 4.0.1 
Debian 2.2 
FreeBSD 4.1 
Mandrake 7.1 
OpenBSD 2.7 
Slackware 7.1 
SuSE 6.4 
Windows 98
Windows ME
Web Servers Apache 1.3.18
IIS 5.0
Apache 1.3.12 
Apache 1.3.9 
Apache 1.3.6 
PWS 5.0
Database
MySQL 3.23.32
MySQL 3.22.32 for Win32

PHP Version
4.0.4
4.0.2
4.0.0
4.0.1
4.0.1pl2
Mail Transport Agents*
Sendmail 8.11.2-14
Postfix Beta 19991231

* Mail Transport Agents are only used in Unix Environments

Download the latest code

As of the writing of these documents, the latest version of Geeklog is Version 1.3.  With this version, there are a lot of new features, and it is recommended you get this version.  The latest versions are avalible here:

The CVS version is always the latest, but only has limited support since work may be in progress on bug fixes or new features.  If you wish to get it, you need CVS (unix) or WinCVS (Windows).

Installation

Unix
The below install procedure is for installing Geeklog under a Unix-based system (Linux, BSD, etc), with Apache as the webserver.  If you run another web server, you need to to look at the documents for how to do certain things in this list.

  1. Unpack Geeklog into the directory that you are going to run it from.

    If you have Shell access to your account, you can do all of the below.  If not, you can skip the first part (chown), but the second part can be done from most FTP clients.  It is recommended you set your directory permissions, as this makes thing much more secure, and some functions of Geeklog require this.   If you cannot do the first part of this, it doesn't matter too much, as it is most likely set up - just remember never give access to Geeklog anyone who your don't fully trust.  The first thing you need to do is set the user and group:

    • chown -R user:group /path/to/geeklog

    Next you need to set your geeklog dir to be readable and executable by all

    • chmod a+rx /path/to/geeklog

    Set permissions on /path/to/geeklog/public_html/backend.

    If rdf_export is enabled, a RDF/RSS formatted XML file is written to backend/geeklog.rdf as the stories get modified. Before this will work, you must make sure that this file has the proper permissions. This means that the owner of the httpd process must be able to write to this file. The raw and be-all way to ensure anyone can write to it:

    • chmod -R 777 /path/to/geeklog/public_html/backend

    Set permissions on /path/to/geeklog/logs. The raw and be-all way to ensure anyone can write to it:

    • chmod -R 777 /path/to/geeklog/logs

  2. Next you need to install your MySQL database.  There are 2 ways of doing this. These are explained below.

    The first (and easiest) way is to download phpMyAdmin.  This allows you to use a Graphical User Interface to run the SQL scripts.  You will NEED to do the setup this way if you do not have Shell access to your MySQL database, and some companies already have this set up for you to use.  Consult your hosting provider to ask about this.

    After you have installed phpMyAdmin, create a database called 'geeklog'.  Next, find the section for running SQL commands, and look for the 'browse' box.  Click this, and locate the 'table.sql' file, and then click 'Go'.  Do the same for 'data.sql'

    Your database is now set up.

    If you have shell access, you may wish to set up your database via command line.  If so, then follow the instructions below.  The assume you have some MySQL knowledge.

    First create your 'geeklog' database

    /path/to/mysql/mysqladmin -u USERNAME -p PASSWORD create geeklog

    Next, create a geeklog user.  You can also set permissions manually or not at all.  But for security's sake set your permissions! Next you need to import 'table.sql', then 'data.sql'

    /path/to/mysql/mysql -u USERNAME -p PASSWORD geeklog < /path/to/geeklog/sql/table.sql
    /path/to/mysql/mysql -u USERNAME -p PASSWORD geeklog < /path/to/geeklog/sql/dump.sql

  3. Next you need to configure your site via the 'config.php' file .  See the Configuration Document on how to do this.
  4. Next, edit 'common.php' to point to the location of 'config.php' .
  5. You now should have a fully functioning Geeklog powered website!  Now login with the username and password displayed on the first story and set up your site!  REMEMBER to change the default password of the god user, or you will allow anyone to change your site!

The Geeklog Documentation Project
All trademarks and copyrights on this page are owned by their respective owners. GeekLog is copyleft.