Installation
Requirements
OASIS is supported only under RedHat Linux 8.0. This means that
if you want
a support contract with OASIS Professional Services, you must be running
RedHat Linux 8.0.
With that said, there are specific software requirements for OASIS.
If you can meet these on another platform, you should be able to run
OASIS. It is reported to work with RedHat Linux 6.2 through 8.0, as well
as FreeBSD.
The specific requirements are these:
- Apache 1.3.23 and up (version 2.0 supported in prefork mode)
- PHP 4.2.x and up (both Apache module and command-line PHP interpreter); make
sure your PHP build includes the following modules:
- curl
- domxml
- mysql
- sysvshm
- sysvsem
- MySQL 3.23 (http://www.mysql.com/) - version 3.23 is required for its MyISAM and HEAP tables
- ImageMagick (http://www.simplesystems.org/ImageMagick/) with support for JPEG and PNG (version 5.1.x and up)
- htmldoc (http://www.easysw.com/htmldoc/) version 1.8.8 and up
- curl (http://curl.haxx.se/) version 7.4.1 and up
Enterprise Server Notes
Users of this version will need the Zend Optimizer 2.1.0 installed.
Get it free from http://www.zend.com/
|
Setup
System Configuration
An ad server requires an accurate clock. It is recommended that for all
versions of OASIS, you set up NTP on your system to ensure accuracy of the
local clock. OASIS Enterprise requires that the clocks
be synchronized between master and slave.
Make sure that the ntpd service is running and is properly
configured on your server(s).
Apache Account Configuration
Your Apache account will not have privileges to run the cron jobs. You
need to give it a real shell. Edit /etc/passwd to change
the apache user's shell from /sbin/nologin to
/bin/bash. Standard warnings about editing
/etc/passwd apply.
PHP Configuration
If your command-line PHP interpreter is not at /usr/bin/php,
make a symbolic link. All of the scripts assume that this is the location
of the PHP interpreter.
Make sure that you have a php.ini file
and that it contains the following directives:
register_globals = On
always_populate_raw_post_data = On
memory_limit = 64M
register_argc_argv = On
track_errors = On
Note that some of these configuration directives are already in your
php.ini file. Don't just blindly add the above lines to your file;
change the existing directives to match the ones above.
Special note about
register_globals: some administrators are uncomfortable
with having
register_globals on. You can use register_globals and not
compromise your entire site by just enabling it for your OASIS directory.
The following lines of httpd.conf can serve as an example:
<Directory /path/to/oasis>
php_flag register_globals on
</Directory>
Zend Optimizer Installation
You will need the Zend Optimizer 2.1.0. Get it for free from
http://www.zend.com/. Follow its install documentation.
Apache Configuration
- Make sure Apache is configured for PHP.
- Include the
oasis_httpd.conf file that
will be created during the installation process. To do so, add the
following to /usr/local/apache/conf/httpd.conf:
Include conf/oasis_httpd.conf
Note that the path to oasis_httpd.conf
is relative to the Apache ServerRoot.
Even though this file doesn't exist yet, it's OK to change this; just
don't try to restart Apache until you've run the OASIS installer.
- Make sure that
LimitRequestBody is set to 0. Under RedHat
Linux, this directive is set in /etc/httpd/conf.d/php.conf.
Change the value and save the file.
OASIS Configuration/Installation
- Once you have PHP and all the other software above installed,
untar the OASIS distribution in a temporary location.
- Edit the file
oasis.cfg to set up some initial variables.
This file is self-documenting, so you should be able to figure out from
the comments how to configure it.
Enterprise Server Notes
Copy your license.txt file into the same directory as
oasis.cfg
|
- Run
install.php as root.
When prompted for a MySQL username and password, give a name and password
of a user privileged enough to add a new user to the MySQL privileges
tables, create the OASIS database, and reload the MySQL server (probably
root, which may have an empty password for MySQL).
If you notice any errors in the last couple steps (where mysqladmin is
called to reload, and
hourly_maint.php
is called),
you'll have to manually run those commands. MySQL must be reloaded
in order to allow the OASIS scripts to connect to the database.
hourly_maint.php must be run to load up shared memory for
OASIS.
If you see
warnings about shared memory or database connections, then you are going
to have to run hourly_maint.php by hand.
If you have
to run hourly_maint.php by hand, run it like this:
su - apache -c '/path/to/oasis/mgmt/hourly_maint.php start'
be sure to replace "apache" with the web_user you defined in
oasis.cfg!
-
Now restart Apache, and you can log into the Web interface.
Enterprise Server Notes
Note that OASIS Enterprise Server does not use
hourly_maint.php. Instead, it uses master_reload.php
on the master server.
Note that before you run master_reload.php on the master
server, you must do two things:
- Install OASIS on the slave servers (follow the exact same procedure
used to install the master; use the same
oasis.cfg and
license.txt files).
- Restart Apache.
- Go to the Web interface on the master server;
click on "Admin", then "Preferences", and enter your SlaveServers
(as a comma-separated list). Save your settings.
Now you are ready to run master_reload.php:
su - apache -c '/path/to/oasis/mgmt/enterprise/master_reload.php start'
|
OASIS Tests
- Open the OASIS interface, which is found
at "http://[oasis_host][oasis_url]mgmt/" (for example, if oasis_host =
oasis.yourdomain.com and oasis_url = /oasis/, you'll go to
http://oasis.yourdomain.com/oasis/mgmt/
to open the management interface).
Log in with the username and password you specified in
oasis.cfg.
- Create a top-level section for your ad server (for example, just call it
"Main").
-
Create an advertiser and a campaign (probably easiest to use the
Campaign Insertion interface under "New Campaign"). Go into the Campaign
interface to make sure the campaign is set to "Active". Also, make
sure that it is assigned to the top-level section you created, and
make sure that its dates cover the current day.
Enterprise Server Notes
Make sure you have specified one or more slave servers on the
Admin->Preferences page. This is a comma-separated list of hostnames
or IP addresses. You may include the master server as one of the slaves.
|
-
On the Admin page, reload the delivery engine.
-
Now go to the
Section interface, get the sample URL for your top-level section (just
click on the section's name), and then open the URL for the IMG SRC.
You should see your first banner served up.
If you don't see a banner, make sure that you see something assigned to
the section under Hourly Assignments (under Delivery Engine Internals
on the Admin page). Also make sure that the width and height specified
in the URL match those for the ad(s) you put into your first campaign.
If you don't see any assignments for Section 1, then most likely your
campaign is not Active, it wasn't assigned to Section 1, or its dates
do not cover the current day.
System Configuration
- Once you're getting banners, you need to
set up cron jobs
(
hourly_maint.php and minutely_maint.php)
in the crontab belonging to the web_user you defined in
oasis.cfg:
0 * * * * /path/to/php /path/to/oasis/mgmt/hourly_maint.php > /dev/null
5,10,15,20,25,30,35,40,45,50,55 * * * * /path/to/php /path/to/oasis/mgmt/minutely_maint.php > /dev/null
Enterprise Server Notes
OASIS Enterprise Server does not use hourly_maint.php.
The crontab should look like this instead:
0 * * * * /path/to/php /path/to/oasis/mgmt/enterprise/master_reload.php > /dev/null
5,10,15,20,25,30,35,40,45,50,55 * * * * /path/to/php /path/to/oasis/mgmt/minutely_maint.php > /dev/null
|
- Set up OASIS to start upon a system boot.
Add these lines to
/etc/rc.d/rc.local:
su - apache -c '/path/to/php /path/to/oasis/mgmt/hourly_maint.php start'
Of course you need to substitute your own paths and username in these lines!
Ideally, you will start OASIS before you start Apache (otherwise, some
users may hit the server before you have loaded shared memory).
Enterprise Server Notes
OASIS Enterprise Server does not use hourly_maint.php.
Put this in your rc.local instead:
su - apache -c '/path/to/php /path/to/oasis/mgmt/enterprise/master_reload.php start'
|
-
Finally, make sure that MySQL and Apache are starting at system boot.
Under RedHat Linux, you can use
chkconfig to control what starts
up at the various runlevels.