ONO Download

Here you may download the current stable ONO release, installation instructions can be found below.

Latest release

We're currently working on a first public release, please be patient!

Previous releases

n/a

License

ONO is licensed under the Artistic License 2.0, which means that you may download it, you may use it (at your own risk), and you may make modifications to it, but all modifications must be made available to the original author:

https://www.perlfoundation.org/artistic-license-20.html

Install

Please note that the installation procedure as described here does not work yet, as the entire software package is not ready for release yet!

We recommend that you will have (at least) 2 separate installations: one for development, and one for your production system. You should have either SSH or direct access via terminal to both systems.

Download the latest release, then copy the directory "ono" to the document root of your webserver.

Make sure that you have write permissions on your document root, then type the following to install ONO:

cd /ono/sys/
./install.pl

If you get any error messages, then please fix all problems until the installer script will run successfully. You should now see the following files and directories in your document root:

/cgi-bin
/etc
/index.shtml
/ono
/var

Opening your site in your web browser should now display a copy of the official ONO Perl Framework website:

https://www.example.com/

If you get any errors, then please try to fix them now, in most cases the problems should be related to your Apache configuration, or maybe you have bad permissions on your files and / or directories.

If everything works fine, then please make sure that the .htaccess protection on the /etc and /var directories is working as expected.

If this is the case, then it's time to change your root password using the ONO Admin interface:

https://www.example.com/ono/admin/

The default password is simply "root", so you'll need to change this instantly. Enter your login credentials (username = "root", password = "root"), navigate to the "Dashboard > Users" tab, edit the root user and update the password.

Next, you should navigate to the "Dashboard > System" tab, where you'll see a lot of useful information regarding both your ONO software and your host system. You'll probably see that some CPAN modules are not installed, and that some tests could not be successfully completed. Even if ONO is now up and running, a lot of useful tools and features will not be available as long as the listed CPAN modules and other packages are missing. We therefore strongly recommend to update your server and to make sure that everything is installed and that all tests can be passed.

As you're now on your development workstation, you should add the following file inside of the /cgi-bin directory:

/cgi-bin/devstation.txt

The content of the file should be your client's IP address. This file will allow ONO to recognize that the current system is no a production system. You also shouldn't enable mod_perl on your development system, as this would make it harder to debug stuff.

Now that your development station is bascially ready, you should repeat the same steps on your production system:

Upload the "ono" directory, run the installer, change the root password, and install all missing CPAN modules and software packages.

On your production system, you should restrict access to your ONO administration tools by adding the following file, using the following content:

/etc/security/onoaccess.conf
AdminIPDeny ALL
AdminIPAllow "x.x.x.x"
UserIPDeny ALL
UserIPAllow "x.x.x.x"

Replace x.x.x.x by your client's IP address. If you have a dynamic IP, then you can also opt for an IP range (x.x.x, or even x.x), and you may also use multiple lines to allow multiple IP addresses.

Furthermore, you may add an additional PIN code to the login page, and enable reporting bad login attempts using the following file:

/etc/security/onologin.conf
AdminReportLoginAttempts on
AdminLoginPIN 1234
UserReportLoginAttempts on
UserLoginPIN 1234

Your PIN code will now be "1234", and bad PINs or bad passwords will trigger an e-mail to be sent to you. In order for the e-mails to work, you'll need sendmail on your server, and we'll have to add default "tracker" and "noreply" e-mail addresses:

/etc/mail/addresses/noreply.txt
noreply@example.com
/etc/mail/addresses/tracker.txt
you@example.com

Finally, we'd like to have mod_perl enabled on your production system, to make sure that ONO powered scripts will be really fast:

/cgi-bin/.htaccess
SetHandler perl-script
PerlResponseHandler ModPerl::PerlRun
PerlOptions +ParseHeaders
Options +ExecCGI +FollowSymLinks

Now both your development station as well as your production server are ready to be used.

On your development station, we will now add a new ONO powered website or platform. As you may see, a copy of the official ONO Perl Framework website is already installed on your system:

https://www.example.com/cgi-bin/local/perl/demo/index.pl

You should remove the "demo" directory on your production server, but you may keep it on your development station, as it may help you to understand how ONO powered websites work.

You are now ready to add a new ONO project, named "test" for example:

mkdir /cgi-bin/local/perl/test

Now you should run the ONO.pl script, as this will analyze and test your entire software installation, and it will also automatically update your new project and add some vital files to it:

cd /ono/sys
./ONO.pl

If this causes any problems, then please fix them instantly. Otherwise, ONO.pl should now have installed a ready-to-use project in your new project directory. You may now edit your new project and try to build something great. You may test your project here:

https://www.example.com/cgi-bin/local/perl/test/index.pl

Enjoy!