# setup database Edit the file "init.sql" and change the passwords of the three user accounts (calcms_admin, calcms_write and calcms_read). We use different accounts for different purposes. ## run init script with root permissions mysql -u root -p < ./install/init.sql ## if using plesk, use mysql -u admin mysql -p`cat /etc/psa/.psa.shadow` < ./install/init.sql ## import database content mysql -u calcms_admin -p calcms < ./install/create.sql ## socket connection issues If you use a local database connection and see the error message "could not connect to database: Can't connect to local MySQL server through socket" the user "www-data" cannot connect to socket due to missing permissions to the socket file /var/run/mysqld/mysqld.sock. You can either change the directory/file permissions or use host "127.0.0.1" in bind-address at /etc/mysql/* for client and server and additionally as hostname in config.cgi. ## Apache HTTP Server Setup ### install mod_perl install apache2 apt install apache2 enable prefork mode a2dismod mpm_event a2enmod mpm_prefork /etc/init.d/apache2 restart install apache2 rewrite apt-get install libapache2-rewrite a2enmod rewrite install mod_perl2 apt install libapache2-mod-perl2 libapache2-reload-perl libapache2-request-perl a2enmod perl ### Apache Configuration Copy Virtual host configuration apache2-sites/calcms.conf to /etc/conf/apache2/sites-enabled/. * setup domain * setup database connection * setup directories ### install required perl modules There are debian packages for most required perl modules. You can install CPAN packages, if you cannot use debian packages. For example there is no debian package for Image::Magick::Square, so you can install it by "cpan Image::Magick::Square". apt-get install #### install debian packages mariadb-server build-essentials imagemagick libapreq2-3 libapache2-request-perl libapache-dbi-perl libauthen-sasl-perl libauthen-passphrase-blowfish-perl libcalendar-simple-perl libcrypt-blowfish-perl libcgi-pm-perl libcgi-session-perl libcgi-simple-perl libconfig-general-perl libdatetime-perl libdate-calc-perl libdate-manip-perl libdbi-perl libdbd-mysql-perl libemail-sender-perl libencode-perl libjson-perl libhtml-formattext-withlinks-andtables-perl libhtml-parser-perl libhtml-template-perl libhtml-template-compiled-perl libmime-tools-perl libsession-token-perl libtext-multimarkdown-perl libtext-unidecode libtext-wikicreole-perl liburi-escape-xs-perl perlmagick sox libsox-fmt-all #### Install CPAN packages cpan Apache2::Reload Apache2::Request Apache2::Upload Apache::DBI Authen::Passphrase Authen::Passphrase::BlowfishCrypt Calendar::Simple CGI CGI::Carp CGI::Cookie CGI::Session CGI::Simple Config::General Data::Dumper Date::Calc Date::Manip DateTime DBD::mysql DBI Digest::MD5 Encode::Locale HTML::Entities HTML::FormatText HTML::Parse HTML::Template::Compiled HTML::Template::Compiled::Plugin::XMLEscape Image::Magick Image::Magick::Square JSON ModPerl::Util Session::Token Text::Diff::FormatedHtml Text::Markdown Text::WikiCreole URI::Escape #### Configuration Copy the configuration from website/config/config.cgi.off to website/config/config.cgi. Setup the domain and database connection. Now you can open the web gui at http:///programm/ To edit your radio programm open http:///agenda/planung/ ccAdmin shug!3Lu # inject calcms into your website calcms uses a copy of your web page as a template to have the same layout as your web site. To update calcms content create a cronjob to run tools/update_page.sh you may have to update the paths inside update_page.sh # how-to ## update time zones mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -p if using plesk, use mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u admin mysql -p`cat /etc/psa/.psa.shadow` ## create database schema deltas for updates cat calcmsOld.sql | mysql -u root calcmsOld cat calcmsNew.sql | mysql -u root calcmsNew mysqldiff --force --changes-for=server2 --difftype=sql calcmsOld:calcmsNew > migrate.sql # make sure lines with "modified_at" contain "ON UPDATE CURRENT_TIMESTAMP" # for example: `modified_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP cat migrate | mysql -u root calcms ## reset the default admin account run update calcms_users set pass='$2a$08$oLiwMC1vYD8ZzfjKdpTG3OBFAXbiKslWIe0w005ysdxO0kE/A/12G', salt='oLiwMC1vYD8ZzfjKdpTG3O' where name='ccAdmin'; ## Image::Magick::Square If installation of Image::Magick::Square fails, you probably need to install a recent version of Image::Magick.