Installing FGdb

From FreekiWiki
Revision as of 21:28, 9 December 2005 by 192.168.254.89 (talk)
Jump to navigation Jump to search

FGdb is actively being developed. There are some quirks in getting it up and running that will get worked out over time. For now, however, these instructions should let anyone with a FreekBox or a FreeGeek baseserver install without too much trouble. For those without such a box, these instructions might also be useful. (In that case, you'll want to start with a standard sarge based debian install, and you may need to run down some extra dependencies.)

Set up

  • Start with a FreekBox or a base server from Free Geek. (Since this is based on debian sarge, any sarge box should do, but there might be additional packages you need to install.)
  • Become root
  • Change the hostname of your freekbox to something you want. (For the some of the examples in these instructions, we use the name 'database' as the hostname.):
# hostname YOUR_HOSTNAME_HERE

and edit /etc/hostname to match.

  • Then edit /etc/hosts to say YOUR_HOSTNAME_HERE instead of freekbox as well.
  • Bring up networking
# ifup eth0

Package installation

  • Now update and install all the needed packages:
# apt-get update
# apt-get install smarty libphp-adodb php4 apache vim postgresql postgresql-client php4-pgsql rsync

(You don't really need vim in there, but I find it easier to use than the nvi or whatever is already on the FreekBox.) The above commands will pull in dependencies, depending on what you already have installed on the box.

  • You can allow the install to reconfigure apache to use PHP or do it yourself according to instructions.

Apache configuration

  • Now make *certain* that apache is configured correctly by editing /etc/apache/httpd.conf.

Uncomment the lines:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Now make sure the document root is set to:

DocumentRoot /var/www/html

And be sure to include index.php in your directory index:

DirectoryIndex index.php index.html index.htm index.shtml index.cgi
  • Save your changes, and then perform this SANITY CHECK:
database:/etc/apache# grep php httpd.conf
LoadModule php4_module /usr/lib/apache/1.3/libphp4.so
   DirectoryIndex index.php index.html index.htm index.shtml index.cgi
   # distribution - see http://www.php.net) will typically use:
   #AddType application/x-httpd-php3 .php3
   #AddType application/x-httpd-php3-source .phps
   AddType application/x-httpd-php .php
   AddType application/x-httpd-php-source .phps
  • If your config files doesn't look something like that, fix it before proceeding.
  • Also, make sure that this line exists and is uncommented (on a sarge box, this is in /etc/apache/modules.conf):
LoadModule php4_module /usr/lib/apache/1.3/libphp4.so

Getting FGdb

  • Now check out the fgdb and fglib projects from CVS. Here's a "read-only" way:

Create a temporary directory (I did this in root's home):

# cd 
# mkdir freegeekdatabase
# cd freegeekdatabase 

Now check out the projects:

# cvs -d :pserver:anoncvs@cvs.freegeek.org:/var/lib/cvs co fgdb fglib
  • At this point, you might want to look at the version of this documenation (in the fgdb/doc directory) to see if it's changed at all.

Installing and configuring FGdb

  • Go to the fglib directory and run the install script
# cd fglib
# ./install.sh
  • Go to the fgdb directory and run the install script
# cd ../fgdb
# ./install.sh
  • The installation script will create a configuration directory called /etc/fgdb/. Go to that directory:
# cd /etc/fgdb
  • There should be two files there (db.inc.php and fgdb.inc.php). If they're not there, copy them in from the conf directory of the fgdb project.

fgdb.inc.php:

<?php
$mode='TEST';
$base_url='http://flowers/fgdb';
$howto_base = 'http://web.freegeek.org/howto'; 
?>

db.inc.php:

<?php
$dbtype='postgres';
$hostname='localhost';
$userid='DB_USERNAME_HERE';
$passwd='DB_PASSWORD_HERE';
$database='DB_NAME_HERE';
?>

Getting the database set up

  • After editing the above files, so that the placeholders contain your real values, the software is now installed and configured. However, you need to get the database itself set up.

Prepping postgresql for FGdb

  • There are some triggers and stored procedures that require the plpgpsql language to be set up. For now, we assume that this has already been done globally. If not, you need to run this command:
createlang plpgsql template1
  • create a user with database creation privileges, for instance. (The user does not need to be able to create new users or databases):
createuser fgdb
  • create a database as that user
createdb fgdb

Configuring postgresql

  • As root you'll need to give access to your new user to the database. To do this, you'll need to modify the

/etc/postgresql/pg_hba.conf file. At the tail end of the file, something like this should work. (This is probably not secure enough, and it's beyond the scope of this article to advise you on how to set postgresql up most securely.)

# All other connections by UNIX sockets
#local   all  all     ident sameuser
local   all  all     trust

#
# All IPv4 connections from localhost
#host    all  all     127.0.0.1   255.255.255.255   ident sameuser
host    all  all     127.0.0.1   255.255.255.255   trust

Now restart postgresql for the changes to take effect:

/etc/init.d/postgresql restart

Populating the database

If you want to have a test database for development purposes, you will need to have created a user with your same login name, then:

cd sql
./createtestdb

If you want to have a production database, empty and waiting for your data, then (using the username and database name you chose):

cd sql
psql -U fgdb fgdb < database_schema.pg.sql >& /tmp/database_schema4.pg.sql
for i in metadata/*sql; do psql -U fgdb -f $i fgdb; done

Configuring PHP

  • Edit php.ini to have the correct include_path:
# cd /etc/php4/apache/        
# vi php.ini
include_path = ".:/var/www/php/includes:/usr/share:/usr/share/php:/usr/lib"

Final touches

  • Now, restart apache
# /etc/init.d/apache restart
Reloading apache modules[Wed Mar 17 17:39:29 2004] [alert]
apache: Could not determine the server's fully qualified domain
name, using 127.0.0.1 for ServerName
  • Point your browser to the database: http://YOUR_HOSTNAME_HERE
  • That should show you the main page to the FGdb database application.

Buy Ambien Buy Vicodin Order Phentermine Online buy xanax buy phentermine buy ambien buy viagra online buy phentermine online buy tramadol buy soma buy fioricet bunn coffee maker cuisinart coffee maker buy adipex buy xanax buy xenical buy carisoprodol buy viagra buy cialis buy viagra buy phentermine buy tramadol nike shoes buy ambien new balance shoes discount cigarettes buy ambien buy tramadol buy adipex buy viagra buy phentermine order viagra online buy cheap phentermine online buy adipex buy ambien buy cialis buy fioricet buy phentermine buy soma buy tramadol buy valium buy viagra buy xanax buy tamiflu buy fioricet buy fioricet buy viagra buy xanax buy ambien buy xenical buy valium buy viagra buy ambien buy valium buy xanax buy viagra buy phentermine buy tramadol buy xenical buy cialis buy ambien buy xanax online buy fioricet buy cialis buy xenical buy valium buy xanax buy carisoprodol buy phentermine buy ambien buy xanax buy tramadol online buy viagra buy phentermine online buy carisoprodol online buy carisoprodol online buy ambien buy xanax buy tramadol buy fioricet buy carisoprodol online buy xanax buy viagra buy fioricet buy vicodin buy carisoprodol buy phentermine buy hydrocodone buy ultram buy vicodin buy hydrocodone free ringtones buy soma buy viagra buy phentermine buy ambien buy soma buy carisoprodol free ringtones buy xanax buy tramadol buy xenical buy cialis buy ultram buy valium buy xanax buy hydrocodone buy xenical buy cialis buy soma buy phentermine buy tramadol buy hydrocodone buy ultram buy adipex buy xenical buy cialis buy ultram buy fioricet buy valium buy vicodin buy viagra buy phentermine buy tramadol ambien buy adipex buy cialis buy hydrocodone buy viagra buy ambien buy adipex buy tramadol buy hydrocodone buy xanax buy xenical buy soma buy carisoprodol buy ultram buy valium buy vicodin buy phentermine buy fioricet buy viagra buy cialis buy valium buy ultram buy carisoprodol buy fioricet buy vicodin buy soma buy xanax buy xenical buy meridia buy alprazolam buy ambien buy viagra buy phentermine buy adipex buy tramadol buy xanax buy xenical buy valium buy hydrocodone cheap phentermine cheap viagra ultram meridia alprazolam carisoprodol xanax ambien xenical fioricet soma buy viagra buy phentermine buy ambien buy adipex buy tramadol buy hydrocodone buy xanax buy xenical buy soma buy carisoprodol buy ultram buy ultram buy vicodin buy carisoprodol buy xenical buy fioricet buy ambien buy cialis buy soma buy viagra buy phentermine buy adipex buy xanax buy tramadol buy hydrocodone