Forum OpenACS Q&A: install-oacs.sh help

Collapse
Posted by christopher laurence on
I'm using redhat 7 workstation and the I was able to successfully run install-ns.sh script. However the install-oacs.sh script seems to be stuck. Below is the terminal output. Anyone know what the issue is?

[root@localhost Desktop]# bash install-oacs.sh build
------------------------ Settings ---------------------------------------
/usr/local/ns/lib/nsConfig.sh: line 18: -a: command not found

Installation Script for OpenACS

This script configures a (pre-installed) PostgreSQL installation for
OpenACS, installs OpenACS core, basic OpenACS packages, xowiki, xowf
and optionally dotlrn and generates a config file and startup files
(for Ubuntu and Fedora Core). The script assumes a pre-existing
NaviServer installation, installed e.g. via install-ns.sh

Tested on Ubuntu 12.04, 13.04 and Fedora Core 18
(c) 2013 Gustaf Neumann

LICENSE This program comes with ABSOLUTELY NO WARRANTY;
This is free software, and you are welcome to redistribute it under certain conditions;
For details see http://www.gnu.org/licenses.

SETTINGS OpenACS version oacs-5-8
OpenACS packages oacs-5-8
OpenACS directory /var/www/oacs-5-8
OpenACS service oacs-5-8
OpenACS user nsadmin
OpenACS groupce nsadmin
PostgreSQL directory /usr/
Database name oacs-5-8
Naviserver install directory /usr/local/ns
Naviserver src directory /usr/local/src/naviserver-4.99.6
Naviserver modules directory /usr/local/src/modules
Install DotLRN 0
With PostgresSQL 1
PostgresSQL user postgres
Make command make
Type command

------------------------ Cleanup -----------------------------------------
------------------------ Check System ----------------------------
Loaded plugins: langpacks, product-id, subscription-manager
Package postgresql-server-9.2.7-1.el7.x86_64 already installed and latest version
Nothing to do
------------------------ Check Userids ----------------------------
grep nsadmin /etc/group => nsadmin:x:1002:
------------------------ Setup Database ----------------------------
Checking if oacs_user nsadmin exists in db.
Checking if db oacs-5-8 exists.
------------------------ Download OpenACS ----------------------------
Usage: cvs [cvs-options] command [command-options-and-arguments]
where cvs-options are -4, -6,-q, -n, etc.
(specify --help-options for a list of options)
where command is add, admin, etc.
(specify --help-commands for a list of commands
or --help-synonyms for a list of command synonyms)
where command-options-and-arguments depend on the specific command
(specify -H followed by a command name for command-specific help)
Specify --help to receive this message

The Concurrent Versions System (CVS) is a tool for version control.
For CVS updates and additional information, see
the CVS home page at http://cvs.nongnu.org/
Loaded plugins: langpacks, product-id, subscription-manager
Package cvs-1.11.23-35.el7.x86_64 already installed and latest version
Nothing to do

Collapse
2: Re: install-oacs.sh help (response to 1)
Posted by christopher laurence on
cvs [checkout aborted]: reading from server: Connection timed out
install-oacs.sh: line 271: cd: /var/www/oacs-5-8/packages: No such file or directory
Collapse
3: Re: install-oacs.sh help (response to 1)
Posted by Gustaf Neumann on
The first problem is see is in

/usr/local/ns/lib/nsConfig.sh: line 18: -a: command not found

This is not as intended. Furthermore, the "type" command should not be empty. Can it be that you used an "old" install-ns.sh and a "new" install-oacs.sh? The first script saves a couple of config variables in nsConfig.sh and install-oacs.sh picks this up. Early versions of install-ns.sh saved less variables.

What is the content of your /usr/local/ns/lib/nsConfig.sh?

Collapse
4: Re: install-oacs.sh help (response to 3)
Posted by christopher laurence on
I used both the latest version of both scripts. I'll try using older version to see if that fixes the issue. The content of my nsConfig.sh is:

build_dir=/usr/local/src
ns_install_dir=/usr/local/ns
version_ns=4.99.6
version_modules=4.99.6
version_tcl=8.5.16
version_tcllib=1.15
version_thread=2.7.0
version_xotcl=2.0b5
version_tdom=0.8.3
ns_user=nsadmin
pg_user=postgres
ns_group=nsadmin
with_mongo=0
with_postgres=1
pg_incl=/usr/include/postgresql
pg_lib=/usr/lib
make=make
type=type -a
debian=1
redhat=0
macosx=0
sunos=0
freebsd=0

Collapse
5: Re: install-oacs.sh help (response to 4)
Posted by Gustaf Neumann on
thanks for the quick feedback. I've fixed a quoting bug, please get the scripts again and rerun it. I hope, this fixes the problem, for now i can't test under RHEL7.
Collapse
6: Re: install-oacs.sh help (response to 5)
Posted by christopher laurence on
I ran the latest install-ns.sh and I don't see the error appearing this time. It seems that I'm not able to connect to the cvs or git clone sites. I'm getting time-out messages. Is there a way you can check if the site are up and available? It might be the company firewall preventing me from accessing them.

bash ./install-oacs.sh build
------------------------ Settings ---------------------------------------

Installation Script for OpenACS
This script configures a (pre-installed) PostgreSQL installation for
OpenACS, installs OpenACS core, basic OpenACS packages, xowiki, xowf
and optionally dotlrn and generates a config file and startup files
(for Ubuntu and Fedora Core). The script assumes a pre-existing
NaviServer installation, installed e.g. via install-ns.sh
Tested on Ubuntu 12.04, 13.04 and Fedora Core 18
(c) 2013 Gustaf Neumann
LICENSE This program comes with ABSOLUTELY NO WARRANTY;
This is free software, and you are welcome to redistribute it under certain conditions;
For details see http://www.gnu.org/licenses.
SETTINGS OpenACS version oacs-5-8
OpenACS packages oacs-5-8
OpenACS directory /var/www/oacs-5-8
OpenACS service oacs-5-8
OpenACS user nsadmin
OpenACS groupce nsadmin
PostgreSQL directory /usr/
Database name oacs-5-8
Naviserver install directory /usr/local/ns
Naviserver src directory /usr/local/src/naviserver-4.99.6
Naviserver modules directory /usr/local/src/modules
Install DotLRN 0
With PostgresSQL 1
PostgresSQL user postgres
Make command make
Type command type -a

------------------------ Cleanup -----------------------------------------
------------------------ Check System ----------------------------
Loaded plugins: langpacks, product-id, subscription-manager
Package postgresql-server-9.2.7-1.el7.x86_64 already installed and latest version
Nothing to do
------------------------ Check Userids ----------------------------
grep nsadmin /etc/group => nsadmin:x:1002:
------------------------ Setup Database ----------------------------
Checking if oacs_user nsadmin exists in db.
Checking if db oacs-5-8 exists.
------------------------ Download OpenACS ----------------------------

cvs [checkout aborted]: reading from server: Connection timed out
install-oacs.sh: line 271: cd: /var/www/oacs-5-8/packages: No such file or directory

Collapse
7: Re: install-oacs.sh help (response to 6)
Posted by Gustaf Neumann on
cvs uses for the "pserver" connection port 2401. A quick test might be:

==========
% telnet cvs.openacs.org 2401
Trying 137.208.116.32...
Connected to cvs.openacs.org.
Escape character is '^]'.

cvs [pserver aborted]: bad auth protocol start:
Connection closed by foreign host.
==========

you see that (a) on can connect, and (b) after an return, one gets a error message with "pserver".

Normally, firewalls are restrictive on incoming requests, not for outgoing....

Collapse
8: Re: install-oacs.sh help (response to 7)
Posted by christopher laurence on
Okay, I used telnet and got the same output as you.

test-engr@testengr-Latitude-E6420:~/Desktop$ telnet cvs.openacs.org 2401
Trying 137.208.116.32...
Connected to cvs.openacs.org.
Escape character is '^]'.

cvs [pserver aborted]: bad auth protocol start:
Connection closed by foreign host.
test-engr@testengr-Latitude-E6420:~/Desktop$

Below is the output of the download section of the install-aocs.sh:
------------------------ Download OpenACS ----------------------------
cvs [checkout aborted]: reading from server: Connection timed out
install-oacs.sh: line 234: cd: /var/www/oacs-5-8/packages: No such file or directory
cvs [checkout aborted]: reading from server: Connection timed out
cvs [checkout aborted]: reading from server: Connection timed out
Cloning into 'xowf'...
fatal: read error: Connection timed out
install-oacs.sh: line 244: cd: xowf: No such file or directory
fatal: Not a git repository (or any of the parent directories): .git
Writing /usr/local/ns/config-oacs-5-8.tcl
Writing /etc/init/oacs-5-8.conf

Collapse
9: Re: install-oacs.sh help (response to 8)
Posted by Gustaf Neumann on
That behavior is strange. I've now tried to get the contents from cvs. via ADSL from a public provider, i had no problems.

I assume, you get the same timeout if you issue the following commands:

   mkdir -p /var/www/oacs-5-8
   cd /var/www/oacs-5-8
   cvs -q -d:pserver:anonymous@cvs.openacs.org:/cvsroot checkout -r oacs-5-8 acs-core
Can it be, that you have any of the following CVS enviromnet variables set?
http://www.thathost.com/wincvs-howto/cvsdoc/cvs_19.html
Collapse
10: Re: install-oacs.sh help (response to 9)
Posted by christopher laurence on
Hello,

Yeah I get the timeout message. I did the following for all
the environment variables. Most are empty besides path and home.

===============================================
test-engr@testengr-Latitude-E6420:~$ echo $CVSINGNORE

test-engr@testengr-Latitude-E6420:~$ echo $CVSWRAPPPERS

test-engr@testengr-Latitude-E6420:~$ echo $CVSREAD

test-engr@testengr-Latitude-E6420:~$ echo $CVSUMASK

test-engr@testengr-Latitude-E6420:~$ echo $CVSROOT

test-engr@testengr-Latitude-E6420:~$ echo $EDITOR

test-engr@testengr-Latitude-E6420:~$ echo $CVSEDITOR

test-engr@testengr-Latitude-E6420:~$ echo $VISUAL

test-engr@testengr-Latitude-E6420:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
test-engr@testengr-Latitude-E6420:~$ echo $HOME
/home/test-engr
test-engr@testengr-Latitude-E6420:~$ echo $HOMEDRIVE

test-engr@testengr-Latitude-E6420:~$ echo $CVS_RSH

test-engr@testengr-Latitude-E6420:~$ echo $CVS_SERVER

test-engr@testengr-Latitude-E6420:~$ echo $CVS_PASSFILE

test-engr@testengr-Latitude-E6420:~$ echo $CVS_CLIENT_PORT

test-engr@testengr-Latitude-E6420:~$ echo $CVS_RCMD_PORT

test-engr@testengr-Latitude-E6420:~$ echo $CVS_CLIENT_LOG

test-engr@testengr-Latitude-E6420:~$ echo $CVS_SERVER_SLEEP

test-engr@testengr-Latitude-E6420:~$ echo $CVS_IGNORE_REMOTE_ROOT

test-engr@testengr-Latitude-E6420:~$ echo $COMSPEC

test-engr@testengr-Latitude-E6420:~$ echo $TMPDIR

test-engr@testengr-Latitude-E6420:~$ echo $TMP

test-engr@testengr-Latitude-E6420:~$ echo $TEMP

test-engr@testengr-Latitude-E6420:~$

Collapse
12: Re: install-oacs.sh help (response to 11)
Posted by Gustaf Neumann on
Dear christopher,

in case we don't get CVS working on your side, i've added an additional as additional source for OpenACS the tar release. To get the OpenACS 5.8.1 release via tar file, get the newest version of install-oacs.sh from git and uncomment the following line:

oacs_tar_release=

When you rerun the script, the core of OpenACS will be installed via wget + tar file. By using this way, one has to install the application packages via "install from repository".

Collapse
13: Re: install-oacs.sh help (response to 12)
Posted by christopher laurence on
Hello Gustaf,

The fix in the script worked. I wasn't able to download xowf and the IT group hasn't gotten back to me about what is being blocked. Is it an issue if I don't have xowf?

Collapse
14: Re: install-oacs.sh help (response to 13)
Posted by Gustaf Neumann on
no, xowf is (a) optional and (b) once acs-core is installed, one can get it via "install from repositpory" directly from OpenACS.

The primary reason for having xowf in the script was that up to the release of OpenACS 5.8.1 getting it from git was the only solution.

all the best
-g

Collapse
15: Re: install-oacs.sh help (response to 14)
Posted by christopher laurence on
Hello Gustaf,

Thanks for all the help!

Collapse
16: Re: install-oacs.sh help (response to 15)
Posted by Gustaf Neumann on
Guess, we should make the "install from tar-release" default, and let developer choose to use cvs/git as an option...