Top | Prev | Next
The system is tested to be working on the following specifications. Some plugin component that uses OS specific functions are tested on the appropriate platform.
The system is assumed to be used in the following environment.
ULYQUID is composed of 3 main modules under the /ulyquid/ directory. In order to allow safe access, you will need to properly configure the server environment with the correct permission and settings. The directories marked in bold especially requires restricted permissions (e.g. chmod 666).
Following shows you one example of installing ULYQUID on Linux. Distribution used in this example is CentOS 5. Please note that following only shows part of the configuration settings. For complete information on how to set up each components, refer to the official documentation of each application.
First of all, install PHP, MySQL, Apache. If already done so, update all software to the latest version. You may want to use the remi repository for getting the latest build (for distributions such as CentOS).
# yum install php # yum install php-mysql # yum install php-mbstring # yum install php-soap # yum install php-xml # yum install php-pear # yum install php-pear-XML-Parser # yum install php-gd # yum install mysql # yum install httpd # yum update # /etc/rc.d/init.d/mysql start # /etc/rc.d/init.d/httpd start
Edit the PHP configuration file (/usr/local/lib/php.ini).
Modify: extension_dir="/usr/lib/php/modules" extension=mysql.so extension=mbstring.so session.hash_bits_per_character = 4 (You may want to increase the following values if the system needs to process time consuming services) max_input_time = 6000 max_execution_time = 6000 (Set all other relevant character set to UTF-8) Make sure Apache is restarted: # /etc/rc.d/init.d/httpd restart
Edit the Apache configuration file (/etc/httpd/conf/httpd.conf).
AddDefaultCharset UTF-8 UserDir disable # UserDir public_html # <Directory/home/*/public_html> # ~ # </Directory>
Edit the MySQL configuration file (/etc/my.cnf).
Add: old_passwords=1 default-character-set=utf8 [mysql] default-character-set=utf8 Create database / Delete anonymous user: (NOTE: replace localhost with IP address if necessary) # mysql -u root > set password for root@localhost=password('password'); > delete from mysql.user where user=''; > exit; # mysql -u root -p > show database; > drop database test; Set up database: > create database ulyss_db > grant all privileges on ulyss_db.* to root@localhost identified by 'password'; > use ulyss_db;
ULYQUID installation is simple. Just copy the entire "ulyquid" folder to your document root (e.g. /var/www/html/).
Open /ulyquid/base/define.php and edit the OS definition. If you installed ULYQUID on Windows system, then the value should be SYSTEM_OS_WIN32.
define("SYSTEM_OS", SYSTEM_OS_UNIX); // Set the OS in which ULYQUID runs
Open /ulyquid/base/path.php and edit the path definition. SYSTEM_PHP_EXE is the php executable file path. SYSTEM_ROOT is the system root path. SYSTEM_URL is the actual address when accessing the system. Edit SYSTEM_WEBSERVICES_ROOT and SYSTEM_WEBSERVICES_URL if you are going to install local web services in the future.
define("SYSTEM_PHP_EXE", "/usr/local/php/bin/..."); define("SYSTEM_ROOT", "/var/www/html/"); define("SYSTEM_URL", "https://192.168.200.173/"); define("SYSTEM_WEBSERVICES_ROOT", "/var/www/html/"); define("SYSTEM_WEBSERVICES_URL", "https://192.168.200.173/");
Edit .htaccess to limit external resource access. There are 2 .htaccess files you need to consider: /ulyquid/data/.htaccess and /ulyquid/lib/.htaccess.
SetEnvIf Referer "^https://192.168.200.173/ulyquid/" ref_ok <-- Change to your server's IP address order deny,allow deny from all allow from env=ref_ok
Also, /ulyquid/.htaccess needs to be modified according to how you configure the system. Set the limit values for uploading files, especially if the system is disclosed to the public. You are strongly recommended to uncomment display_errors unless debugging.
# Set not to display errors in production environment (to avoid path disclosure) php_flag display_errors off # Maximum upload size limit settings php_value upload_max_filesize 100M php_value post_max_size 100M php_value max_execution_time 1200 php_value max_input_time 1200 php_value memory_limit 100M
Edit /ulyquid/base/db.php and set the following line of code to the correct MySQL connectivity details. Also do the same thing for /webservices/lib/sql.php if you are planning to use the internal webservices.
$this->pdo = new PDO("mysql:host=localhost;dbname=ulyss_db", "root", "password");
Also, run all SQL queries stated in /ulyquid/sql/create_all.sql to create the default tables in your database. Make sure you delete this file after installation is completed.