Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 12
Panel
titleBefore you start
  • On-site installations of CDWS have a very limited set of services available, namely /text and, if the optional SOLR Solr index is installed, /search. Citation and family services may be accessed as described in the blog Leveraging On-Site Citation and Family Functionality. All other service interfaces must be called remotely to https://cdws21.ificlaims.com.
  • Ensure that your machine meets the hardware requirements listed on the Web Server page. It is also recommended to review the configuration requirements and parameters discussed there.
  • All commands, unless otherwise noted, must be run as root.
  • Check for user database connectivity.
  • Review the information on CLAIMS Direct Web Services. Complete the pre-install worksheet below. This is used to manage all connectivity between the web server, Solr, and the database:

 Parameter(s)

Description

Variables

Value

1

<Model::DWH::Standard>
<Model::DWH::Premium>
<Model::DWH::Premium::Plus>

  • It is only necessary to configure the parameter used with your subscription level

Interface into the main Alexandria XML data warehouse


dbname


host (IP or domain name)


port (DB port)


user


username


password


2

<Model::Users>

Interface into the users database supporting the authentication plugin

dbname


host (IP or domain name)


port (DB port)


user


username


password


3

<Model::Solr::Standard>
<Model::Solr::Premium>
<Model::Solr::Premium::Plus>

Main interfaces into the Solr index


host (IP or domain name)


port (Solr port)


Note

Note: It is recommended to copy and paste the code provided in these instructions.

1. Install Apache httpdTest the data warehouse (DWH) database connectivity and responsiveness. This will make setup and troubleshooting much easier. Depending on your base OS configuration, you may or may not have psql installed. For this test, we will assume psql is NOT installed. From the pre-install worksheet, obtain the username, host, and dbname from row 1.

Code Block
languagetext
yum -y install httpd

...

 postgresql
echo 'select ucid from xml.t_patent_document_values limit 5;' | psql -U<user> -h<host> <dbname>

Results should be similar to what is shown below:

Code Block
languagetext
   ucid
-------------
US-952687-A
US-954232-A
US-950468-A
US-946897-A
US-950860-A

(5 rows)

2. Test Solr for connectivity and responsiveness. This will also make things easier during the installation process. From the pre-install worksheet, obtain the host and port information from row 3.

Code Block
languagetext
yumwget -O-y install epel-release

...

-q 'http://<host>:<port>/alexandria-v2.1/alexandria/select?q=*:*&rows=0'

Results should be similar to what is shown below:

Code Block
languagetext
{ 
  "responseHeader":{   
    "zkConnected":true,   
    "status":0,   
    "QTime":4,   
    "params":{     
      "q":"*:*",     
      "rows":"0"}}, 
  "response":{"numFound":114455167,"start":0,"maxScore":1.0,"docs":[]
  }}

3. Install the appropriate repository for your operating system using the command listed in the Repository column below. If necessary, adjust the code to reflect the version you are using.

4. Install the Alexandria library4. Install CDWS and CDWI. Both packages will be installed in /usr/share/perl5/vendor_perl. The Alexandria library will also be installed as part of these packages.

Code Block
languagetext
yum -y install perl-Alexandria-Library

...

CDWS

...

Code Block
languagetext
yum -y install perl-Alexandria-CDWSCDWI

6. Install the Perl modules.

5. In order to run CDWS/CDWI as an Apache VHOST, copy the following template configuration files.

CDWS:

Code Block
languagetext
yum -y install \
  perl-opencp /usr/share/perl5/vendor_perl/Alexandria/CDWS/etc/claims-direct/alexandria-cdws-apache.conf.template \
  perl-Catalyst* \
  perl-Module-Install \
  perl-DBD-Pg \
  perl-XML-LibXML /etc/httpd/conf.d/alexandria-cdws-apache.conf

CDWI:

Code Block
languagetext
cp /usr/share/perl5/vendor_perl/Alexandria/CDWI/etc/claims-direct/alexandria-cdwi-apache.conf.template \
  perl-XML-LibXSLT \
  perl-CPAN
Note

Note: If you receive an error associated with perl-open, you may ignore it and proceed.

...

 /etc/httpd/conf.d/alexandria-cdwi-apache.conf

6. Ensure that the application configuration files are globally accessible.

CDWS:

Code Block
languagetext
export PATH=/opt/fv/bin:$PATH
export PERL5LIB=/opt/fv/lib/perl5:$PERL5LIB

8. Reinstall CDWS. Edit the code in the following steps to reflect the latest version of CDWS.

cp /usr/share/perl5/vendor_perl/Alexandria/CDWS/etc/claims-direct/alexandria-cdws.conf.template \
    /etc/alexandria-cdws.conf

CDWI:

Code Block
languagetext
wgetcp http:/usr/share/alexandria.fairviewresearch.com/software/Alexandria-CDWS-x.x.tar.gz

9. Decompress and extract the CDWS tarball.

Code Block
languagetext
tar zxvf Alexandria-CDWS-x.x.tar.gz

10. Change to the Alexandria directory.

Code Block
languagetext
cd Alexandria-CDWS-x.x

11. It is recommended to install CLAIMS Direct software into /opt/fv using the INSTALL_BASE argument to Makefile.PL, e.g.:

Code Block
languagetext
perl Makefile.PL INSTALL_BASE=/opt/fv --alldeps

12. Build the Perl packages.

Code Block
languagetext
make

13. Install the Perl packages.

Code Block
languagetext
make install

...

perl5/vendor_perl/Alexandria/CDWI/etc/claims-direct/alexandria-cdwi.conf.template \
    /etc/alexandria-cdwi.conf

7. Change to the apache directory.

Code Block
cd /etc/httpd/conf.d

8. Using a text editor, set the ServerName in the alexandria-cdw(s|i)-apache.conf files. This should be a fully qualified domain name, not an IP address. Make sure that the VirtualHost parameter is set to reflect port 80. See below: 

In alexandria-cdws-apache.conf: ServerName cdws.yourdomain.com
                                                    <VirtualHost *:80>

In alexandria-cdwi-apache.conf: ServerName cdwi.yourdomain.com
                                                    <VirtualHost *:80>

9. In the /etc directory, edit the alexandria-cdws.conf file. Using a text editor, find the parameter tags referenced in the pre-install worksheet. Make all necessary changes to the file using the information previously collected. For example:

Code Block
languagetext
<Model::Users>
  dsn dbi:Pg:dbname=users;host=xxx.xxx.xxx.xx;port=xxxx
  user USER
  username USERNAME
  password PASSWORD
</Model::Users>

10. In order for the applications to function properly, credentials need to be stored where the application can retrieve them. CLAIMS Direct uses a simple "users" database preconfigured with an admin user (user: admin, password: PASSWORD). This database needs to be created either in a separate PostgreSQL instance, or together with the alexandria database. The following will create the user database on a PostgreSQL server:

Code Block
languagetext
cd cat /usr/share/perl5/vendor_perl/Alexandria/CDWS/etc/httpdclaims-direct/conf.d && ln -s /opt/fv/lib/perl5/Alexandria/CDWS/alexandria-cdws-apache.conf z01.conf

...

users.sql \
    | psql -Ualexandria -h<IP-ADDRESS-OF-POSTGRESQL> postgres

11. Change the directory.

Code Block
languagetext
cd /etc/httpd/conf

1612. Depending on distribution, you may also need to adjust the permissions to the root root Directory in httpd.conf. Using a text editor, edit the main directory config as follows:

Code Block
languagetext
<Directory />
    AllowOverride none
    Require all granted
</Directory>

1713. Enable and restart httpd.

Code Block
languagetext
systemctl enable httpd.service

...

; systemctl restart httpd.

...

Code Block
languagetext
systemctl restart httpd.serviceservice
Note

Note: If you have trouble accessing your local instance of CDWI, try the following:

1. In order to use CDWI, you must assign an alias to the server’s IP address. For example, if the server is running on IP 123.45.67.89, you cannot access CDWI through http://cdwi.123.45.67.89. You must make a name assignment like this:

123.45.67.89 cdws.mydomain.com cdwi.mydomain.com

mydomain.com” must match the domain name used in step 8 above. It should be a domain name you have permission to use. If you are only using the service internally, then this name could be anything, but if you are exposing it externally, it should be a registered name. For testing, you can make the name assignment on a local hosts file. You should be able to reach CDWI from any machine on your network where the name assignment has been made. If you make a name assignment on the enterprise name server, then anyone in the organization should be able to access CDWI at http://cdwi.mydomain.com

2. After updating the hosts file on a local machine, you need to open a new browser session. In the new browser, you should be able to access CDWI. If you open a new tab in an old browser session, you may find that CDWI is not accessible.