]> git.argeo.org Git - lgpl/argeo-commons.git/blob - README.md
Fully working OCI containers build based on buildah.
[lgpl/argeo-commons.git] / README.md
1 # Argeo Commons lightweight integration framework
2
3 Based on the OSGi and JCR standards. Enterprise-grade since 2009.
4
5 **The reference for Argeo code is http://git.argeo.org/ ** (the GitHub mirrors are updated from time to time, usually after releases)
6
7 ## Development
8
9 ### Pre-requisite
10 - Java 8 OpenJDK (with HotSpot or OpenJ9 JVM https://adoptopenjdk.net/)
11 - Maven 3 (https://maven.apache.org/download.cgi)
12 - Eclipse 2019-06 for RCP and RAP Developers (https://www.eclipse.org/downloads/packages/release/2019-06/r/eclipse-ide-rcp-and-rap-developers)
13
14 ### First build, or after dependencies update
15 ```bash
16 mvn clean install argeo-osgi:pde-sources
17 ```
18
19 This will download the sources of all third-party Java libraries in a format compatible with the Eclipse IDE, and will generate the Eclipse PDE target platform (Select ```org.argeo.dep.cms.e4.rap``` in Window > Preferences > Plug-in Development > Target Platform).
20
21 ### While developing
22 ```bash
23 mvn clean install
24 ```
25
26 Fully functional SNAPSHOT RPMs can be built with (make sure your user has write access to /srv/rpmfactory):
27 ```bash
28 mvn clean install -Prpmbuild-tp,rpmbuild
29 createrepo /srv/rpmfactory/argeo-osgi-2/el7/
30 ```
31
32 ### Usage in Eclipse
33 The project can be run as a standard PDE OSGi runtime, but the Argeo SLC Eclipse plug-in greatly simplifies the configuration of an Eclipse PDE running configuration:
34 - Install the Argeo SLC plug-in from this Eclipse update site https://projects.argeo.org/slc/update/ide/
35 - In the demo/ directory, right-click on cms-e4-rap.properties, ```Run As > OSGi Boot (Equinox, RAP)```
36 - The execution directory will be sdk/exec/cms-e4-rap
37 - The standard OSGi data area will be sdk/exec/cms-e4-rap/data (contains mostly the Jackrabbit JCR repository)
38 - Open http://localhost:7070/cms/devops with the username ```root``` and the password ```demo```
39
40 ### Release
41 ```bash
42 mvn release:prepare
43 mvn release:perform -Prpmbuild-tp,rpmbuild
44 createrepo /srv/rpmfactory/argeo-osgi-2/el7/
45 ```
46
47 ## Deployment
48
49 ### Pre-requisite
50 - CentOS 7
51
52 ### Install
53 Please refer to the appropriate documentation for more complex deployments (e.g. LDAP server, PostgreSQL backend, etc.).
54
55 ```bash
56 sudo yum install java-1.8.0-openjdk-headless
57 sudo yum install argeo-node argeo-cms-e4-rap
58 # required only for local access to the OSGi console (telnet localhost 2323):
59 sudo yum install telnet
60 ```
61
62 Firewall
63 ```bash
64 sudo firewall-cmd --add-port 8080/tcp
65 ```
66
67 ### Running with systemd
68 ```bash
69 systemctl [start|stop|restart] argeo
70 # make sure that it started after a server restart:
71 systemctl enable argeo
72 ```
73
74 The system is accessible via HTTP port 8080:
75 http://localhost:8080/cms/devops
76
77 HTTP protection is configured on the reverse HTTP proxy. For example on Apache v2.4:
78
79 ```
80 <IfModule mod_ssl.c>
81 <VirtualHost <external IP address>:443>
82 ServerName <external hostname>
83 CustomLog logs/<external hostname>-access_log combined
84 ErrorLog logs/<external hostname>-error_log
85
86 ProxyPreserveHost On
87
88 <Location / >
89 ProxyPass http://<host on the local network>:8080/
90 ProxyPassReverse http://<host on the local network>:8080/
91 </Location>
92
93
94 SSLCertificateFile <path to certificates>/cert.pem
95 SSLCertificateKeyFile <path to certificates>/privkey.pem
96 SSLCertificateChainFile <path to certificates>/chain.pem
97 ...
98
99 </VirtualHost>
100 </IfModule>
101 ```
102
103 ### Log
104 ```bash
105 sudo tail -200f /var/log/messages
106 ```