TCExam Installation
System Requirements
The installation instructions assumes that you have a fully functioning web server.These are the minimum requirements needed before installation of TCExam can be successful:
- A Web server: Apache 1.3+ (http://httpd.apache.org/) or IIS 6+ (http://www.microsoft.com).
- PHP 5+ (http://www.php.net)
You must ensure that you have gd, imagick, curl, mysql, and pgsql libraries enabled within your PHP installation. - A DMBS:MySQL 4.1+ (http://www.mysql.com) or PostgreSQL 8.2+ (http://www.postgresql.org)
- The LaTeX rendering requires the following additional software:
- LaTeX (http://www.latex-project.org/), for Windows I suggest to use MiKTeX (http://miktex.org/);
- ImageMagick (http://www.imagemagick.org/);
- Ghostscript (http://sourceforge.net/projects/ghostscript/).
- The Optical Mark Recognition (OMR) system requires zbarimg application (http://zbar.sourceforge.net)
If installing on your home or office computer (for local testing only) there are a number of packages for the various operating systems that will assist in establishing these requirements:
- XAMPP - Multi-platform - Apache, MySQL, PHP, installation. http://www.apachefriends.org/en/xampp.html.
- WAMP - Windows platform - Apache, MySQL, PHP, installation. http://www.wampserver.com/en/
- MAMP - Macintosh platform - Apache MySQL, PHP, installation. http://www.mamp.info/en/index.php
- For MySQL:
sudo apt-get install acpid apache2 ghostscript gsfonts imagemagick libapache2-mod-auth-mysql libapache2-mod-auth-plain libapache2-mod-php5 libauthen-pam-perl libio-pty-perl libmd5-perl libnet-ssleay-perl libpam-runtime lm-sensors mysql-client mysql-server openssl perl php5 php5-cli php5-gd php5-imagick php5-curl php5-mcrypt php5-memcache php5-mysql php5-xcache ssh tetex-base tetex-bin tetex-extra texlive-base-bin zbar-tools
- For PostgreSQL:
sudo apt-get install acpid apache2 ghostscript gsfonts imagemagick libapache2-mod-auth-pgsql libapache2-mod-auth-plain libapache2-mod-php5 libauthen-pam-perl libio-pty-perl libmd5-perl libnet-ssleay-perl libpam-runtime lm-sensors openssl perl php5 php5-cli php5-gd php5-imagick php5-curl php5-mcrypt php5-memcache php5-pgsql php5-xcache postgresql postgresql-client postgresql-contrib ssh tetex-base tetex-bin tetex-extra texlive-base-bin zbar-tools
Configuring DBMS
In order for TCExam to work properly, you will need to have a functioning MySQL or PostgreSQL Database prior to beginning the install process.TCExam will create a database and the associated tables, provided the details are correctly entered, during the installation process. On occasion however, it may be necessary to create the database ahead of time. Just make a note of the appropriate settings before proceeding with the installation:
- The name of your MySQL/PostgreSQL database. This may be pre-set on some hosted server set-ups.
- The name of the MySQL/PostgreSQL host. This is usually called "localhost" if you are installing on a PC or a local server. However, if you are using shared hosting, check with your hosting provider to be sure this is the case.
- A MySQL/PostgreSQL username. This may have been allocated by your server provider. A local MySQL installation generally has the default administrator username set as "root".
- A MySQL/PostgreSQL password. This may have been allocated by your server provider. Local MySQL installation generally has the default administrator password set to a blank field. TCExam always requires a non-blank password. To change the password use the following syntax:
[MySQL] mysql - u root UPDATE mysql.user SET Password=PASSWORD('mypassword') WHERE User='root'; FLUSH PRIVILEGES; quit; [PostgreSQL] sudo su postgres -c psql template 1 ALTER USER postgres WITH PASSWORD 'mypassword'; q
Configuring PHP
For the correct use of TCExam, PHP has to be configured to support the systems and libraries indicated above.Some parameters of PHP must also be set as the following:
- php.ini
date.timezone = Europe/Rome ; http://php.net/manual/en/timezones.php arg_separator.output = "&" magic_quotes_gpc = On magic_quotes_runtime = Off magic_quotes_sybase = Off request_order = "GPC"
- Apache module (/etc/httpd/conf/httpd.conf):
AddDefaultCharset UTF-8 php_value arg_separator.output "&" php_value magic_quotes_gpc On php_value magic_quotes_runtime Off php_value magic_quotes_sybase Off php_value request_order "GPC"
Installation
When installing TCExam for the first time, verify the system requirements. Assuming you have a working Apache/IIS web server, with PHP and a MySQL/PostgreSQL DBMS, you are on your way to installing TCExam.TCExam Upgrade
The TCExam upgrade process may vary at each release. Detailed instructions are contained on the UPGRADE.TXT file attached to each TCExam release.Getting the files
TCExam can be downloaded from SourceForge.net. The file is a compressed archive so you will need an utility program, either locally or on your host server, that can "unzip" the file (i.e. WinZip, WinRAR, 7Zip). Ensure that you choose latest stable release version.Installing Files
We are assuming you have established a working web server, with the necessary requirements, and that you know where to put files to display on the web server.Unzip the distribution file into a directory under your web server root. If you are using the Apache web server, this is typically c:apache groupapachehtdocs on the Windows OS and/usr/local/apache/htdocs or /var/www/ on a UNIX-like system but it my vary particularly on hosted servers and between different distributions of GNU-Linux OS.
What you do to install TCExam on a remote host is largely dependant upon the facilities your host provides - with regard to Control Panel software and connection resources. It may also depend upon your own skills concerning server access methods. A simple and typical procedure may involve: unzip the TCExam distribution file to a local directory on your local computer and then FTP the files to the host server placing them either directly under, or in, a directory under the web server root. There are many free FTP programs available for this operation, such as Filezilla. A Google search or visit to any of the open source resource sites will assist you in finding a suitable tool.
When you have finished uploading the files and folders, change the files owner to the Web server user (typically "www-data" or "apache"). On POSIX based systems (like Unix, Linux, etc), change to the TCExam directory and enter the following system command (substitute the user name appropriate for your system): chown -R apache:apache /var/www/tcexam.
Change the files access permission so that all user can write into the them. On POSIX based systems change to the TCExam directory and enter the following system command: chmod -R 777 /var/www/tcexam. For security reasons, you must properly set the permissions of these files at the end of the installation process.
Browser Installation
This type of installation will automatically install the database and will configure the essential system parameters. The installation process will delete any data of previous installations of TCExam, reason why in this case it is advisable to make backup copy of these data.Point your Web browser (i.e. Mozilla Firefox or Internet Explorer) to the TCExam installation script (http://www.yoursite.com/install/install.php or http://yoursite.com/tcexam_folder/install/install.php). To start the installation you must fill up the form completely and press the button INSTALL.
The required fields are:
- db type: type of DBMS (the default is MySQL).
- db host: name of the database host (usually localhost).
- db port: database port (usually 3306 for MySQL or 5432 for PostgreSQL).
- db user: name of the database user (usually it is root for MySQL and postgres for PostgreSQL).
- db password: user's password to access the database.
- db name: name of the database (usually TCExam). This name has to be changed just when there are other copies of TCExam in the same system.
- tables prefix: prefix that will be added to the table names (usually tce_).
- host URL: the domain name of your site (i.e. http://www.yoursite.com or https://www.yoursite.com).
- relative URL: relative path from the root of your webserver where the TCExam files are located (usually / or /tcexam_folder/).
- TCExam path: complete path of the folder where TCExam is installed (i.e. /usr/local/apache/htdocs/TCExam/ or c:/Inetpub/wwwroot/TCExam/).
- TCExam port: default connection port (usually 80 for HTTP or 443 for SSL - HTTPS).
In case the installation did not complete succesfully you can use the manual procedure described in the next section.
Manual Installation
In order to manually install TCExam you must edit some configuration files and install the database.The essential files and configuration parameters are:
- shared/config/cp_db_config.php
- K_DATABASE_TYPE (database type, usually MYSQL or POSTGRESQL)
- K_DATABASE_HOST (name of the database host, usually localhost)
- K_DATABASE_NAME (database name, usually TCExam)
- K_DATABASE_USER_NAME (name of the database user, it usually is root)
- K_DATABASE_USER_PASSWORD (password to access the database)
- K_TABLE_PREFIX (prefix that will be added to the table names, usually tce_)
- shared/config/cp_paths.php
- K_PATH_HOST (the domain name of your site, i.e. http://www.yoursite.com)
- K_PATH_TCEXAM (relative path from the root of your webserver where the TCExam files are located, usually / or /tcexam_folder/)
- K_PATH_MAIN (complete path to the folder where TCExam is installed, i.e. /usr/local/apache/htdocs/TCExam/ or c:/Inetpub/wwwroot/TCExam/)
- K_STANDARD_PORT (http communication port, usually 80 or 443 for SSL)
Database Installation
In the install folder there are all the SQL files with the structure and data of the database:- mysql_db_structure.sql - Contains the MySQL database structure.
- pgsql_db_structure.sql - Contains the PostgreSQL database structure.
- db_data.sql - Contains the default database data.
- In the ..._db_structure.sql file substitute CREATE TABLE tce_ with CREATE TABLE yourprefix
- In the db_data.sql file substitute INSERT INTO tce_ with INSERT INTO yourprefix
mysql -u root -p mysql> CREATE DATABASE TCExam; mysql> quit shell> mysql -u root -p TCExam < mysql_db_structure.sql shell> mysql -u root -p TCExam < db_data.sqlAs another option you can use an external DBMS manager (i.e. phpMyAdmin, phpPgAdmin, pgAdmin3, etc.) to create the database and run the SQL files by using the specific commands.
Post Installation and Configuration
Once the installation is completed you must:- delete the install folder since it is not necessary anymore and represent a security issue for the system (rm -fR /var/www/tcexam/install);
- there are additional commands required to ensure that files can not be altered unless intended by the administrator; on POSIX system you can use the following commands:
cd /var/www/tcexam
find . -exec chown -R apache:apache {} ;
find . -type f -exec chmod 544 {} ;
find cache/ -type f -exec chmod 644 {} ;
find cache/backup -type f -exec chmod 644 {} ;
find cache/lang -type f -exec chmod 544 {} ;
find admin/log/ -type f -exec chmod 644 {} ;
find public/log/ -type f -exec chmod 644 {} ;
find . -type d -exec chmod 755 {} ;
(n this example /var/www/tcexam is the installation folder, apache is the name of Apache user and group) - configure TCExam to fit your needs and activate additional features.
Configuration
Once the above installation procedure is successfully completed, TCExam will work in "basic" mode. Some additional configuration steps are required in order to activate some features (RADIUS, email, LaTeX) and to personalize some settings to fit your needs. All you have to do is to manually edit the following configuration files:- shared/config/ - Main configuration files:
- lang/ - language files
- language_tmx.xml - TMX language file (contains all translations)
- tce_cas.php - Configuration file for CAS (Central Authentication Service)
- tce_config.php - system general configuration
- tce_db_config.php - database configuration
- tce_email_config.php - general configuration of the email system
- tce_general_constants.php - general constants
- tce_latex.php - LaTeX configuration
- tce_ldap.php - LDAP configuration
- tce_mime.php - MIME associations to file extensions
- tce_paths.php - file and folder paths within the system
- tce_pdf.php - configuration of the format and the headers of the PDF documents
- tce_radius.php - RADIUS configuration
- tce_user_registration.php - user registration configuration
- lang/ - language files
- admin/config/ - Configuration files for the administration area:
- tce_auth.php - access levels configuration for the administration modules
- tce_config.php - general configuration for the administration panel
- public/config/ - Configuration files for the public area:
- tce_auth.php - access levels configuration for the public modules
- tce_config.php - general configuration for the public area
Access and Security
Once the installation and configuration procedures are completed, you can access the administration section by pointing your Web browser to http://www.yoursite.com/tcexam_folder/admin/code/ and using the following username and password:- name: admin
- password: 1234
To achieve a better level of security you have to protect the whole admin folder with a web-based user autentication system. For Apache check the Apache Authentication, Authorization, and Access Control.
0 comments :
Post a Comment