[rt-users] Re: RT install notes

Ashley Gould agould at aslab.com
Fri Nov 30 13:19:44 EST 2001


This was on SuSE 7.2 and I'm using postgresql instead of mysql.  I
definitely recommend building apache, mod-perl and perl 5.6.1 by hand.

good luck

ashley


On Fri, Nov 30, 2001 at 08:24:34AM -0800, Gary Young wrote:
> Ashley,
> I saw you mention your RT install notes and I would like to request a 
> copy. I'm in the middle of an install on a Redhat 7.1 box and could 
> use some more docs to look at. Thanks for your time.
> -- 
> Gary Young
> http://www.garyy.net/
-------------- next part --------------
This is to be the asl RT server:
1U Lancelot with 655mHz and 256MB ram.  
Only one 8.2GB hard disk.  
OS is SuSE 7.2  (see files rt_server_specs, rt_server_package_list)

At the time of building this host was named develrt at aslab.com.
When it goes into production I'm renaming it to support.aslab.com


I'm building postgres, perl, apache, and mod-perl from sources:
perl-5.6.1
postgresql-7.1.3
apache_1.3.22
mod_perl-1.26
rt-2-0-8

Mail server is postfix from SuSe7.2 RPMs


---------------------------
fisrt I built a new kernel. 
develrt:/usr/include # uname -r
2.4.9-ac9-2

Then I had to remove the suse default includes
and relink them against my new kernel:
develrt:/usr/include # mv linux/ linux.old
develrt:/usr/include # ln -s ../src/linux/include/linux
develrt:/usr/include # mv asm asm.old
develrt:/usr/include # ln -s ../src/linux/include/asm

-----------------------------
Then I built perl 5.6.1 with libperl as shared object:
develrt:/usr/local/build/perl-5.6.1 # sh Configure -Duseshrplib
develrt:/usr/local/build/perl-5.6.1 # make
develrt:/usr/local/build/perl-5.6.1 # make test
develrt:/usr/local/build/perl-5.6.1 # make install

------------------------------
Then I ran the VA stress test:
develrt:/usr/src/ctcs-1.2.9 # ./newburn -b -r -t -g

Initializing test run for control file newburn.tcf...
Current time: Thu Oct 11 11:34:31 PDT 2001
**** Test in progress ****
Thu Oct 11 11:34:32 PDT 2001: BBlvmaN0 1/0 TEST INITIALIZATION ERROR
Thu Oct 11 11:34:32 PDT 2001: BBlvmaN1 1/0 TEST INITIALIZATION ERROR
Thu Oct 11 11:34:33 PDT 2001: BBlvmaN4 1/0 TEST INITIALIZATION ERROR
Thu Oct 11 11:34:33 PDT 2001: BBlvmaN3 1/0 TEST INITIALIZATION ERROR
Thu Oct 11 11:34:33 PDT 2001: BBlvmaN5 1/0 TEST INITIALIZATION ERROR
Thu Oct 11 11:34:33 PDT 2001: BBlvmaN2 1/0 TEST INITIALIZATION ERROR
Thu Oct 11 11:34:34 PDT 2001: BBlvmaN6 1/0 TEST INITIALIZATION ERROR
Thu Oct 11 11:34:34 PDT 2001: BBlvmaN7 1/0 TEST INITIALIZATION ERROR
Aborting on signal INT, please wait...
Exiting test run..
Displaying report...
Total test time: 15h41m9s
Tests FAILED:
BBlvmaN0 ran 1 times in 3s, failed on 1 attempts.
BBlvmaN1 ran 1 times in 3s, failed on 1 attempts.
BBlvmaN2 ran 1 times in 3s, failed on 1 attempts.
BBlvmaN3 ran 1 times in 3s, failed on 1 attempts.
BBlvmaN4 ran 1 times in 3s, failed on 1 attempts.
BBlvmaN5 ran 1 times in 3s, failed on 1 attempts.
BBlvmaN6 ran 1 times in 3s, failed on 1 attempts.
BBlvmaN7 ran 1 times in 3s, failed on 1 attempts.
Tests passed:
LTP MMX0 HEARTBEAT DMESG KERNEL BBhdaN0 SYSLOG BBhdaN1 BBhdaN2 BBhdaN3
BBhdaN4 BBhdaN5 NBENCH BBhdaN6 BBhdaN7 CACHE MEMORY0 CPU0 
**** Test run was interrupted with errors ****





------------------------------
Building postgres

develrt:/usr/local/build/postgresql-7.1.3 # cat startbuild
#!/bin/bash
# This is the flags I'm using to configure building postgres

./configure --enable-locale  \
        --with-perl \
        --enable-multibyte \
        --enable-unicode-conversion \
        --enable-syslog\
        --with-python \
        --with-openssl 


develrt:/usr/local/build/postgresql-7.1.3 # ./startbuild 
develrt:/usr/local/build/postgresql-7.1.3 # make 
develrt:/usr/local/build/postgresql-7.1.3 # make install

develrt:/usr/local/build/postgresql-7.1.3 # grep postgres /etc/passwd
postgres:x:26:2:Postgres Database Admin:/usr/local/pgsql:/bin/bash
develrt:/usr/local # chown -R postgres.daemon pgsql/
develrt:/usr/local # su - postgres
postgres at develrt:~ > /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data 
postgres at develrt:~ > /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile -i -p 5432 start

The "-i" flag is needed so that rt can connect over the loopback interface
I set up this start command line in /etc/init.d/boot.local:

# start postgres
/usr/bin/sudo -u postgres /usr/bin/pg_ctl -o "-i -p 5432" -D /var/lib/pgsql/data -l /usr/local/pgsql/logfile start 2>&1




-------------------------------------
Building apache with mod_perl non-DSO

develrt:/usr/local/build/mod_perl-1.26 # perl Makefile.PL APACHE_SRC=../apache_1.3.22/src USE_APACI=1 DO_HTTPD=1 EVERYTHING=1
develrt:/usr/local/build/mod_perl-1.26 # make && make test && make install
develrt:/usr/local/build/mod_perl-1.26 # cd ../apache_1.3.22/
develrt:/usr/local/build/apache_1.3.22 # make install



--------------------------------
Misceallany:
develrt:/etc # diff profile profile.dist
50,53d49
< 
< #  added for locally built programs (ag 10/24/2001)
< PATH=$PATH:/usr/local/apache/bin:/usr/local/pgsql/bin
< 

develrt:/etc # diff manpath.config manpath.config.dist
30,32d29
< MANDATORY_MANPATH                       /usr/local/apache/man
< MANDATORY_MANPATH                       /usr/local/pgsql/man
< 
56,57d52
< MANPATH_MAP   /usr/local/apache/bin   /usr/local/apache/man
< MANPATH_MAP   /usr/local/pgsql/bin    /usr/local/pgsql/man




----------------------------------
----------------------------------
Builing RT: rt-2-0-8

Following the recipe in the README

1)   Unpack this distribution

--------------------------------
2)   Check over /tmp/rt/Makefile
develrt:/usr/local/build/rt-2-0-8 # diff Makefile Makefile.dist 
5c5
< PERL                  =       /usr/local/bin/perl
---
> PERL                  =       /usr/bin/perl
41c41
< RT_PATH                       =       /usr/local/rt2
---
> RT_PATH                       =       /opt/rt2
102c102
< DB_TYPE               =       Pg
---
> DB_TYPE               =       mysql
107c107
< DB_HOME               = /usr/local/pgsql
---
> DB_HOME               = /usr
120c120
< DB_DBA                   =    postgres
---
> DB_DBA                   =    root
158c158
< DB_RT_PASS      =      Morrigen
---
> DB_RT_PASS      =      rt_pass


-------------------------------------
3)   Satisfy RT's myriad dependencies

ran make fixdeps, configured cpan.  Looked good up to DBD-Pg:

"""
  CPAN.pm: Going to build M/ME/MERGL/DBD-Pg-1.01.tar.gz

Configuring Pg
Remember to actually read the README file !
please set environment variables POSTGRES_INCLUDE and POSTGRES_LIB !
Running make test
  Make had some problems, maybe interrupted? Won't test
Running make install
  Make had some problems, maybe interrupted? Won't install
"""

I'm buidling it by hand:
develrt:/usr/local/build/.cpan/build/DBD-Pg-1.01 # export POSTGRES_HOME=/usr/local/pgsql
develrt:/usr/local/build/.cpan/build/DBD-Pg-1.01 # perl Makefile.PL
velrt:/usr/local/build/.cpan/build/DBD-Pg-1.01 # make
develrt:/usr/local/build/.cpan/build/DBD-Pg-1.01 # make test
develrt:/usr/local/build/.cpan/build/DBD-Pg-1.01 # su postgres
develrt:/usr/local/build/.cpan/build/DBD-Pg-1.01 # make test
develrt:/usr/local/build/.cpan/build/DBD-Pg-1.01 # exit     
develrt:/usr/local/build/.cpan/build/DBD-Pg-1.01 # make install


Looks good. Trying make fixdeps again:

 got everything but Apache::Session.  Fails on install because failed
tests were looking for Storable.pmi and Digest/MD5.pm.  So I installed 
that with cpan:
develrt:/usr/local/build/rt-2-0-8 # perl -MCPAN -e shell
cpan> install Storable
cpan> install Digest::MD5

develrt:/usr/local/build/.cpan/build/Apache-Session-1.54 # make test
develrt:/usr/local/build/.cpan/build/Apache-Session-1.54 # make install


My kit is all good.  But wait! there was a post on the RT users list:

have you installed DBI::SearchBuilder 0.46-test1, as recommended in
last week's conversation about performance tuning?


I think I had better do it.  Oh, well.  All I could find was
DBIx::SearchBuiler-0.46.  I hope that is recent enough.


------------------------------
4)   Create a group called 'rt'
develrt:/usr/local/build/rt-2-0-8 # groupadd rt


-------------------------------
5)   5a  FOR A NEW INSTALLATION:

First I couldn't connect to the database:

develrt:/usr/local/build/rt-2-0-8 # make install
mkdir -p //usr/local/rt2/bin
mkdir -p //usr/local/rt2/WebRT/data
mkdir -p //usr/local/rt2/WebRT/sessiondata
mkdir -p //usr/local/rt2/etc
mkdir -p //usr/local/rt2/lib
mkdir -p //usr/local/rt2/WebRT/html
mkdir -p //usr/local/rt2/local/WebRT/html
/usr/local/bin/perl     tools/initdb 'Pg' '/usr/local/pgsql' 'localhost'
'5432' 'postgres' 'rt2' create
Database creation parameters:

DB_TYPE         = Pg
DB_HOME         = /usr/local/pgsql
DB_HOST         = localhost
DB_DBA          = postgres
DB_DBA_PASSWORD = <hidden>
DB_DATABASE     = rt2
Now creating a database for RT.
Enter the Pg password for postgres: 
Creating Pg database rt2.
 arguments to create_databaes:
dbi:Pg:dbname=rt2;host=localhost;port=5432, postgres, asllinux
DBI->connect(dbname=template1;host=localhost;port=5432) failed:
connectDBStart() -- connect() failed: Connection refused at
/usr/local/lib/perl5/site_perl/5.6.1/DBIx/DataSource/Driver.pm line 74
connectDBStart() -- connect() failed: Connection refused at
/usr/local/lib/perl5/site_perl/5.6.1/DBIx/DataSource/Driver.pm line 74,
<STDIN> line 1.
make: *** [createdb] Error 255


so I set the password for the
user postgres in the database:
develrt:/etc # su - postgres
postgres at develrt:~ > psql template1
Welcome to psql, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help on internal slash commands
       \g or terminate with semicolon to execute query
       \q to quit

template1=# select * from pg_shadow;
 usename  | usesysid | usecreatedb | usetrace | usesuper | usecatupd |
passwd | valuntil 
----------+----------+-------------+----------+----------+-----------+--------+----------
ch postgres |       26 | t           | t        | t        | t         |
| 
(1 row)

template1=# alter user postgres with password 'asllinux';
ALTER USER
template1=# \q

Didn't help.  


SOLUTION:
I then restarted postgres with the -i flag:
sudo -u postgres postmaster -i -D /usr/local/pgsql/data/ &

      -i     Allows  clients  to  connect  via  TCP/IP (Internet
              domain)  connections.  Without  this  option,  only
              local  Unix domain socket connections are accepted.

This way the RT install could connect over the loopback interface.

"""
Congratulations. RT has been installed. 
You must now configure it by editing /usr/local/rt2/etc/config.pm.


More information about the rt-users mailing list