View · Index

Weblog Page

Filtered by category Tutorials for Administrators, 1 - 9 of 9 Postings (all, summary)

OpenACS Monitoring

Created by Malte Sussdorff, last modified by Gustaf Neumann 24 Nov 2023, at 06:48 PM

When running an OpenACS site, a couple of packages come in handy to monitor your site and see why and where bottlenecks are located. To use them,  you need to install NaviServer with libthread support. If you are lazy as I am, just download the installation script from naviserver-openacs and get started. This will make sure that you have all the necessary ingredients installed.

Then go to your systems' administration at /acs-admin and install two packages:

  • xotcl-request-processor
  • monitoring

The first one gives you an overview over the system performance, while the latter allows you to scan the error.log for errors and have them send to you via e-mail.  A little bit more detail:

Monitoring

The monitoring package has a couple of nice things which help you monitor your website. First and foremost, you can use it to get the error logs. This is HIGHLY recommended, as your users will not report errors to you. They will just complain internally and not use your site anymore. We learned this the hard way.

Once you have monitoring installed (and mounted at e.g. /monitoring) go there and edit the parameters. There you can define who should get the error reports send and how often they are sent out. NOTE: They will be sent out with every restart of the server, so this gives you a pretty good idea if your server has restarted.

You can also get the TOP reports (if you have a high load on the system), which is something I usually don't use, but maybe it is of importance for you.

Last but not least (for me at least) you can view which scheduled procs are running on your server and when they are executed next time. This is really helpful to understand what is happening on your site of the things you cannot see.

 

XOTcl Request Monitor

The request monitor (automatically mounted under /request-monitor) will give you a performance overview of your site, how many users are online, what are the average page load times ....

If you look at the overview page, you will first be delighted to see that the average times are so low. This is misleading, as the quick fetches to ".css" files and so on are counted into the equation as well.

More accurate is the aggregated stats view, which allows you to see which URLs are called most often on your site and how expensive they are to load. It is a good idea to have the most often called pages be *fast*.

One thing we do as well is to run the "last 100 request" page on a continuous basis in a browser window. It refreshes every 60 seconds and if you get the sorting right you can actually get a good overview of the activity on your site (e.g. we order by execution time, so we always see how long users are waiting for their pages and if this number goes up considerably, well, then we know we have to act!).

 

 

 

 

 

 


 

rl_json

Created by Michael Aram, last modified by Vlad V 01 May 2023, at 01:02 PM

Caveat: Page under construction

rl_json

Example Installation for NaviServer under Ubuntu (for rl_json version until 11.5)

cd /var/tmp
git clone https://github.com/RubyLane/rl_json.git
cd rl_json
autoconf
./configure --prefix=/usr/local/ns && make && sudo make install

 

After rl_json version 11.5 (see issue):

git clone --recurse-submodules --depth 1 --branch 0.12.2 https://github.com/RubyLane/rl_json.git rl_json-0.12.2
cd rl_json-0.12.2
autoconf
./configure
./make
./make install

 

OpenACS/dotLRN windows installer how to

Created by Byron Linares, last modified by Gustaf Neumann 26 May 2021, at 12:32 PM

This page is obsolete and kept as a reference.

The how-to for a well maintained Windows installation is here.

OpenACS/dotLRN windows installer how to
Required software:

  • Inno Setup 5 or higher

Download

Installer Sources:
The installer source consists in a main Inno Setup script “installer.iss” and could be found in cvs or obtained with the installer.

Other files:
There are some necessary file numbers in order to build the installer.

  •  tcl\bintallerw.tcl: the AOLserver configuration script
  •  Install.xml: this XML file control the packages installed by the OpenAcs installer
  •  tcl\Windows-procs.tcl: This file includes various hacks to make OpenACS work     on Windows.Replaces the TCL exec command on Windows, allowing exec to be called with unix-y arguments.Index.tcl : file used for automatic installation.
  • Index-org.tcl: file used for manual installation.
  • Installer.tcl: file used in automatic installation.
  • Installer-org.tcl: file used in manual installation.
  • Stara.bat, stop.bat: batch files for starting and stopping all services.
  • Tools/setx.exe, tools/reg.exe ,/tools/uzip.exe, /tools/reg.exe Windows command line tools necessary for the installation process.
  •  AOLserver_4-0-beta-10_2003-08-04.zip: AOLServer
  •  cygwin.zip:  CygWin Unix environment for Windows. Cygwin.zip also contains the PostgreSQL database
  •  cygwin.bat: file to launch cygwin unix environment console.
  •  license_en.txt: license text file.
  •  important.txt: extra info text file.
  •  Note.txt : especial notes text file.

Download Resources

 

Building the installer:

 

  1. In order to build this installer we need to place all the resources in a folder.
  2. Create tools and tcl folders with the files before mentioned.
  3. Download OpenACS, dotLRN and all desired package and place in a folder and named “oacs-dotlrn”
  4. Open the file installer.iss and generate the installer.


The installer.iss has to important parts:
    [Files] section:
        In this section are listed all the sources for the installer, in this part you
        Can change or add any source that you want.
    [Run] section:
        In this section is where all commands are executed, like the cygwin installation, postgreSQL installation and AOLserver.
    [Code] section:
        Section for define procedures or functions to work around the installation.

These are the main sections in the “installer.iss” script. And the sections that have to be changed form personalize the installer.

developed at the Galileo University (www.galileo.edu) by Byron Haroldo Linares Roman bhlr@galileo.edu as part of the E-LANE project (www.e-lane.org)
 

Instructions on using the installer are at:

JSON

Created by Michael Aram, last modified by Michael Aram 20 Mar 2019, at 05:17 PM

Caveat: Page under construction

There are several libraries and ways available to parse and/or generate JSON in OpenACS. 

yajl-tcl

Created by Michael Aram, last modified by Michael Aram 20 Mar 2019, at 05:16 PM

Caveat: Page under construction

yajl-tcl

Example Installation for NaviServer under Ubuntu 

apt-get install libyajl-dev pkg-config
cd /var/tmp
export YAJLTCL_VERSION=1.7.0-rc1
wget --no-check-certificate -O yajl-tcl-${YAJLTCL_VERSION}.tar.gz https://github.com/flightaware/yajl-tcl/archive/v${YAJLTCL_VERSION}.tar.gz
cd /usr/local/src
tar -xzf /var/tmp/yajl-tcl-${YAJLTCL_VERSION}.tar.gz
cd yajl-tcl-${YAJLTCL_VERSION}
autoconf
./configure --enable-threads --with-tcl=/usr/local/ns/lib
make
make install

Using Pound as a reverse Proxy

Created by Nima Mazloumi, last modified by Benjamin Brink 30 Jun 2017, at 06:52 AM

Requirements: You have OpenSSL installed and created a certificate.

Assumptions:

  • You have OpenACS 5.2 installed (branch oacs-5-2) under /www/service0
  • Your Server has the IP-Address 1.2.3.4
  • Pound is running on Port 443 under user "root" and group "users"
  • AOLserver on 127.0.0.1, Port 10000
  • Your certificate is under "/www/service0/certs/certificate.pem"

For an alternative of pound, see Nginx with a sample configuration from Malte.

In order to use Pound for Load-Balancing and SSL encryption follow the below steps. Call "man pound" for a detailed description of the used parameters.

  1. Install Pound

    cd /opt/src
    wget http://www.apsis.ch/pound/Pound-2.1.6.tgz
    tar xzpf Pound-2.1.6.tgz
    cd Pound-2.1.6
    ./configure
    make
    make install

  2. Configure Pound

    emacs /usr/local/etc/pound.cfg/usr/local/etc/pound.cfg

    User            "root"
    Group           "users"
    LogLevel        0
    Alive           10

    ListenHTTPS
                Address 1.2.3.4
                Port 443
                Cert "/www/service0/certs/certificate.pem"
                xHTTP 2
                HeadRemove "X-SSL-Request"
                HeadRemove "X-Forwarded-For"
                AddHeader  "X-SSL-Request: 1"

                Service
                    URL ".*"
                    BackEnd
                            Address 127.0.0.1
                            Port 10000
                    End
                End
    End

  3. Configure AOLserver

    emacs /www/service0/etc/config.tcl

    set httpport              10000
    set address               127.0.0.1

  4. Start Pound+AOLserver

 

 

Next Steps After Installation, Debian Specific

Created by Kenneth Wyrick, last modified by Benjamin Brink 29 Jun 2017, at 11:38 AM

Next-Steps

After following:

Debian Installation Instructions

A. Installing Daemontools

Documentation
nano /usr/share/doc/openacs|dotlrn/README.daemontools on openacs package.

apt-get install daemontools daemontools-run

 
B. Configuring Daemontools and Using SVC

 

1) Change the "StartDaemon" value to "no" in /etc/default/:

 

# OpenACS
nano /etc/default/openacs

... or ...

 

# .LRN
nano /etc/default/dotlrn       

 

 

2) Stop the daemon:

 

 

# OpenACS
/etc/init.d/openacs stop

   ... or ...
 


 

# .LRN
/etc/init.d/dotlrn stop

 

 

 

 

 

 

 

 

 

 

3) Link daemontools dotlrn|openacs script:

 

# OpenACS
ln -s /usr/share/openacs/etc/daemontools /etc/service/openacs

... or ...
 

# .LRN
 
    

ln -s /usr/share/dotlrn/etc/daemontools /etc/service/dotlrn

Now you can control the dotlrn service using the svc command:
* To start the service: svc -u /etc/service//openacs or dotlrn
* To stop the service: svc -d /etc/service//openacs or dotlrn
* To restart the service: svc -t /etc/service/openacs or dotlrn
 

C. If There's Problems Purge and Reinstall


apt-get remove --purge openacs or dotlrn

 

 

 

apt-get install openacs or dotlrn

 

D. To configure the instance to listen on a different IP than 127.0.0.1

 

Edit the config.tcl file:
nano /etc/openacs|dotlrn/config.tcl

Change the following parameters to fit your needs:
set hostname Your hostname
set address to Your public IP

 

E. Backup and Restore (to be filled in)

 

 

 

 

I first went to: backup and restore docs

 

and found that I had to figure out how to:

 

su - $OPENACS_SERVICE_NAME
pg_dump -f /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup/before_upgrade_to_4.6.dmp openacs-dev
ls -al /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup/before_upgrade_to_4.6.dmp
exit

 

The $OPENACS_SERVICE_NAME
which I thought would be "dotlrn"
turned out to be "www-data"

Next I found there was no /var/lib/aolserver but there are /var/lib/dotlrn and /var/lib/postgresql

The default paths show the locations that were decided upon (in early 2004) so below we will try to document were things are in a standard dotlrn installation, now.

 

a work in progress  
   
OpenACS service dotlrn
OpenACS service account www-data
OpenACS database name dotlrn
SERVERROOT /usr/share/dotlrn/www
Database backup directory /var/backups/
Service config files /usr/share/dotlrn/etc/config.tcl
Service log files /usr/share/dotlrn/log/
PostgreSQL directory /usr/lib/postgresql/8.3/main
AOLserver directory /usr/lib/aolserver4
Backup Script /usr/share/dotlrn/etc/backup.sh

 

 

 

 

 

 

 

 

 

 

 

 

 

F. Installing Packages (to be filled in)

 

 

 

1. From .LRN CVS

a) Create a local repository

b) Download to your local repository

 

 

G. View the Log File

 

nano /var/log/aolserver4/dotlrn/error.log

 

H. Mail Server (to be filled in)

 

 

  1. Installation
  2. configuration

 

Securing your system

Created by Benjamin Brink, last modified by Benjamin Brink 29 Jun 2017, at 11:33 AM

It's imperative that you secure your installation. As Jon Griffin repeatedly warns us, "No distribution is secure out of the box."

A Reference Platform implements some basic precautions, but security is a process, not a condition. If you are responsible for a computer hooked to the internet, you are responsible for learning some rudiments of security, such as monitoring the state of a computer, maintaining patch levels, and keeping backups.

We recommend these resources:

Content Security Policies (CSP)

OpenACS supports CSP starting with version 5.9.1.

Install ProjectOpen

Created by Robert Taylor, last modified by Gustaf Neumann 01 Jun 2017, at 10:14 AM

See http://www.project-open.com/en/list-installers

previous December 2024
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Popular tags

17 , 5.10 , 5.10.0 , 5.10.1 , 5.9.0 , 5.9.1 , ad_form , ADP , ajax , aolserver , asynchronous , bgdelivery , bootstrap , bugtracker , CentOS , COMET , compatibility , CSP , CSRF , cvs , debian , docker , docker-compose , emacs , engineering-standards , exec , fedora , FreeBSD , guidelines , host-node-map
No registered users in community xowiki
in last 30 minutes
Contributors

OpenACS.org