LibrePlan installation - LibrePlan/libreplan GitHub Wiki
The easiest way to have a working LibrePlan instance in no time is to use LibrePlan docker images. Beside the classic Libreplan/Postgresql image, you'll also find a MySQL/MariaDB one.
See https://hub.docker.com/r/libreplan/libreplan/ for detailed information and instruction.
There are Ubuntu PPAs for different versions (Precise, Trusty, Utopic and Vivid), you can find more info in the following URL: https://launchpad.net/~libreplan/+archive/ppa
Instructions:
$ sudo add-apt-repository ppa:libreplan/ppa
$ sudo apt-get update
$ sudo apt-get install libreplan
TIP: If you do not have add-apt-repository command, you will need to install
software-properties-common package before running the previous commands.
You can do it with the following line: sudo apt-get install software-properties-common
WARNING: If you have memory problems review the section Fix memory errors
There are Debian packages for Wheezy and Jessie (i386 and amd64), you can download them from: http://sourceforge.net/projects/libreplan/files/LibrePlan/
Instructions:
-
Download the package:
$ wget http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.4.1-1_amd64.deb -
Install package:
# dpkg -i libreplan_1.4.1-1_amd64.deb -
Install dependencies:
# apt-get install -f
WARNING: If you have problems with printing support review the section Fix printing in Debian Squeeze.
WARNING: If you have memory` problems review the section Fix memory errors.
Instructions depending on the distribution:
-
Fedora 23:
# cd /etc/yum.repos.d
# wget download.opensuse.org/repositories/home:/jsuarezr:/LibrePlan/Fedora_23/home:jsuarezr:LibrePlan.repo
# yum install libreplanFollow the instructions in /usr/share/doc/libreplan-1.4.1/README.Fedora afterwards.
-
Fedora 22:
# cd /etc/yum.repos.d
# wget download.opensuse.org/repositories/home:/jsuarezr:/LibrePlan/Fedora_22/home:jsuarezr:LibrePlan.repo
# yum install libreplanFollow the instructions in /usr/share/doc/libreplan-1.4.1/README.Fedora afterwards.
-
CentOS 7:
# cd /etc/yum.repos.d
# wget download.opensuse.org/repositories/home:/jsuarezr:/LibrePlan/CentOS_7/home:jsuarezr:LibrePlan.repo
# yum install libreplan -
CentOS 6:
# cd /etc/yum.repos.d
# wget download.opensuse.org/repositories/home:/jsuarezr:/LibrePlan/CentOS_CentOS-6/home:jsuarezr:LibrePlan.repo
# yum install libreplan -
openSUSE Leap_42.1:
# cd /etc/zypp/repos.d
# wget download.opensuse.org/repositories/home:/jsuarezr:/LibrePlan/openSUSE_Leap_42.1/home:jsuarezr:LibrePlan.repo
# zypper ref
# zypper install libreplan -
openSUSE Factory:
# cd /etc/zypp/repos.d
# wget download.opensuse.org/repositories/home:/jsuarezr:/LibrePlan/openSUSE_Factory/home:jsuarezr:LibrePlan.repo
# zypper ref
# zypper install libreplan -
openSUSE 13.2:
# cd /etc/zypp/repos.d
# wget download.opensuse.org/repositories/home:/jsuarezr:/LibrePlan/openSUSE_13.2/home:jsuarezr:LibrePlan.repo
# zypper ref
# zypper install libreplan -
openSUSE 13.1:
# cd /etc/zypp/repos.d
# wget download.opensuse.org/repositories/home:/jsuarezr:/LibrePlan/openSUSE_13.1/home:jsuarezr:LibrePlan.repo
# zypper ref
# zypper install libreplan
WARNING: If you have memory problems review the section Fix memory errors.
Microsoft Windows
In development...
RPM Packages
There are several LibrePlan RPM packages available in the following URL: http://download.opensuse.org/repositories/home:/jsuarezr:/LibrePlan/
Follow the instructions in the corresponding README file to finish the installation.
WARNING: If you have memory problems review the section Fix memory errors.
-
Install requirements:
# apt-get install openjdk-8-jre postgresql postgresql-client tomcat8 libpg-java cutycapt xvfb -
Connect to database:
# su postgres -c psql -
Use SQL sentences to create database:
CREATE DATABASE libreplan;
CREATE USER libreplan WITH PASSWORD 'libreplan';
GRANT ALL PRIVILEGES ON DATABASE libreplan TO libreplan; -
Download database installation script:
$ wget -O install.sql http://downloads.sourceforge.net/project/libreplan/LibrePlan/install_1.4.0.sql
WARNING: The 1.4.1.sql file is specific for a MySQL install.
-
Create database structure:
$ psql -h localhost -U libreplan -W libreplan < install.sql
WARNING: It is very important to execute the previous command specifiying
libreplan user (as you can see in the -U option). Otherwise your
LibrePlan installation is not going to start properly and you could find in
your log files something like that: JDBCExceptionReporter - ERROR: permission denied for relation entity_sequence
-
Download
.warfile from SourceForge.net:$ wget -O libreplan.war http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.4.1.war -
Create a new file
/etc/tomcat8/Catalina/localhost/libreplan.xml(file name has to match with.warname) with database configuration for Tomcat 8:<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="">
<Resource name="jdbc/libreplan-ds" auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="libreplan" password="libreplan"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost/libreplan" />
</Context> -
Add next lines to Tomcat 8 policy file
/etc/tomcat8/catalina.policyor/var/lib/tomcat8/confor/etc/tomcat8/policy.d/03catalina.policywith the following content:grant codeBase "file:/var/lib/tomcat8/webapps/libreplan/-" {
permission java.security.AllPermission;
};
grant codeBase "file:/var/lib/tomcat8/webapps/libreplan.war" {
permission java.security.AllPermission;
}; -
Also add next lines to Tomcat 8 policy file::
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
...
// begin:libreplan
permission java.io.FilePermission "${catalina.base}${file.separator}webapps${file.separator}libreplan${file.separator}WEB- INF${file.separator}classes${file.separator}logging.properties", "read";
// end:libreplan
...
}; -
Add link to Java JDBC driver for PostgreSQL in Tomcat8 libraries directory:
# ln -s /usr/share/java/postgresql-jdbc4.jar /usr/share/tomcat8/lib/ -
Copy war to Tomcat 8 web applications directory:
# cp libreplan.war /var/lib/tomcat8/webapps/ -
Restart Tomcat 8:
# /etc/init.d/tomcat8 restart
WARNING: If you have problems with printing support review the last section Fix printing in Debian Squeeze.
-
Install requirements:
# zypper install java-1_8_0-openjdk postgresql-server postgresql tomcat8 xorg-x11-server -
JDBC Driver manual installation:
# cd /usr/share/java/
# wget http://jdbc.postgresql.org/download/postgresql-9.2-1004.jdbc41.jar
# mv postgresql-9.2-1004.jdbc41.jar postgresql-jdbc4.jar -
Follow instructions here to compile and install CutyCapt
-
Start database service:
# /etc/init.d/postgresql start -
Connect to database:
# su postgres -c psql -
SQL sentences to create database:
CREATE DATABASE libreplan;
CREATE USER libreplan WITH PASSWORD 'libreplan';
GRANT ALL PRIVILEGES ON DATABASE libreplan TO libreplan; -
Set
postgresuser password:ALTER USER postgres WITH PASSWORD 'postgres'; -
Edit
/var/lib/pgsql/data/pg_hba.confand replaceidentbymd5 -
Restart database service:
# /etc/init.d/postgresql restart -
Download database installation script:
$ wget -O install.sql http://downloads.sourceforge.net/project/libreplan/LibrePlan/install_1.4.0.sql -
Create database structure:
$ psql -h localhost -U libreplan -W libreplan < install.sql
WARNING:It is very important to execute the previous command specifiying
libreplan user (as you can see in the -U option). Otherwise your
LibrePlan installation is not going to start properly and you could find in
your log files something like that: JDBCExceptionReporter - ERROR: permission denied for relation entity_sequence
-
Download
.warfile from SourceForge.net:$ wget -O libreplan.war http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.4.1.war -
Create a new file
/etc/tomcat8/Catalina/localhost/libreplan.xml(file name has to match with.warname) with database configuration for Tomcat 8:<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="">
<Resource name="jdbc/libreplan-ds" auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="libreplan" password="libreplan"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost/libreplan" />
</Context> -
Add link to Java JDBC driver for PostgreSQL in Tomcat8 libraries directory:
# ln -s /usr/share/java/postgresql-jdbc4.jar /usr/share/tomcat8/lib/ -
Copy war to Tomcat 8 web applications directory:
# cp libreplan.war /srv/tomcat8/webapps/ -
Restart Tomcat 8:
# /etc/init.d/tomcat8 restart
-
Download and install latest Java Runtime Environment 8uXX (JRE8uXX): link
-
Download and install latest Gettext runtime: link
-
Add
Gettext_installed_direcorty\bin(for exampleC:\Program Files\gettext-iconv\bin) toPathvariable -
Download and install latest PostgreSQL database: link
-
Download and install Apache Tomcat 8: link
NOTE: In JDK folder there is JRE folder
-
Set up JDBC41 PostgreSQL Driver:
- Download latest driver here
- Copy downloaded
*.jarfile to JRE location: (e.g.C:\Program Files\Java\jre8\lib\ext)
-
Download latest
.warfile from SourceForge.net (for PostgreSQL) and rename it to libreplan.war:- The link is here
-
Create database:
CREATE DATABASE libreplan; -
Use SQL sentences:
CREATE USER libreplan WITH PASSWORD 'libreplan';
GRANT ALL PRIVILEGES ON DATABASE libreplan TO libreplan;
REVOKE ALL
ON ALL TABLES IN SCHEMA public
FROM PUBLIC;
GRANT SELECT, INSERT, UPDATE, DELETE
ON ALL TABLES IN SCHEMA public
TO libreplan; -
Restore PostgreSQL / MySQL dump
-
Create an Environment Variable JRE_HOME: You need to set it to your JRE installed directory
-
Configure Apache Tomcat Server
-
Put libreplan.war file to Apache Tomcat webapps folder (e.g.
C:/Program Files/Apache Software Foundation/Tomcat 8.0/webapps/) -
Go to localhost folder (e.g.
C:/Program Files/Apache Software Foundation/Tomcat 8.0/conf/Catalina/localhost/) and create there libreplan.xml file with this lines of code:<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="">
<Resource name="jdbc/libreplan-ds" auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="libreplan" password="libreplan"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost/libreplan" />
</Context> -
Start Apache Tomcat server: Example location:
C:/Program Files/Apache Software Foundation/Tomcat 8.0/bin/Tomcat8.exe
If you will face SKIP_IDENTIFIER_CHECK error, refer to this
link.
Since LibrePlan 1.1.1 log system is configured automatically creating a new
folder under /var/log/tomcat8/ with .war name. For example:
/var/log/tomcat8/libreplan/.
Inside this new directory there will be two files (libreplan.log and
libreplan-error.log) that will be rotated every day.
Anyway if you want to set manually LibrePlan log path you will have to
configure JAVA_OPTS variable in your server. This variable is configured in
different files depending on the distribution:
- Debian or Ubuntu:
/etc/default/tomcat8 - Fedora or openSUSE:
/etc/tomcat8/tomcat8.conf
Where you will need to add the next line to configure LibrePlan log directory:
JAVA_OPTS="${JAVA_OPTS} -Dlibreplan-log-directory=/my/path/to/libreplan/log/"
WARNING:You have to be sure that the user running Tomcat (usually tomcat8) has
permissions to write in the specified directory.
Since LibrePlan 1.2 printing support is not working properly in Debian Squeeze. To fix this issue, basically, you have to get a newer version of CutyCapt and WebKit dependencies from Debian testing.
Instructions:
-
Make sure stable remains the default distribution to pull packages from:
echo 'APT::Default-Release "stable";' >> /etc/apt/apt.conf -
Add a new repository to make testing packages available to
apt-get:echo "deb http://ftp.debian.org/debian testing main" >> /etc/apt/sources.list -
Refresh package index:
apt-get update -
Fetch and install
cutycapt(and its dependencies) from testing:apt-get -t testing install cutycapt
With the default parameters of Tomcat in the different distributions you could have problems with Java memory.
After a while using LibrePlan you could see that some windows do not work and
the log shows a java.lang.OutOfMemoryError exception.
This exception could be caused because of two different issues:
-
Heap space:
java.lang.OutOfMemoryError: Java heap space -
PermGemp space (Permanent Generation, reflective data for the JVM):
java.lang.OutOfMemoryError: PermGen space
In order to avoid this problem you need to configure properly JAVA_OPTS
variable in your server. This is configured in different files depending on the
distribution:
- Debian or Ubuntu:
/etc/default/tomcat8 - Fedora or openSUSE:
/etc/tomcat8/tomcat8.conf
The next lines show a possible configuration to fix the memory errors (the exact values depends on the server features):
`JAVA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m"`
`JAVA_OPTS="${JAVA_OPTS} -server -Djava.awt.headless=true"`
Where the different parameters have the following meaning:
-
-Xms: Initial size of the Java heap -
-Xmx: Maximum size of the Java heap -
-XX:PermSize: Initial size of PermGen -
-XX:MaxPermSize: Maximum size of PermGen
NOTE: Take into account that size of PermGen is additional to heap size.
Since JDK8(b75) you will not see java.lang.OutOfMemoryError: PermGen space.