plainblack.com
Username Password
search
Bookmark and Share
Subscribe

Building the WRE on 64bit RHEL 5 or CentOS 6

These instructions were originally written by pvanthony who installed WebGUI 7.10.26 onto CentOS 6 64bit and whose original post can be found at
http://www.webgui.org/forums/dev/wre-for-centos-6-64bit/14 (towards the bottom of the second page of posts). I've modified them after my
experiences of installing WebGUI 7.6.35 onto RHEL 5 64bit. Lots of thanks to scrottie and haarg for their help on IRC.

Installed CentOS 6 64bit minimal install. (or RHEL 5)

Installed EPEL (https://fedoraproject.org/wiki/EPEL) on RHEL to get some of the necessary packages.

Installed the following packages.

yum install gcc gcc-c++ make unzip wget xmlto pkgconfig git autoconf

Create system user

useradd webgui

Create password for user webgui

passwd webgui

make the data directory

mkdir /data

change the owner of /data to webgui

chown webgui:webgui /data

Login as webgui

Use git to download the wre

git clone https://github.com/plainblack/wrebuild.git

Change branch so we're using the right one for WebGUI 7.10

cd wrebuild
git checkout wre7

Needed to make a very small change to build.sh. Below is a patch for the change.
--------------- start ----------------------
--- build.sh.org    2012-09-08 16:07:22.603922957 +0800
+++ build.sh    2012-09-08 21:29:42.269929537 +0800
@@ -312,7 +312,7 @@
     buildProgram "libgpg-error-1.7" "$CFG_CACHE"
 
     # libgmp
-    buildProgram "gmp-5.0.5" "$CFG_CACHE ABI=32"
+    buildProgram "gmp-5.0.5" "$CFG_CACHE ABI=64"
 
     # libnettle
     buildProgram "nettle-2.4" "$CFG_CACHE"

--------------- end ------------------------

I had to patch getsource.sh with the patch at
http://www.webgui.org/use/bugs/tracker/12400 . The version of getsource.sh you download now, should be fixed.

run getsource.sh to get the source files

./getsource.sh

Start the build

./build.sh --ia64 --all

There will be errors when compiling gnutls. This is because nettle stores its library in lib64 instead of lib. So we need to make some link files.

ln -s /data/wre/prereqs/lib64/libnettle.a /data/wre/prereqs/lib/libnettle.a
ln -s /data/wre/prereqs/lib64/libhogweed.a /data/wre/prereqs/lib/libhogweed.a

I did not use the following on RHEL 5, but it might be useful to someone else.
# Made a change in setEnvironment file to include lib64 library. Not sure if needed.
# ------------------- start ---------------------------
# --- setenvironment.sh.org    2012-09-10 15:10:46.583926835 +0800
# +++ setenvironment.sh    2012-09-08 17:31:42.722927357 +0800
# @@ -1,5 +1,5 @@
#  export PATH=/data/wre/prereqs/bin:/data/wre/prereqs/sbin:/data/wre/sbin:/data/wre/bin:$PATH
# -export LD_LIBRARY_PATH=/data/wre/prereqs/lib:$LD_LIBRARY_PATH
# +export LD_LIBRARY_PATH=/data/wre/prereqs/lib:/data/wre/prereqs/lib64:$LD_LIBRARY_PATH
#  export DYLD_FALLBACK_LIBRARY_PATH=/data/wre/prereqs/lib:$DYLD_LIBRARY_PATH
#  export LD_RUN_PATH=/data/wre/prereqs/lib:$LD_RUN_PATH
#  export PERL5LIB=/data/WebGUI/lib:$PERL5LIB
# -------------------- end ----------------------------

Clean the build

./build.sh --clean

Start the build again.

./build.sh --ia64 --all

Once the build is completed successfully, install Task::WebGUI

cd /data/wre/sbin
source setenvironment.sh
cpan App::cpanminus
cpanm Task::WebGUI

This will take a long time (1.5 hours + for me). There will be some modules that could not be installed automatically. Install them manually. The source can be found in ~/.cpanm/work/somenumbered_folder.
Go get a list of Modules that erred out, grep the output from the Task::WebGUI install for lines that start with a !.

For Crypt::SSLeay, I had to change the include directory option in the Makefile. From -I/usr/local/include to -I/data/wre/prereqs/include
Change the Makefile then run make and install, do not run perl Makefile.PL again

For XML::Parser, I had to set the ExpatLib to /data/wre/prereqs/lib , ExpatInclude to /data/wre/prereqs/include and -I/data/wre/prereqs/include
change these in ./Makefile and ./Expat/Makefile, do not rerun perl Makefile.PL

More recently, I had to do this for XML::Parser

perl Makefile.PL EXPATLIBPATH=/data/wre/prereqs/lib EXPATINCPATH=/data/wre/prereqs/include
change the -I/usr/local/include to -I/data/wre/prereqs/include in both ./Makefile and ./Expat/Makefile
make
make install

For Net::SSLeay, from the readme file,
    OPENSSL_PREFIX=/data/wre/prereqs perl Makefile.PL
Change the Makefile then run make and install, do not run perl Makefile.PL again

For Text::Aspell, from the readme file,
    perl Makefile.PL PREFIX=/data/wre/prereqs CCFLAGS=-I/data/wre/prereqs/include LIBS="-L/data/wre/prereqs/lib -laspell"
I could not get Text::Aspell to install, but it is optional, so I ignored it.

For any other failing modules, you just need to do the normal cd into the directory and run

perl Makefile.PL
make
make install

Had to install these modules too. Just use cpan for this.

cd /data/wre/sbin
source setenvironment
./cpan Class::InsideOut
./cpan File::Which

Downloaded the latest WebGUI and uncompress it into /data/

cd /data
wget http://update.webgui.org/7.x.x/webgui-7.10.26-stable.tar.gz
tar xzf webgui-7.10.26-stable.tar.gz

Do a check and see if all the perl modules are installed. Note, you must be root to install modules with testEnvironment.pl.

cd /data/WebGUI/sbin/
perl testEnvironment.pl

There were some perl modules that needed to be installed. Use cpan to install them.

cd /data/wre/sbin
source setenvironment.sh
Tie::CPHash
Apache2::Request
String::Random
Net::Subnets (Only needed for WebGUI prior to 7.7. It is no longer in cpan, but you can get it from http://backpan.perl.org/authors/id/S/SR/SRI/Net-Subnets-0.21.tar.gz)

To prepare for this last step, we need to temporarily "deactivate" WebGUI

mv WebGUI WebGUI.off

You may also need to open a firewall hole to access the wreconsole. You must be root to perform these commands

iptables-save > iptables.rules

edit iptables.rules and add the line 

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 60834 -j ACCEPT

where it seems appropriate (assuming you have not changed your firewall chain names
apply the change by issuing

iptables-restore < iptables.rules

This change will not survive a restart of iptables.
  

Once all that is done, we can get the wre running.

cd /data/wre/sbin
source setenvironment.sh
./wreconsole.pl

Open a webbrowser and goto http://ip_address_of_server:60834

Fill out the information on the screen. When it gets to the "Ready to Install" page
ssh to your server with a new terminal window and

mv WebGUI.off WebGUI

Then press the Manual Install button

Now you're ready to add a site.

Keywords: 64bit centos redhat rhel wre

0miraeg: "great"
Search | Most Popular | Recent Changes | Wiki Home
© 2018 Plain Black Corporation | All Rights Reserved