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