RosarioSIS is a web based application which relies on other facilities such as a web server, PHP server-side scripting, and a PostgreSQL or MySQL/MariaDB database server.
For RosarioSIS to work you must first have your web server working, PostgreSQL (or MySQL/MariaDB) working, PHP working (including the pgsql, mysqli, gettext, intl, mbstring, gd, curl, xml & zip extensions). Setting these up varies a lot with operating system so it is well beyond the scope of this brief install document.
RosarioSIS was tested on:
- Windows 10 x86 with Apache 2.4.16, Postgres 9.3.6, and PHP 7.1.18
- macOS Monterey with Apache 2.4.54, Postgres 14.4, and PHP 8.0.21
- Ubuntu 22.04 with Apache 2.4.52, MariaDB 10.6.12, and PHP 5.6.40
- Ubuntu 22.04 with Apache 2.4.57, Postgres 14.9, and PHP 8.1.2
- Debian Bullseye with Apache 2.4.54, Postgres 13.7, MariaDB 10.5.15, and PHP 8.2.6
- Shared hosting with cPanel, nginx, Postgres 9.2, and PHP 7.2
- through Mozilla Firefox and Google Chrome
- through BrowserStack for cross-browser compatibility (not compatible with Internet Explorer)
Minimum requirements: PHP 5.5.9 & PostgreSQL 8.4 or MySQL 5.6/MariaDB
Installation directions for:
- Windows
- Mac
- cPanel
- Softaculous
- Docker
- Ubuntu (or any Debian-based Linux distribution), see below
Unzip RosarioSIS, or clone the repository using git to a directory that is accessible to your web browser. Edit the config.inc.sample.php file to set the configuration variables and rename it to config.inc.php.
-
$DatabaseTypeType of the database server: either mysql or postgresql. -
$DatabaseServerHost name or IP for the database server. -
$DatabaseUsernameUsername used for authenticating the database. -
$DatabasePasswordPassword used for authenticating the database. -
$DatabaseNameDatabase name. -
$DatabaseDumpPathFull path to the database dump utility, pg_dump (PostgreSQL) or mysqldump (MySQL). -
$wkhtmltopdfPathFull path to the PDF generation utility, wkhtmltopdf. -
$DefaultSyearDefault school year. Only change after running the Rollover program. -
$RosarioNotifyAddressEmail address to receive notifications (new administrator, new student / user, new registration). -
$RosarioLocalesComma separated list of locale codes. Check thelocale/folder for available codes.
$DatabasePortPort number to access the database server. Default is 5432 for PostgreSQL & 3306 for MySQL.$RosarioPathFull path to RosarioSIS installation.$StudentPicturesPathPath to student pictures.$UserPicturesPathPath to user pictures.$PortalNotesFilesPathPath to portal notes attached files.$AssignmentsFilesPathPath to student assignments files.$FS_IconsPathPath to food service icons.$FileUploadsPathPath to file uploads.$LocalePathPath to language packs. Restart Apache after changes to this directory.$PNGQuantPathPath to PNGQuant (PNG images compression).$RosarioErrorsAddressEmail address to receive errors (PHP fatal, database, hacking).$TimezoneDefault time zone used by date/time functions. List of Supported Timezones.$ETagCacheSet tofalseto deactivate the ETag cache and disable "private" session cache. See Sessions and security.define( 'ROSARIO_POST_MAX_SIZE_LIMIT', 16 * 1024 * 1024 );Limit$_POSTarray size (default is 16MB). More info here.define( 'ROSARIO_DEBUG', true );Debug mode activated.define( 'ROSARIO_DISABLE_ADDON_UPLOAD', true );Disable add-ons (modules & plugins) upload.define( 'ROSARIO_DISABLE_ADDON_DELETE', true );Disable add-ons (modules & plugins) delete.
Now, you're ready to setup the RosarioSIS database. If you have access to the command prompt for your server, open a terminal window and follow these instructions.
The following instructions are for PostgreSQL (for MySQL see below):
- Login to PostgreSQL as the postgres user:
server$ sudo -u postgres psql- Create the rosariosis user:
postgres=# CREATE USER rosariosis_user WITH PASSWORD 'rosariosis_user_password';- Create the rosariosis database:
postgres=# CREATE DATABASE rosariosis_db WITH ENCODING 'UTF8' OWNER rosariosis_user;- Logout of PostgreSQL:
postgres=# \qAlso, the pg_hba.conf file may have to be altered to enable password (md5) peer authentication:
# "local" is for Unix domain socket connections only
local all all md5
The following instructions are for MySQL (RosarioSIS version 10 or higher):
- Login to MySQL as the root user:
server$ sudo mysqlor
server$ mysql -u root -p- Allow function creation:
mysql> SET GLOBAL log_bin_trust_function_creators=1;- Create the rosariosis user:
mysql> CREATE USER 'rosariosis_user'@'localhost' IDENTIFIED BY 'rosariosis_user_password';- Create the rosariosis database:
mysql> CREATE DATABASE rosariosis_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
mysql> GRANT ALL PRIVILEGES ON rosariosis_db.* TO 'rosariosis_user'@'localhost';- Logout of MySQL:
mysql> \qTo install the database, point your browser to: http://yourdomain.com/INSTALL_LOCATION/InstallDatabase.php
That's it!... now, point your browser to: http://yourdomain.com/INSTALL_LOCATION/index.php
and login as 'admin' password 'admin'. With this login, you can create new users, and change and delete the three template users.
To help you spot installation problems, point your browser to: http://yourdomain.com/INSTALL_LOCATION/diagnostic.php
Install instructions for Ubuntu 22.04:
server$ sudo apt-get install php-pgsql php-mysql php-intl php-mbstring php-gd php-curl php-xml php-zipRecommended PHP configuration. Edit the php.ini file as follows:
; Maximum time in seconds a PHP script is allowed to run
max_execution_time = 240
; Maximum accepted input variables ($_GET, $_POST)
; 4000 allows submitting lists of up to 1000 elements, each with multiple inputs
max_input_vars = 4000
; Maximum memory (RAM) allocated to a PHP script
memory_limit = 512M
; Session timeout: 1 hour
session.gc_maxlifetime = 3600
; Maximum allowed size for uploaded files
upload_max_filesize = 50M
; Must be greater than or equal to upload_max_filesize
post_max_size = 51M
Restart PHP and Apache.
Install instructions for Ubuntu 22.04. Install the Spanish language:
server$ sudo apt-get install language-pack-esThen restart the server.
Install instructions for Ubuntu 22.04 (jammy):
server$ wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
server$ sudo apt install ./wkhtmltox_0.12.6.1-2.jammy_amd64.debSet path in the config.inc.php file:
$wkhtmltopdfPath = '/usr/local/bin/wkhtmltopdf';
Install instructions for Ubuntu 22.04. Activate the PHP mail() function:
server$ sudo apt-get install sendmail