Skip to content

e-InvoSys OCR

Installation e-InvoSys OCR

Installation on a new Ubuntu 24.04 LTS server.

Warning

Make certain to not start application related commands/configurations as root as this will change the permissions and the application will not work anymore!!

Create installation directory

sudo mkdir -p /apps/installation
sudo mkdir -p /apps/filestorage/invoice_templates
sudo mkdir -p /apps/filestorage/invoices
sudo mkdir -p /apps/servers
sudo mkdir -p /apps/certifications
sudo chown -R appsrv:appsrv /apps

Install OCR related packages

sudo apt install xpdf tesseract-ocr tesseract-ocr-deu tesseract-ocr-nld tesseract-ocr-tur tesseract-ocr-eng ocrmypdf libyaml-dev pipx 

Install with a none sudo user (appsrv).

pipx install invoice2data
pipx ensurepath 
pipx inject invoice2data setuptools
Reconnect as appsrv user, validate with invoice2data

Pull Amazon Corretto installation package with sudo

wget https://corretto.aws/downloads/latest/amazon-corretto-21-x64-linux-jdk.deb

Install Amazon Corretto

sudo dpkg -i amazon-corretto-21-x64-linux-jdk.deb

Fix dependency issues java-common

sudo apt-get -f install

Download Tomcat as appsrv user

wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.40/bin/apache-tomcat-10.1.40.zip

Unzip in appsrv home dir

unzip apache-tomcat-10.1.40.zip

Move Tomcat to /appsrv/servers/tomcat10

mv apache-tomcat-10.1.40 /apps/servers/tomcat10
chmod 755 /apps/servers/tomcat10/bin/*.sh

Copy certificates

Upload tomcatodcke.jks to /apps/certifications

Make adjustments to /apps/servers/tomcat10/conf/server.xml

Comment out the following

    <!--<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />
    -->

Insert the following

 <Connector port="8080" protocol="HTTP/1.1"  
               connectionTimeout="20000"  
               redirectPort="8443"  
               maxParameterCount="1000"  
               />  
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true"
               maxParameterCount="1000"
               >
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="/apps/certifications/tomcatodcke.jks"
                         certificateKeystorePassword="UMX8YQK_FTHHsqp" keyAlias="odcke-tomcat" type="RSA" />
        </SSLHostConfig>
    </Connector>

Startup Tomcat as appsrv user

/apps/servers/tomcat10/bin/startup.sh

Test URL for TEST e-InvoSys OCR

https://ocrapi-test.odcke.com:8443/

Copy huber.yaml and bgsinnovation to /apps/filestorage/invoice_templates

Create Systemd entries

nano /etc/systemd/system/tomcat.service

[Unit]
Description=Apache Tomcat Server OCR
After=syslog.target network.target

[Service]
Type=forking
User=appsrv
Group=appsrv

Environment="PATH=/home/appsrv/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/appsrv/.local/bin:/home/appsrv/.local/bin"
Environment=CATALINA_PID=/apps/servers/tomcat10/temp/tomcat.pid
Environment=CATALINA_HOME=/apps/servers/tomcat10/
Environment=CATALINA_BASE=/apps/servers/tomcat10/
Environment=JAVA_HOME=/usr/lib/jvm/java-21-amazon-corretto

ExecStart=/apps/servers/tomcat10/bin/catalina.sh start
ExecStop=/apps/servers/tomcat10/bin/catalina.sh stop

RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target

sudo systemctl stop tomcat
Stop Tomcat as user appsrv
/apps/servers/tomcat10/bin/shutdown.sh

ps -aux|grep tomcat
sudo systemctl start tomcat
sudo systemctl status tomcat
sudo systemctl enable tomcat

Upload ROOT.war to /apps/installation/

Copy war file to Tomcat directory as user appsrv

cp /apps/installation/ROOT.war /apps/servers/tomcat10/webapps