Filtered by category Tutorials for Administrators, 1 - 9 of 9 Postings (
all,
summary)
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!).
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
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:
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:
- In order to build this installer we need to place all the resources in a folder.
- Create tools and tcl folders with the files before mentioned.
- Download OpenACS, dotLRN and all desired package and place in a folder and named “oacs-dotlrn”
- 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:
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.
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
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.
- 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
- 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
- Configure AOLserver
emacs /www/service0/etc/config.tcl
set httpport 10000
set address 127.0.0.1
- Start Pound+AOLserver
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)
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)
- Installation
- configuration
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.
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