Hello again! I’ve been told that the installation guides are available in a separate thread. But the links don’t seem to be working for me, the videos are in french and I don’t speak french. I tried to use the Docker repos. But, they are 4+ years old and fail when I run them. I did manage to get things running, but it took me a bit more trial and error than I was hoping for. To be honest it might just be failing on my technical ability that caused all this. But in case anyone else has as much trouble as I did, I thought I’d document my procedure here. If nothing else, I’m hoping it may help someone else who has an org requirement for RHEL, as I only saw Debian/Ubuntu instructions.
RHEL / Rocky / Alma 9
Postgres Server 12
Install openjdk 11
dnf install -y java-11-openjdk-devel
Install Postgres Server 12
dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm dnf install -y postgresql12-server postgresql-12-setup initdb systemctl enable postgresql-12 systemctl start postgresql-12
Configure Postgres Server 12
It should go without saying, but replace PUT_YOUR_OWN_PASSWORD_HERE with your own password below!
su postgres createuser axelor --no-createdb --no-superuser psql -c "alter user axelor with encrypted password 'PUT_YOUR_OWN_PASSWORD_HERE'"; psql -c "CREATE DATABASE axelor"; exit
Fix Auth Method
I’m not sure if this is still required or not. But I found some old documentation that said MD5 was needed. I know this works, but please let me know if this is no longer required, TY!
Edit /var/lib/pgsql/12/data/pg_hba.conf with your favorite text editor and you should see this:
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident # Allow replication connections from localhost, by a user with the # replication privilege. local replication all peer host replication all 127.0.0.1/32 ident host replication all ::1/128 ident
Update it to the following and save:
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. local replication all peer host replication all 127.0.0.1/32 ident host replication all ::1/128 ident
Then, restart Postgres:
systemctl restart postgresql-12
Install Tomcat 9
Go to https://tomcat.apache.org and find the current link to tomcat 9. At time of writing, that is https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.79/bin/apache-tomcat-9.0.79.tar.gz. Use that below
sudo groupadd tomcat sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat cd /tmp wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.79/bin/apache-tomcat-9.0.79.tar.gz mkdir -p /opt/tomcat tar -xzf apache-tomcat-*.tar.gz -C /opt/tomcat --strip-components=1 chgrp -R tomcat /opt/tomcat chmod -R g+r /opt/tomcat/conf chmod g+x /opt/tomcat/conf chown -R tomcat /opt/tomcat/webapps/ /opt/tomcat/work/ /opt/tomcat/temp/ /opt/tomcat/logs/
Use your favorite text editor and create the file /etc/systemd/system/tomcat.service with the following contents:
[Unit] Description=Tomcat 9 After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/jre-11-openjdk" Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom" Environment="CATALINA_BASE=/opt/tomcat" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh [Install] WantedBy=multi-user.target
Then load and start the service we made:
systemctl daemon-reload systemctl enable tomcat.service systemctl start tomcat.service
If firewalld is enabled you will need to open port 8080:
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent sudo firewall-cmd --reload
You should now be able to visit http://your_server_ip:8080 and see the Apache Tomcat successfully installed page.
Install Axelor 7.1 WAR
I’ve only tested this with 7.1.2. So I’ll use that link below. Your mileage may vary with other versions.
cd /opt/tomcat/webapps/ wget https://github.com/axelor/axelor-open-suite/releases/download/v7.1.2/axelor-erp-v7.1.2.war systemctl restart tomcat
Tomcat should extract the WAR for you. Open the /opt/tomcat/webapps/axelor-erp-v7.1.2/WEB-INF/classes/axelor-config.properties with your favorite text editor and you should see:
# Database settings # ~~~~~ db.default.driver = org.postgresql.Driver db.default.ddl = update db.default.url = jdbc:postgresql://localhost:5432/axelor-open-suite db.default.user = axelor db.default.password = *****
modify this to, again use your own password in place of PUT_YOUR_OWN_PASSWORD_HERE :
# Database settings # ~~~~~ db.default.driver = org.postgresql.Driver db.default.ddl = update db.default.url = jdbc:postgresql://localhost:5432/axelor db.default.user = axelor db.default.password = PUT_YOUR_OWN_PASSWORD_HERE
Don’t change any other section of the file!
Finally, restart tomcat:
systemctl restart tomcat
Now simply visit http://your_server_ip:8080/axelor-erp-v7.1.2 . It will take a extremely long time to load the first time. Don’t worry, it’s doing quite a bit in the background. If you see a page that says « The origin server did not find a current representation for the target resource or is not willing to disclose that one exists », then you have a problem you need to fix. I’d recommend doing the following command and diagnosing from there:
If you don’t have any trouble, you’ll be shown a login page, the user/pass is admin/admin. Hope you are having as much fun as I am with it!