Cyclone3 Skin

Cyclone3 Framework installation

From Cyclone3 Wiki

(Difference between revisions)
(Install required libraries and other stuff)
(MySQL: example.tld not longer required)
Line 127: Line 127:
mysql -h localhost -u TOM < /www/TOM/_data/TOM.sql
mysql -h localhost -u TOM < /www/TOM/_data/TOM.sql
Create database "example_tld" for example.tld domain service.
mysql -h localhost -u TOM < /www/TOM/\!example.tld/_data/example_tld.sql
== Cron system ==
== Cron system ==

Revision as of 09:43, 19 October 2008

We are typically using Gentoo or Debian for Cyclone3 Framework, so these are our two cents for Debian administrators.

Warning: Use the wiki watch function above this page to watch it, because the installation process is changing toghether with the development of Cyclone3 in the future. So this document is important not only for the first installation, but for upgrading Cyclone3 as well

Note: If any problem occurs, don't hesitate ask us in our IRC channel #cyclone3 at


Preparing the Cyclone3 environment

First, check system requirements.

Get Subversion to manage and install Cyclone3 from subversion repository

apt-get install subversion, libsvn-perl

Get Cyclone3 Framework sources

mkdir /www
chmod 770 /www
svn co /www/TOM
chmod 770 /www/TOM

Add /www/TOM/.bin to PATH

vim /etc/profile
source /etc/profile

Install required libraries and other stuff

apt-get install build-essential
apt-get install libinline-perl
apt-get install libmime-perl
apt-get install libdatetime-perl
apt-get install libproc-process-perl
apt-get install libxml-generator-perl
apt-get install libxml-xpath-perl
apt-get install libsoap-lite-perl
apt-get install libnet-smtpauth-perl
apt-get install libstring-crc32-perl
apt-get install libfcgi-perl, libcgi-fast-perl
apt-get install libparallel-forkmanager-perl
apt-get install libcompress-zlib-perl (or libzlib-perl on ubuntu)
apt-get install libfile-type-perl
apt-get install perlmagick
apt-get install memcached



Install SVG perl library

gunzip SVG-2.36.tar.gz
tar -xvf SVG-2.36.tar
cd SVG-2.36
perl Makefile.PL
make install

Apache installation and configuration

Install Apache2.2

apt-get install apache2

Fix Cyclone3 permissions

chown www-data:www-data /www
chown www-data:www-data /www/TOM

Setup virtual hosts

cp /www/TOM/_config/httpd.virtual.conf.tmpl /www/TOM/_config/httpd.virtual.conf
vim /www/TOM/_config/httpd.virtual.conf

Include Cyclone3 httpd configs into Apache2

ln -s /www/TOM/.core/_config/httpd.conf /etc/apache2/conf.d/00-cyclone3.conf
ln -s /www/TOM/_config/httpd.virtual.conf /etc/apache2/conf.d/01-cyclone3-virtual.conf

Create user cyclone3

groupadd cyclone3
useradd cyclone3 -g cyclone3 -G www-data,crontab -d /www/TOM

Adding user www-data to the group cyclone3. Chceck following command manually (by editing /etc/group), because not works how is proposed

usermod www-data -a -G cyclone3

Configure Cyclone3 (setup default apache user to www-data)

cp /www/TOM/_config/TOM.conf.tmpl /www/TOM/_config/TOM.conf
vim /www/TOM/_config/TOM.conf
# setup apache user with line $TOM::user_www="www-data";

Apache2 modules

Install mod_fcgid.

apt-get install libapache2-mod-fcgid

Install mod_authnz_external (

apt-get install apache2-dev
gunzip mod_authnz_external-2.1.19.tar.gz
tar -xvf mod_authnz_external-2.1.19.tar
cd mod_authnz_external-2.1.19
apxs2 -c mod_authnz_external.c
apxs2 -i -a


Install MySQL (5.0)

apt-get install mysql-server

Create user "TOM" in MySQL

mysql -h localhost -u root -p < /www/TOM/_data/mysql.sql

Create database "TOM".

mysql -h localhost -u TOM < /www/TOM/_data/TOM.sql

Cron system

su cyclone3
crontab -e

Add this lines:

*    *    * * * cd /www/TOM/.core/;nice -n 20 ./cron 1min > /dev/null 2> /dev/null
*/5  *    * * * cd /www/TOM/.core/;nice -n 20 ./cron 5min > /dev/null 2> /dev/null
*/30 *    * * * cd /www/TOM/.core/;nice -n 20 ./cron 30min > /dev/null 2> /dev/null
2    *    * * * cd /www/TOM/.core/;nice -n 20 ./cron 1hour > /dev/null 2> /dev/null
5    */6  * * * cd /www/TOM/.core/;nice -n 20 ./cron 6hour > /dev/null 2> /dev/null
10    1    * * * cd /www/TOM/.core/;nice -n 20 ./cron 1day > /dev/null 2> /dev/null
20    2    */5 * * cd /www/TOM/.core/;nice -n 20 ./cron 5day > /dev/null 2> /dev/null
30    3    * * 1 cd /www/TOM/.core/;nice -n 20 ./cron 7day > /dev/null 2> /dev/null
40    4    1 * * cd /www/TOM/.core/;nice -n 20 ./cron 1month > /dev/null 2> /dev/null

In directory /www/TOM/_logs/ will be during 1-5 minutes showing new log files. When yes, cron system is working. When not, most often is the error in file permissions.


Make sure permissions are set right in the /www/TOM directory.

tom3-chfiles -a

Upgrade Cyclone3 and fix database structures.

tom3-chtables -a


Try to execute Cyclone3 web publisher from the commandline. (requires shell for apache)

su www-data
cd /www/TOM/\!example.tld/\!www/
perl core.tom

Check if cron services works without problems.

su cyclone3
cd /www/TOM/.core
./cron 1min

Restart Apache2 and try to load example.tld webpage

/etc/init.d/apache2 restart

Add example.tld into /etc/hosts and try to wget or load with browser example.tld testing webpage

See Also