Cyclone3 Framework installation
From Cyclone3 Wiki
(→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 | ||
- | |||
- | |||
- | |||
- | |||
== 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 irc.freenode.net
Contents |
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 http://svn.cyclone3.org/trunk/frame /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
Others
htmldoc inkscape ffmpeg mencoder
Install SVG perl library
wget http://search.cpan.org/CPAN/authors/id/R/RO/RONAN/SVG-2.36.tar.gz gunzip SVG-2.36.tar.gz tar -xvf SVG-2.36.tar cd SVG-2.36 perl Makefile.PL make 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 (http://unixpapa.com/mod_auth_external.html):
apt-get install apache2-dev wget http://unixpapa.com/software/mod_authnz_external-2.1.19.tar.gz 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 mod_authnz_external.so
MySQL
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.
Finalization
Make sure permissions are set right in the /www/TOM directory.
tom3-chfiles -a
Upgrade Cyclone3 and fix database structures.
tom3-chtables tom3-chtables -a
Tests
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
- Problems and solutions
- Cyclone3 performance tuning