Changes

From SME Server
Jump to navigationJump to search
m
Line 1: Line 1:  
{{Level|Medium}}
 
{{Level|Medium}}
 
+
{{usefulnote}}
 
==About==
 
==About==
 
"[http://ehour.nl eHour] is the open source webbased time tracking tool for companies and organizations who need accurate information on how much time is spend on projects by their people.  eHour makes the amount of time your people spend on projects visible and available as simple and user friendly as possible. eHour requires Java."
 
"[http://ehour.nl eHour] is the open source webbased time tracking tool for companies and organizations who need accurate information on how much time is spend on projects by their people.  eHour makes the amount of time your people spend on projects visible and available as simple and user friendly as possible. eHour requires Java."
    +
{{Note box|Please be aware that the eHour developer has decided that the new 2.x series of eHour will only be available as a commercial 'cloud service', and will no longer be Open Source. A shame...}}
    
==Forum discussion==
 
==Forum discussion==
Line 11: Line 12:  
==Quick install==
 
==Quick install==
   −
1. Download the latest version (v1.4.1 tested in this how-to) [http://ehour.nl/download/download.phtml here]
+
1. Download the latest version (v1.4.3 tested in this how-to) [https://ehour.nl/download/downloadfile.php?get=ehour-latest-standalone-unix.sh here]
   −
----
+
=== SME 8 & 9 ===
=== SME 8===
+
2. Install Java:
2. Install Java: 'yum install java'
+
yum install java dejavu*
----
  −
=== SME 9 ===
  −
2. Install Java: 'yum install java-1.6.0-openjdk dejavu*
     −
----
      +
3. Make the downloaded file executable:
 +
chmod 755 [downloaded_file]
   −
3. Make the downloaded file executable: 'chmod 755 [downloaded_file]'
+
4. Execute the downloaded file: './[downloaded_file], and follow script/questions (in this example we use /opt/ehour as the installation directory)
   −
4. Execute the downloaded file: './[downloaded_file], and follow script/questions
+
5. Point your browser to 'http://yourserver:8000' and login with user/pass: admin:admin
   −
5. Point your browser to 'http://yourserver:8000' and login with user/pass: admin:admin
+
{{Note box | If you want a 'clean' URL or a subdomain (e.g. http://timesheet.yourserver.com) instead of http://yourserver:8000 then please see the relevant section below.}}
    
==MySQL backend==
 
==MySQL backend==
Line 34: Line 33:  
A. Create a new MySQL database (e.g. ehour) (see [http://wiki.contribs.org/Useful_Commands#Create_a_Database_and_its_User here] how to)
 
A. Create a new MySQL database (e.g. ehour) (see [http://wiki.contribs.org/Useful_Commands#Create_a_Database_and_its_User here] how to)
   −
B. Download the MySQL schema for ehour [https://raw.github.com/tedeling/ehour/20120613-RELEASE-1.0/eHour-persistence-mysql/src/sql/install/fresh.mysql.sql here]  
+
B. Download the MySQL schema for ehour 1.4.3 [https://raw.githubusercontent.com/tedeling/ehour/master/eHour-persistence-mysql/src/sql/install/fresh.mysql.sql here]  
    
C. Import the downloaded MySQL schema into the ehour database
 
C. Import the downloaded MySQL schema into the ehour database
 
  mysql ehour < fresh.mysql.sql
 
  mysql ehour < fresh.mysql.sql
   −
D. Allow MySQL Local Network Access
+
D. Allow MySQL Local Network Access ( <--- Needs to be verified, does not seem to be required at all)
 
  config setprop mysqld LocalNetworkingOnly no
 
  config setprop mysqld LocalNetworkingOnly no
 
  expand-template /etc/my.cnf
 
  expand-template /etc/my.cnf
Line 76: Line 75:  
  ehour.translations=%ehour.home%/resources/i18n
 
  ehour.translations=%ehour.home%/resources/i18n
   −
G. Add '/opt/ehour/ehour start' to /etc/rc.d/rc.local (This can be improved by adding ehour to runlevel 7)
+
==Start at boot==
 +
To start eHour at boot time, enter the following (db) commands:
 +
ln -s /etc/rc.d/init.d/e-smith-service /etc/rc7.d/S92ehour
 +
chkconfig ehour on
 +
config set ehour service
 +
config setprop ehour status enabled
 +
config setprop ehour TCPPort 8000
 +
config setprop ehour access public
 +
Toggle access between public or private.
 +
 
 +
 
 +
==ehour on a sub domain==
 +
Accessing ehour on a TCP port (8000) may look not very professional. You may want to access ehour at a subdomain like 'timesheet.yourdomain.com'. Here's how:
 +
 
 +
The preferred way to create a sub domain is to install the ''smeserver-webapps-common'' contrib from the '''[[Fws|FWS]]''' repository. Please see the '''[[webapps-common]]''' page on how to enable the FWS repo and install the contrib.
 +
 
 +
After installation we need to provide the details of the virtual host to the contrib so it can create the virtual host. In this example we want the virtualhost to serve the sub domain ''https://timesheet.myserver.com'' and only provide access to the login page to valid SME users. This can be done with the following command:
 +
 
 +
db domains set timesheet.myserver.com domain Description "Timesheet" Content Primary \
 +
Nameservers internet TemplatePath WebAppVirtualHost DocumentRoot /opt/ehour \
 +
RequireSSL enabled ProxyPassTarget http://127.0.0.1:8000/ Authentication Basic
 +
Followed by:
 +
signal-event webapps-update
 +
Your sub domain has been created but will not yet show eHour. We need to tell the eHour Jetty webserver that it needs to listen to 127.0.0.1. Since the eHour Jetty webserver is not part of SME Server, we need to adjust the jetty config file located at '''/opt/ehour/home/conf/jetty.xml''' to look like this:
 +
 
 +
<Call name="addConnector">
 +
<Arg>
 +
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
 +
<Set name="Host">127.0.0.1</Set>
 +
</New>
 +
</Arg>
 +
</Call>
 +
 
 +
Where only '''<Set name="Host">127.0.0.1</Set>''' is added.
 +
 
 +
Then eHour needs to be restarted by:
 +
service ehour restart
 +
and give it a minute (really, a full minute) to restart. Then eHour will be available from https://timesheet.myserver.com.
 +
Once the sub domain is working, you may want to close off the original webaddress myserver.com:8000 by setting the access property to private: config setprop ehour access private
 +
followed by:
 +
signal-event remoteaccess-update
    +
==Upgrade==
 +
For any upgrade, please see the [https://wiki.ehour.nl/display/DOCU/Upgrading+MySQL eHour documentation/wiki]. Especially if there is an database schema update. So always make a backup of your mysql database before starting any upgrade.
    
==Demo==
 
==Demo==

Navigation menu