How To Install ImpressCMS 1.0 Final On Debian Etch
Abstract: www-data /var/www/impresscms/ /var/www/impresscms_trust/ chmod -R 755 /var/www/impresscms/uploads/ /var/www/impresscms/cache/ /var/www/impresscms/temp
Version 1.0
Author: Oliver Meyer <o [dot] meyer [at] projektfarm [dot] de>
This document describes how to set up ImpressCMS 1.0 Final On Debian Etch. Taken from the ImpressCMS page: "ImpressCMS is a community developed Content Management System for easily building and maintaining a dynamic web site. Keep your web site up to date with this easy to use, secure and flexible system."
This howto is a practical guide without any warranty - it doesn't cover the theoretical backgrounds. There are many ways to set up such a system - this is the way I chose.
1 Preliminary Note
I used a minimal Debian Etch system (network install) for this howto. The attached VM is configured as follows:
Hostname: server1.example.com
IP: 192.168.0.100
Gateway: 192.168.0.2
All passwords: howtoforge
2 Needed Packages
Let's install some needed package for this setup.
apt-get install apache2 libapache2-mod-php5 php5-mysql mysql-server mysql-client
3 MySQL Configuration 3.1 Bind Address
In order that the MySQL server will listen on all available interfaces, we have to adjust its configuration.
vi /etc/mysql/my.cnf
Search this line ...
bind-address = 127.0.0.1
... and comment it so that it looks like this:
# bind-address = 127.0.0.1
Afterwards restart the MySQL server.
/etc/init.d/mysql restart
3.2 MySQL Root User
First we have to set a password for the MySQL root user.
mysqladmin -u root password %sql_root_password%
mysqladmin -h server1.example.com -u root password %sql_root_password%
3.3 ImpressCMS Database & Database User
Next we create a database for ImpressCMS.
mysqladmin -u root -p create impresscms
After that we create a user for this database.
mysql -u root -p
GRANT CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES, SELECT, INSERT, UPDATE, DELETE ON impresscms.* TO 'impresscms_admin'@'localhost' IDENTIFIED BY '%impresscms_admin_password%';
GRANT CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES, SELECT, INSERT, UPDATE, DELETE ON impresscms.* TO 'impresscms_admin'@'localhost.localdomain' IDENTIFIED BY '%impresscms_admin_password%';
FLUSH PRIVILEGES;
quit;
4 ImpressCMS Vhost
Create the document root for ImpressCMS ...
mkdir /var/www/impresscms/
... and the ImpressCMS trust directory.
mkdir /var/www/impresscms_trust/
Now we create the vhost configuration file.
vi /etc/apache2/sites-available/impresscms
It could look like this:
NameVirtualHost 192.168.0.100:80 <VirtualHost 192.168.0.100:80> ServerName server1.example.com ServerAdmin [email protected] DocumentRoot /var/www/impresscms/ LogLevel warn ErrorLog /var/log/apache2/impresscms_error.log CustomLog /var/log/apache2/impresscms_access.log combined </VirtualHost>
After that enable the new vhost ...
a2ensite impresscms
... and restart Apache to take the changes effect.
/etc/init.d/apache2 restart
5 Get ImpressCMS
Please take a look at http://www.impresscms.org/modules/mastop_publish/?tac=Download to find out which is the latest version. When I was writing this howto it was version 1.0 .
cd /tmp/
wget http://downloads.sourceforge.net/impresscms/impresscms_1.0_final.tar.gz
tar xvfz impresscms_1.0_final.tar.gz
Afterwards copy the content of the extracted folder "htdocs" to the vhost document root ...
cp -R /tmp/htdocs/* /var/www/impresscms/
... and change the permissions.
chown -R www-data:www-data /var/www/impresscms/ /var/www/impresscms_trust/
chmod -R 755 /var/www/impresscms/uploads/ /var/www/impresscms/cache/ /var/www/impresscms/templates_c/ /var/www/impresscms/mainfile.php