TASKPM/INSTALL.rst

528 lines
16 KiB
ReStructuredText
Raw Permalink Normal View History

Install
=======
This is a guide about how to install *LibrePlan* project in your system. If you
want to upgrade your *LibrePlan* version see ``UPDATE`` file. If you want to
know how to compile it manually see ``HACKING`` file.
.. contents::
LibrePlan automatic installation
--------------------------------
Docker image
~~~~~~~~~~~~
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.
Ubuntu PPAs
~~~~~~~~~~~
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`_.
Debian packages
~~~~~~~~~~~~~~~
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`_.
Fedora, CentOS and openSUSE OBS (openSUSE Build Service)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 libreplan
Follow 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 libreplan
Follow 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`_.
2015-10-06 18:00:43 +03:00
Microsoft Windows
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In development...
2015-10-06 18:00:43 +03:00
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`_.
LibrePlan manual installation
-----------------------------
Debian/Ubuntu
~~~~~~~~~~~~~
* Install requirements::
2016-12-08 15:17:20 +02:00
# 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 ``.war`` file from SourceForge.net::
$ wget -O libreplan.war http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.4.1.war
2016-12-08 15:17:20 +02:00
* Create a new file ``/etc/tomcat8/Catalina/localhost/libreplan.xml`` (file
name has to match with ``.war`` name) with database configuration for
2016-12-08 15:17:20 +02:00
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>
2016-12-08 15:17:20 +02:00
* Add next lines to Tomcat 8 policy file ``/etc/tomcat8/catalina.policy`` or ``/var/lib/tomcat8/conf`` or ``/etc/tomcat8/policy.d/03catalina.policy``
with the following content::
2016-12-08 15:17:20 +02:00
grant codeBase "file:/var/lib/tomcat8/webapps/libreplan/-" {
permission java.security.AllPermission;
};
2016-12-08 15:17:20 +02:00
grant codeBase "file:/var/lib/tomcat8/webapps/libreplan.war" {
permission java.security.AllPermission;
};
2016-12-08 15:17:20 +02:00
* 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
...
};
2016-12-08 15:17:20 +02:00
* Add link to Java JDBC driver for PostgreSQL in Tomcat8 libraries directory::
2016-12-08 15:17:20 +02:00
# ln -s /usr/share/java/postgresql-jdbc4.jar /usr/share/tomcat8/lib/
2016-12-08 15:17:20 +02:00
* Copy war to Tomcat 8 web applications directory::
2016-12-08 15:17:20 +02:00
# cp libreplan.war /var/lib/tomcat8/webapps/
2016-12-08 15:17:20 +02:00
* Restart Tomcat 8::
2016-12-08 15:17:20 +02:00
# /etc/init.d/tomcat8 restart
* Go to http://localhost:8080/libreplan/
.. WARNING::
If you have problems with printing support review the last section `Fix
printing in Debian Squeeze`_.
openSUSE
~~~~~~~~
* Install requirements::
2016-12-08 15:17:20 +02:00
# 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 at ``HACKING`` file 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 ``postgres`` user password::
ALTER USER postgres WITH PASSWORD 'postgres';
* Edit ``/var/lib/pgsql/data/pg_hba.conf`` and replace ``ident`` by ``md5``
* 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 ``.war`` file from SourceForge.net::
$ wget -O libreplan.war http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.4.1.war
2016-12-08 15:17:20 +02:00
* Create a new file ``/etc/tomcat8/Catalina/localhost/libreplan.xml`` (file
name has to match with ``.war`` name) with database configuration for
2016-12-08 15:17:20 +02:00
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>
2016-12-08 15:17:20 +02:00
* Add link to Java JDBC driver for PostgreSQL in Tomcat8 libraries directory::
2016-12-08 15:17:20 +02:00
# ln -s /usr/share/java/postgresql-jdbc4.jar /usr/share/tomcat8/lib/
2016-12-08 15:17:20 +02:00
* Copy war to Tomcat 8 web applications directory::
2016-12-08 15:17:20 +02:00
# cp libreplan.war /srv/tomcat8/webapps/
2016-12-08 15:17:20 +02:00
* Restart Tomcat 8:
2016-12-08 15:17:20 +02:00
# /etc/init.d/tomcat8 restart
* Go to http://localhost:8080/libreplan/
2015-10-06 18:00:43 +03:00
Microsoft Windows
~~~~~~~~~~~
Instructions:
2016-12-08 15:17:20 +02:00
* Download and install latest Java Runtime Environment 8uXX (JRE8uXX)::
2015-10-06 18:00:43 +03:00
2016-12-08 15:17:20 +02:00
# http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
2015-10-06 18:00:43 +03:00
* Download and install latest PostgreSQL database::
# http://www.enterprisedb.com/products-services-training/pgdownload#windows
2016-12-08 15:17:20 +02:00
* Download and install Apache Tomcat 8::
2015-10-06 18:00:43 +03:00
2016-12-08 15:17:20 +02:00
# https://tomcat.apache.org/download-80.cgi
2015-10-06 18:00:43 +03:00
.. NOTE::
In JDK folder there is JRE folder
* Set up JDBC41 PostgreSQL Driver::
# Download latest driver: https://jdbc.postgresql.org/download.html
2016-12-08 15:17:20 +02:00
# Copy downloaded *.jar file to JRE location: (e.g. C:\Program Files\Java\jre8\lib\ext)
2015-10-06 18:00:43 +03:00
* Download latest ``.war`` file from SourceForge.net (for PostgreSQL) and rename it to libreplan.war::
# http://sourceforge.net/projects/libreplan/files/LibrePlan/
* 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::
2015-10-06 18:00:43 +03:00
* Create an Environment Variable JRE_HOME
# You need to set it to your JRE installed directory
* Configure Apache Tomcat Server
2016-12-08 15:17:20 +02:00
* Put libreplan.war file to Apache Tomcat webapps folder (e.g. C:/Program Files/Apache Software Foundation/Tomcat 8.0/webapps/)
2016-04-01 15:52:19 +03:00
2016-12-08 15:17:20 +02:00
* Go to localhost folder (e.g. C:/Program Files/Apache Software Foundation/Tomcat 8.0/conf/Catalina/localhost/)
2016-04-01 15:52:19 +03:00
and create there libreplan.xml file with this lines of code::
2015-10-06 18:00:43 +03:00
<?xml version="1.0" encoding="UTF-8"?>
2016-04-01 15:52:19 +03:00
2015-10-06 18:00:43 +03:00
<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
2016-12-08 15:17:20 +02:00
# Example location: C:/Program Files/Apache Software Foundation/Tomcat 8.0/bin/Tomcat8.exe
2015-10-06 18:00:43 +03:00
If you will face SKIP_IDENTIFIER_CHECK error, refer to:
http://stackoverflow.com/questions/24546304/how-to-skip-java-reserve-keyword-identifier-check-in-tomcat
2015-10-06 18:00:43 +03:00
* Go to http://localhost:8080/libreplan
Logs
----
Since *LibrePlan 1.1.1* log system is configured automatically creating a new
2016-12-08 15:17:20 +02:00
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.
Configure log directory
~~~~~~~~~~~~~~~~~~~~~~~
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:
2016-12-08 15:17:20 +02:00
* Debian or Ubuntu: ``/etc/default/tomcat8``
* Fedora or openSUSE: ``/etc/tomcat8/tomcat8.conf``
Where you will need to add the next line::
# Configure LibrePlan log directory
JAVA_OPTS="${JAVA_OPTS} -Dlibreplan-log-directory=/my/path/to/libreplan/log/"
.. WARNING::
2016-12-08 15:17:20 +02:00
You have to be sure that the user running Tomcat (usually ``tomcat8``) has
permissions to write in the specified directory.
Fix printing in Debian Squeeze
------------------------------
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
Fix memory errors
-----------------
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:
2016-12-08 15:17:20 +02:00
* 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.