From: Alexandre Neymann Date: Fri, 16 Jan 2009 18:10:51 +0000 (+0000) Subject: Installation guide Updated but not fully X-Git-Tag: v4_7_rc3~13 X-Git-Url: https://scm.fusionforge.org/anonscm/gitweb?p=fusionforge%2Ffusionforge.git;a=commitdiff_plain;h=10ab673111267376be93cd9ae5fc7881ca8a31ca Installation guide Updated but not fully --- diff --git a/gforge/docs/docbook/docbook/installation_guide/installation_guide.xml b/gforge/docs/docbook/docbook/installation_guide/installation_guide.xml index b0c143d798..2a62786fc1 100644 --- a/gforge/docs/docbook/docbook/installation_guide/installation_guide.xml +++ b/gforge/docs/docbook/docbook/installation_guide/installation_guide.xml @@ -32,11 +32,11 @@ Linux Operating System - PostgreSQL 7.3 or later - Apache 1.3.22 or later + PostgreSQL 8.3 or later (8.1, 8.2 should work) + Apache 2.2 or later openssl 0.9.4 or later mod_ssl 2.4.10 or later (included in Apache 2.0 and later) - PHP 4.0.4 or later (note that you'll need to have PHP built with the command line interface support, which only comes standard with PHP 4.3 or later) + PHP 5.2 or later (php4 with the command line interface support & php5.1 should work) php-pgsql (enable it with --with-pgsql when building PHP, or install it as package) php-mbstring (enable it with --with-mbstring when building PHP, or install it as package) @@ -73,7 +73,7 @@ The INSTALL file in GForge package and README files in plugin directories are the authoritive sources for installation instructions and they should have more precedence over this guide. - This installation guide is for GForge 4.5.3. + This installation guide is for GForge 4.7. GForge has a lot of different pieces touching a lot of different components in the system. Cronjobs are required to maintain the system, touching lots of files on a daily and hourly basis, including /etc/* system files. The plugins that now manage the CVS and SVN functionality have made installation slightly harder because even more files have to be moved into place during installation. @@ -96,7 +96,7 @@ Installing GForge
Directory Layout - Instructions below assume that gforge is unpacked into /var/www/gforge. There are some other directories where GForge stores files. In this installation guide, they are put in /var/www too. + Instructions below assume that gforge is unpacked into /opt/gforge. There are some other directories where GForge stores files. In this installation guide, they are put in /var/www too. If you want to be FHS-compliant, GForge should be unpacked into /usr/local/share/gforge, and directories for storing files should be in /var/lib/gforge or /var/local/gforge. You may use symbolic links to physically place files in FHS-compliant places and still use directory paths that are presented in this manual. @@ -105,8 +105,10 @@ Unpacking To install GForge, follow these steps (as root): -# bzip2 -dc gforge-4.5.tar.bz2 | tar xvf - -# mv gforge-4.5 /var/www/gforge +# tar -xjvf gforge-4.7-svn6744.tar.bz2 +# cd gforge-4.7-svn6744 +# mkdir -p /opt/gforge +# cp -r */opt/gforge
@@ -149,17 +151,17 @@ $ cvs -q update -Pd To monitor latest changes in GForge, including Branch_4_5, subscribe to gforge-commits mailing list.
-
- Fixing access rights - You may want to make sure that permissions are correct (replace apache-group with the system group used by Apache server): - -# cd gforge +
+
+ Fixing access rights + You may want to make sure that permissions are correct (replace apache-group with the system group used by Apache server): + +# cd /opt/gforge # chown -R root:apache-group . # chmod -R 644 . # find -type d | xargs chmod 755 # chmod -R 755 cronjobs - -
+
GForge Config File @@ -168,7 +170,7 @@ $ cvs -q update -Pd # mkdir /etc/gforge # chown root: /etc/gforge # chmod 755 /etc/gforge -# cp /var/www/gforge/etc/local.inc.example /etc/gforge/local.inc +# cp /opt/gforge/etc/local.inc.example /etc/gforge/local.inc # chown apache-user:apache-group /etc/gforge/local.inc # chmod 600 /etc/gforge/local.inc @@ -186,14 +188,14 @@ $sys_dbuser="gforge" $sys_dbpasswd="gforge-password" - + The directive $sys_default_domain should contain the domain of your server, e.g. gforge.company.com. You may want to replace all occurences of company.com with company's domain name. @@ -202,6 +204,16 @@ $sys_plugins_path="/var/www/gforge/plugins/";
Configuring the Database (PostgreSQL) +
+ PostgreSQL Requirements + You to have installed the following packages for + + a CentOS or Red Hat 5 or Fedora: postgresql, postgresql-libs, postgresql-server, postgresql-contrib + a Debian: postgresql, postgresql-contrib + a Red Hat 4 : postgresql, postgresql-contrib + + +
Initialization of PostgreSQL In some distributions, PostgreSQL database cluster is not initialised. Consult distribution documentation for more information. If database cluster is not created, you can do so by running: @@ -218,6 +230,7 @@ $ initdb PostgreSQL Authentication Configuration The postgres PostgreSQL user is used only during installation. Usually, it can connect via UNIX socket without password when invoked by postgresql system account. Check by running this: +# /etc/init.d/postgresql restart # su - postgres $ psql template1 @@ -225,15 +238,18 @@ $ psql template1 local all postgres ident sameuser +If you went just to install postgresql on your server be sure that there is only this line in your pg_hba.conf (comment the others) +local all all ident sameuser GForge uses gforge PostgreSQL user to connect to gforge database by using password. (You can change that name by editing local.inc.) In order this to work, assure that you have the following line in your pg_hba.conf (before other host directives): host gforge gforge 127.0.0.1 255.255.255.255 md5 This line assumes that GForge will always use local PostgreSQL database (localhost). If this is not the case, consult PostgreSQL manual for ways to allow connection. - The following option should be set in postgresql.conf because connection to localhost uses TCP/IP: + + After all these changes to PostgreSQL configuration files are made, PostgreSQL should be restarted. This depends on the distribution. In Debian, it's like this: # /etc/init.d/postgresql restart @@ -251,16 +267,22 @@ template1-# PASSWORD 'gforge-password';Create GForge database: template1=# CREATE DATABASE gforge OWNER gforge ENCODING 'UNICODE'; +template1=# \q Add PL/pgSQL support using the commands: -# su - postgres + $ createlang plpgsql gforge Finally, install the database: -$ cd /var/www/gforge/db +$ cd /opt/gforge/db $ psql -a -U gforge -W -h localhost -f gforge.sql gforge &> /tmp/gforge.sql.log +$ exit + +It is required that the postgresql service is up on each reboot + +$ chkconfig postgresql on You may experience the following errors. They are harmless and you can safely ignore them: @@ -276,6 +298,11 @@ ERROR: permission denied for schema public Configuring DNS Server (BIND) GForge needs its own domain. In example GForge configuration file, it's gforge.company.com. You should search for company.com in example GForge configuration file and replace it with your domain name. Here some example configuration files for BIND are presented that can help you if you are not familiar with BIND but it's not meant to be complete. Don't ask BIND-related questions in GForge forums – consult documentation that come with your distribution and search in Internet. Distributions put files in different places and so there are no file locations here. The example configuration below is only quick start example and doesn't include reverse mapping. +
+ DNS Requirements + It's required to have the bind package installed +
+ New subdomain in gforge.company.com should be created. In company.com zone file, it may look like that: gforge IN NS ns.gforge.company.com. @@ -316,6 +343,36 @@ zone "gforge.company.com" { }; Of course, changes will take effect after reloading BIND. + It is required that the dns service is up on each reboot. + +$ chkconfig named on + +
Configuring PHP