Some of the information here is repeated in the User Guide where it was first documented and where this document does not provide the information then the User Guide should be consulted as it may well be found there.
There are quite a number of features in Oscailt but the most important are that it allows stories and comments to be published which are stored in a database. Additionaly stories and comments may also attach images, audio, video, various miscellaneous files like pdfs and embedded video and audio. It can import and export RSS & Atom feeds of stories too.
Different story types can be defined and for story types of 'events', there is an event calendar which can list events in a monthly or weekly format or just a plain listing. For accessing older stories, there is a basic archives page.
Oscailt has the ability to customise the layout and setup different page layouts for different types of pages. This allows for different types of newswires and article view pages and headline boxes. Oscailt also has reasonable multiple language support.
For a full listing of Oscailt features, see Oscailt Feature List.
In all cases below the software required to be pre-installed is freeware and is usually under the GPL license.
To install and run Oscailt, you need to have the following:
This is often known as a LAMP installation where the acronym stands for: Linux, Apache, MySQL and PHP.
For a table of compatible PHP and MySQL versions for the most recent Oscailt release see: Features List: Section 3. Software RequirementsNote: In the case of MySQL you may use the fork of MySQL, the Maria Db but so far Oscailt has not been tested with it, but it should work in theory.
Most web hosting sites offering an Apache webserver will generally come with MySQL and PHP already installed.
To make use of additional options in Oscailt you may need any number of the following:
If you are just installing Oscailt on your laptop, initially to test it out, then you probably do not need an email server nor need to setup a domain name. There are many options to load a LAMP installation on your own laptop or to use a Windows version of the more or less the same thing. One such example but not the only one is Bitnami
It also includes the MagpieRSS and PHP XMPP Libraries GNU software.
Transferring the downloadable release gzip/tar file onto the server can present problems depending on whether you have direct terminal and or ftp access to the server or you are forced to use an web interface like myPhpAdmin. If it is on your own laptop then that process is trivial. Once the file is on the server you need to extract all the Oscailt php files into the appropriate directory.
Therefore these two steps are split out and if the first is second nature to you then skip to the subsequent section.
To install, you must create an empty database and load the Oscailt php files onto your webspace and run the install script. See the README file for more details that comes with Oscailt downloadable zip file. The software can be downloaded from http://sourceforge.net/projects/oscailt/ and a list of the features at Oscailt 4.x features and functionality
For direct access follow these general steps
gunzip oscailt43.tar.gz
tar -xf oscailt43.tarThis should generate a set of directories with this structure relative to that point. Some of the sub-directories from the imports, exports and graphics directory have been removed for clarity.
The area highlighted below in purple-bold is what needs to be copied or moved to be under the Apache webserver htdocs area -i.e. under /var/www/html/htdocs/
+---documentation ¦ +---images ¦ +---userguide ¦ +---images +---html ¦ +---attachments ¦ ¦ +---xspf_player ¦ +---config ¦ +---graphics ¦ +---javascript ¦ +---objects ¦ ¦ +---feedexport ¦ ¦ +---indyobjects ¦ ¦ ¦ +---indydataclasses ¦ ¦ +---indyruntime ¦ ¦ +---magpie ¦ +---openwysiwyg ¦ +---tinymce ¦ +---xmldata ¦ ¦ +---imports ¦ ¦ ¦ +---A_Small_Generic_NewsSite_Red ¦ ¦ ¦ +---A_Small_Generic_NewsSite_Yellow ¦ ¦ ¦ +---Basic Generic Site ¦ ¦ ¦ +---Basic Generic Site (Blue) ¦ ¦ ¦ +---Basic IMC ¦ ¦ ¦ +---Basic NewsSite ¦ ¦ ¦ +---Basic_News_Site_Blue_Theme ¦ ¦ ¦ +---Basic_News_Site_Red_Theme ¦ ¦ ¦ +---Beginner_Generic_news_Yellow ¦ ¦ ¦ +---full indymedia template ¦ ¦ ¦ +---Simple Indymedia ¦ ¦ ¦ +---Simple Site 2 ¦ ¦ +---indydatatypes ¦ ¦ +---itemcache ¦ ¦ +---templates ¦ ¦ +---site_section_templates ¦ +---XMPPHP +---tools +---upgrades +---upgrade-3-01 +---upgrade-3-02 +---upgrade-3-03 +---upgrade-3-04 +---upgrade-3-05 +---upgrade-3-06 +---upgrade-3-06-01 +---upgrade-3-06-02 +---upgrade-3-07 +---upgrade-3-07-01 +---upgrade-3-07-02 +---upgrade-3-08 +---upgrade-3-09 +---upgrade-4-0 +---upgrade-4-0-01 +---upgrade-4-01 +---upgrade-4-02 +---upgrade-4-02-01 +---upgrade-4-03 +---upgrade-4-03-01Note: If this is an upgrade you are doing, then you will want to transfer the relevant upgrade files temporarily to the webserver root directory but it is very important that they are removed once the upgrade is complete.
find . -type f -exec chmod 644 {} \;
sudo find . -type f -exec chown apache:apache {} \;and for directories.
sudo find . -type d -exec chown apache:apache {} \;
cd /home/user1/oscailt42/ sudo mv html/ /var/www/htdocs/.
If you are doing an install with bitnami virtual VM on debian, the apache server may run as user 'daemon' and you could end up with a mixture of file ownerships. The reason is that during the install any directories and cache files created will be under the apache user. So this woul need to be resolved. It is possible the files are initially given ownership as "root" but that would need to be changed.
Important: You must set the database default character set to latin1 and NOT to UTF-8 which will be the default in some installations.
When these steps are complete the oscailt database configuration file needs to be updated with the details.
There are four steps really which are:
CREATE USER 'oscailt_user1'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE oscailt_db CHARACTER SET = latin1;
Note: You may need to GRANT the correct permission to the database user with a command like:
GRANT ALL PRIVILEGES ON oscailt_db.* TO 'oscailt_user1'@'localhost' IDENTIFIED BY 'password';or this might be sufficient
GRANT ALL PRIVILEGES ON oscailt_db.* TO 'oscailt_user1'@'localhost'You may also after the install want to limit the permissions because once the install is done, the database user will not need the permissions any more for creating, modifying or deleting tables since it will only be dealing with records from that point on. Thus it is a security risk from that point onwards to allow it to have too many permissions. An ideal solution is to create two separate users one with the higher level permissions and to start off with the higher level one for the install and then update the config/dbconfig.php after with the lower level permission user.
RewriteCond %{REQUEST_URI} !^((.*)install.php)$You must remove this after the install for security reasons and preferably either move the install.php file back out of that directory or delete it.
You will now see the start page of the install.php and it guides you through a number of pages to:http://www.my-new-oscailt-site.net/install.php
There are two main options to choose from with the installer and they are:
Alternatively if you have your own design / layout in mind, then it may make sense to build a site from scratch. However this requires more effort to learn how the object layout of Oscailt works and which is reasonably well documented in the User Guide or you could install the simplest template site and then modify it and built out from it.
Therefore it is recommended to import a simple site and get it running, then through the admin pages see how the site is put together in terms of the object building blocks and that can be a good base to design your new site. Most of the template or starter sites are fairly basic and the idea is to keep them single so it is relatively easy to figure out how they are put together. They can be made a lot more complex by building up side menus, headers, footers and sets of links and static pages. You can even create RSS or Atom objects for importing things like favourite blogs etc.
When the install is complete then you need to
There can be many reasons for this but a frequent once is due to the default PHP settings. If you have access to the webserver error logs then there may be some information in that to indicate the problem. This should be found at /var/log/httpd/error_log
The PHP settings are controlled by the php.ini file. The location of this tends to be server dependent but the first place to look is to look for where PHP itself is installed on the server. Then to check this file and look for the setting for short tags. If it is off or disabled then you must enable them. This may or may not require a restart of the server.
If after that the problem persists then one should check the permissions for read access on the PHP files and the read access of directories too.
This is always a permissions problem and the first thing is to determine the username that the web server is running as and the user owner of the underlying Oscailt files and directories. If they are different this can lead to problems. You should ensure at least that both users are in the same Unix group. One solution is to change ownership (if you have permission) of the files and directories to that of the webserver user. See steps on how to do this in sec 2.1 above.
You should never use the setting 0777 (see above) on the directories as it is a major security risk but if it is used in order to get the initial directories created then you should use the chmod command to restrict permissions on all files and directories. Again see examples of how to use the command above as with the combination of the find and chmod command
Check the settings for the database name, host (i.e. server), username and password and ensure these match with the user name setup in the database AND that the database privileges have been granted. The host will in most cases be set to localhost but if the database is running on another server then you will have to enter the ip address for it.
Whenever the installation is complete, the installer will lead you to login into the new site and one of the first tasks should be to follow the step below.
If you have carried out the install and imported one of the template sites then there are a few basic steps you need to do and these are listed below. Not doing them may cause problems.
Not all these things need to be configured in advance. For example if you import one of the template sites during the install then you will have default settings for all of the above. Therefore this section is more a guide of where to find things and how to change the configuration.
In summary the different configuration areas are:
Each of these areas are described briefly in the following sections and in some cases they will refer to sections in the User Guide to save duplication here.
Parameter Description 1. Hard coded configuration in php files. The general idea is the less tdkely to be changed the less accessible. 2. Admin Configuration page settings. These are stored in the database. 3. Site related configuration. e.g. languages, story types, topics, regions, notification levels etc. 4. Site layout object configuration. e.g. the buidtdng blocks defining the site pages. 5. Oscailt editors and permissions configuration. e.g. additional oscailt users. 6. Cascading Style Sheets for controltdng, font sizes, weights, colours etc 7. Site graphics and banners used for the public face of the site 8. Language Related Configuration for controlling how many languages can be used in publishing and language specifc layout objects
chmod 600 dbconfig.php
However there is a small subset which are hard coded and the ones of note are:
The type of configuration change here is to either add or remove tags between the public and basic tags arrays to increase or decrease the set of allowed tags during publish. For example all the HTML tags that can be added by any of the Custom Tags in the publish object/page have to be in the basic set and the custom tags available to the public -i.e. non logged-in users has to match in the public set. If either the TinyMCE or OpenWYSIWYG options instead of Custom Tags are configured for publish forms, then this HTML tag may need to be revisited.
As a pre-requiste you should have pre-installed a Jabber server such as ejabberd from http://www.process-one.net/en/ejabberd and to configured at least two users with passwords. One is the user from which Oscailt will send chat messages and the second user is the one that receives the messages.
These users and passwords then need to be set in the xmp_sender_user and xmp_recipient and related parameters. The host of the site needs to be set. The comments in the file should explain the exact details. The Jabber server will need SSL certs. You can use your own in which case it is important to set the correct value in the peer_name parameter.
Finally when Oscailt is setup there is a special Jabber page where tests can be carried out at sending and receiving chat messages to these users. The link to this test Jabber page can be found in the admin User Status set of pages.
This section only applies if the ffmpeg integration is enabled. ffmpeg is a command line tool for use with video files. As part of the integration with Oscailt, it is necessary to configure the path to the ffmpeg binary by setting the value of the variable $oscailt_basic_config['ffmpeg_path'] in the file. config/systemconfig.php and it is also required to check that from the main configuration page the Installed ffmpeg checkbox is ticked.
A summary of the items to configure would be:
Oscailt uses three style sheet files and they can be edited from within the Admin area as described in the User Guide in section 5.4 Edit Style Sheets.
There is some previous coverage of what and where the style classes are in section 11. Use of Cascading Style Sheets (CSS) in Oscailt of the User Guide
In Oscailt v3.7 a new admin feature was introduced that allow an editor to select new foreground and background colours for most of the style classes and to re-generate the css files. This is accessible through the style sheet admin pages and is documented in the User Guide in 5.4.1 Generate New Style Sheets. And in the latest release, version 4.0, there is a new sub-page from this section that displays multiple colours and allows one to play around with various combinations to help settle on selecting a colour which is probably a useful aid when redesigning style sheets.
html | +---graphics
The install comes with a default set of graphics but one is likely to either modify the existing ones or create new ones. Many of the Oscailt object building blocks for the designing the pages have options to include images / graphics but there is one object called the pictureBox object which is designed specifically for displaying images because if you define several language versions, it can display the correct one for the current browser language setting. For example you can have a set of banner images named as follows: en_banner.jpg, es_banner.jpg, fr_banner.jpg and de_banner.jpg which would display for English, Spanish, French and German language settings respectively. You could also have regional or even topic versions. The allowed formats of the file naming convention are listed below. And it searchs for fileypes in order of: gif, jpg and png.
region_topic_code_banner where code is the two letter language code. topic_region_code_banner region_topic_banner topic_region_banner region_code_banner region_banner topic_code_banner topic_banner code_banner banner
There is a useful feature in the admin page under the View Objects page and the 5.12.2 View Theme Images tab which will list all the images / graphics that are currently being used by the different site objects and this greatly helps to pin down which images are in use and where.
To change images, one can edit the layout object and simply point to a different image. However if you do not have a lot of access to the server, the problem becomes how and where to upload images. This solved by providing an Uploads File option in the Admin Layout area and the files / images uploaded will be stored in the directory
html +---attachements +---sites +---site_1where site_1 is site with Id = 1. If you create multiple sites you will get other ids, so the files will go to the relevant directory for which admin layout page you are viewing. Then when you want to add an image into an object like PictureBox you provide a relative path to it. For example if the image is called image1.jpg then in the example above for uploads you would enter
attachments/sites/site_1/image1.jpg
Once all the objects are convered then the objects should be rebuilt by going to the ClearCache admin page and selecting the Rebuild Objects option.
A final check should be made on the main configuration admin page to ensure the system default date format is also updated. This should also have an automatic suggested conversion.
Before starting to design a site it is worth reviewing section 3. Display Overview of the User Guide to understand how the basic layout operates in Oscailt and then to read section 2.4. Configuration of Site Layout Then you are ready to read sections 2.6 Overview for Creating an Oscailt Site and 6. Instructions for Configuration of Site Layout
Then section 10. General How To Section should cover most of the specific scenarios one is likely to encounter when adding more complex options and features into a site layout.
It would also be instructive to do a few initial installs of one of the template sites and examine how each site is built out of the various objects and are linked together before perparing to build your own site.
A useful tool for examing the overall set of objects one has built already is to use the Admin View Objects which is briefly described in section 5.12 View Object Usage
While using the UTF-8 character set would allow all languages to be supported, traditionally the PHP string handling did not handle this very well and the code would need a very large amount of effort to re-work it to use UTF-8 and given there has been no demand for non Latin languages, it does not make sense to devote effort into this task.
For a multi-language site, all of the above are likely to be carried out except the translation of administration layout pages since only a very small set of editors would have access to these and would require them to be in another language.
Firstly the Apache configuration files on your server are generally under the directory: /etc/httpd/
The file oscailt.cf is an exact copy of the .htaccess can be found in the html directory of the Oscailt install.Include /etc/httpd/conf/oscailt.cf
In most cases where you are using a webserver from a hosting firm, PHP will be pre-installed. For details of installation of PHP itself there are many resources for this on the Internet. However this section is present here so as to highlight some key configuration parameters that may arise if you are encountering problems.
Configuration in PHP is controlled through a file called: php.ini which has many values, most of which are defaulted. The short_open_tag may arise if the code is not executing or generating syntax errors and controls the classic opening / closing PHP tags. The next two parameters display_errors and html_errors should be possibly switched off on a production system and switched on in a development or testing system.
If your system is not communicating with the database then next parameter mysqli.default_port may have an incorrect value. You will need to find out what the setting is on MySQL itself.
If you are using for example the Bitnami LAMP/WAMP install for development, it is useful to disable the operations cache by setting it to zero in parameter opcache.enable.
short_open_tag = on display_errors = on html_errors = on mysqli.default_port = <port>
When you have installed Oscailt, then from the Edit Configuration page under the option System Installation Info tab or link, many of the other PHP settings important to Oscailt are displayed.
When complete and the Jabber server has been started then from the Jabber tab in Oscailt Admin Users Logged In & Msgs page, there is an option to send a test message to ensure it is all working.
This command line tool can be used for extracting cover images from video files (e.g. mp4 files) or can be used for reducing the size of the video for example from 1280x720 to 640x360. It has numerous other features. Within Oscailt the Admin image manager makes use of the tool.
You will need access to the server to install this tool. If you are using a hosting service they may not permit it. There are many websites explaining how to install ffmpeg on the various different flavours of Linux.
For information and documentation about ffmpeg itself, visit it's website at: https://ffmpeg.org/
On many Linux servers this command line tool will be already installed. It is a tool for sending http requests and receiving the response. It is a highly versatile tool. There are many resources found online describing how to install it. In the case of Oscailt it can be used for retrieving imported RSS feeds.
However PHP has an inbuilt curl API library which was not available in earlier versions, so this negates the need to install it these days.
Unfortunately the former Oscailt list oscailt at lists.indymedia.org is no longer operating.
Last updated: Mar 2024