W artykule przedstawiona została krok po kroku instalacja systemu Comarch ERP Enterprise na serwerze z systemem operacyjnym CentOS Linux 7 oraz silnikiem bazy danych PostgreSQL.
Wymagania
Poniższa instrukcja dotyczy:
- System operacyjny: Linux CentOS 7
- Silnik bazy danych: PostgreSQL 9.2.24
Przed instalacją należy zweryfikować:
- czy użytkownik postgres (domyślny użytkownik silnika PostgreSQL) posiada możliwość logowania się do systemu poleceniem: su postgres
- port na którym działa serwer SQL, w dalszej części instrukcji będzie on wykorzystywany. Domyślnie jest to port: 5432
- wolne miejsce na dysku twardym. Pliki instalacyjne oraz zainstalowany system potrzebują ogólnie 30 GB wolnej pamięci na dysku
- posiadanie dostępu do użytkownika root lub innego z uprawnieniami sudo
- wymagania określone przez CentOS Linux i PostreSQL oraz posiadanie zainstalowanych niezbędnych aktualizacji oprogramowania
Konwencje
Należy zapewnić jednolitą strukturę katalogów, szczególnie w przypadku, gdy kilka systemów jest utrzymywanych na jednym serwerze.
Katalogi i paczka instalacyjna
Należy stworzyć następujące katalogi instalacyjne poprzez polecenia:
- mkdir /opt/comarch
- mkdir /opt/comarch/CUS610 – katalog, w którym zostanie zainstalowany system
- mkdir /opt/comarch/CIS610PB – katalog z paczką instalacyjną
Paczkę instalacyjną systemu CEE należy rozpakować w lokalizacji /opt/comarch/CIS610PB. Paczka zawiera pliki systemu, skrypty i inne pliki niezbędne w czasie instalacji.
Instalacja JDK
Comarch ERP Enterprise jest oparty na języku programowania Java, wymaga Java Development Kit (JDK) jako środowiska uruchomieniowego.
Wymagana wersja JDK dla wersji systemu Comarch ERP Enterprise:
Wersja systemu Comarch ERP Enterprise | Wersja JDK |
6.1 | 11 |
Opisana poniżej procedura instalacji JDK jest wymagana tylko w przypadku pierwszej instalacji lub zmiany wersji JDK.
Procedura: instalacja Java JDK
Aktualna paczka JDK w wersji 11 dostępna jest do pobrania ze strony https://adoptopenjdk.net/. Po jej pobraniu należy wykonać następujące kroki:
- Umieścić pobraną paczkę na serwerze
- Utworzyć katalog mkdir /opt/comarch/java/
- Rozpakować pobraną paczkę *.tar.gz na serwerze w utworzonej lokalizacji (/opt/comarch/java/)
Instalacja Comarch ERP Enterprise
W paczce instalacyjnej Comarch ERP Enterprise znajduje się archiwum z plikami Comarch ERP Enterprise, a także niezbędne skrypty dla silnika bazy danych PostgreSQL.
Kreowanie baz danych
Kreowanie baz polega na uruchomieniu skryptów z katalogu instalacyjnego. W tym celu należy przelogować się na użytkownika postgres:
su – postgres
Następnie należy przejść do katalogu, w którym znajdują się skrypty do kreowania baz danych:
cd /opt/comarch/CIS610PB/install/scripts/linux/postgres/tools/
W tym katalogu, należy uruchomić skrypt crtdbenv.sh z parametrami:
Skrypt utworzy jedna pustą bazę na serwerze SQL. Należy wykorzystać ten skrypt i utworzyć trzy różne bazy:
- konfiguracyjną
- repozytorium
- produkcyjną OLTP
Poniższe polecenia uruchamiają skrypty tworzące wyżej wymienione bazy:
./crtdbenv.sh -a -n CUSCF -p 5432 ./crtdbenv.sh -a -n CUS610RP -p 5432 ./crtdbenv.sh -a -n CUS61000 -p 5432
Po operacji należy ponownie zalogować się na operatora root za pomocą polecenia:
su root
Rozpakowanie katalogu systemu
W lokalizacji /opt/comarch/CIS610PB/ znajduje się plik semiramis.zip. Zawiera on główny katalog systemu. Powinien on zostać rozpakowany w docelowym katalogu systemu tj. /opt/comarch/CUS610/
Instrukcja powalająca na rozpakowanie paczki w odpowiedniej lokalizacji:
unzip /opt/comarch/CIS600PB/semiramis.zip -d /opt/comarch/CUS610
yum install unzip -y
Po rozpakowaniu paczki w katalogu CUS610 powinien znajdować się katalog semiramis.
Patch
Patch pozwala na uruchomienie systemu na podmienionych plikach lub z dodatkowymi plikami bez ingerencji w oryginalną strukturę katalogów.
Patche można wgrywać do katalogu /opt/comarch/CUS610/semiramis/patch/. Wgrywane paczki muszą mieć taką samą strukturę katalogów jak katalogi w folderze semiramis.
Z katalogu, w którym przechowywane są pliki instalacyjne, należy przekopiować cały katalog com, zawierający pliki łatki. Powinien on zostać umieszczony w lokalizacji /opt/comarch/CUS610/semiramis/patch/cisag/. Poniższe polecenie cp wykonuje kopiowanie:
cp -r /opt/comarch/CIS610PB/com/ /opt/comarch/CUS610/semiramis/patch/cisag/
Przekopiowana w tym kroku łatka zostanie wykorzystana przy wypełnianiu bazy danych w kroku Wypełnianie baz danych.
Połączenie do bazy konfiguracyjnej
W tym kroku tworzone jest połączenie do bazy konfiguracyjnej. W tym celu uruchamiany jest skrypt crtconnprop.sh. Przyjmuje on kolejno argumenty:
- nazwa systemu
- lokalizacja instalacyjnego katalogu databases
- ID dla silnika PostgreSQL = 9
- JDBC ID dla silnika PostgreSQL = 13
- adres sieciowy serwera SQL
- nazwa bazy konfiguracyjnej
/opt/comarch/CIS610PB/install/scripts/linux/crtconnprop.sh CUS610 /opt/comarch/CIS610PB /install/databases 9 13 jdbc:postgresql://localhost:5432 CUSCF
5.5 Import licencji systemu i zapis informacji na konfiguracyjnej bazie danych
Do instalacji systemu niezbędna jest dostarczona licencja na oprogramowanie.
Przed wykonaniem poniższej instrukcji należy przekopiować na serwer plik licencji systemu CEE, przykładowo do lokalizacji: /opt/comarch/CIS610PB/.
Aby zaimportować certyfikat i zapisać informacje na konfiguracyjnej bazie danych, uruchamiany jest skrypt cfgsys.sh. Przyjmuje on kolejno argumenty:
- lokalizacja systemu
- lokalizacja katalogu JDK
- lokalizacja w której znajduje się plik licencji
- nazwa pliku licencji
- hasło licencji
- nazwa pliku .jar odpowiadającego za silnik bazy danych PostgreSQL = postgresql-9.4.1212.jar
/opt/comarch/CIS610PB/install/scripts/linux/cfgsys.sh /opt/comarch/CUS610 /opt/comarch/java/jdk-11.0.7+10 /opt/comarch/CIS610PB/ 400-CUS610-01-CUS610.lic passwrd postgresql-9.4.1212.jar
Weryfikacja pliku connection.properties
W lokalizacji /opt/comarch/CIS610PB/install/databases/ znajduje się plik connection.properties.
Przed kolejnym krokiem należy zmodyfikować jego zawartość, ponieważ na jego podstawie puste bazy danych zostaną wypełnione podstawowymi obiektami i danymi. Plik składa się z wpisów o strukturze:
<nazwa_bazy_danych>.<parametr>:<wartość>
Na samym dole pliku connection.properties po słowie databases: wymienione są wszystkie bazy, dla których konfiguracja ma być wykorzystana do uzupełnienia bazy danych w kolejnym kroku.
Parametry:
- source – wskazanie na nazwę wzorcowej bazy danych z katalogu database
- ContentType – typ bazy (Baza: 1 – konfiguracyjna, 2- repozytorium, 3 – OLTP, 4 – OLAP)
- Type – ID dla silnika bazy danych (PostgreSQL = 9)
- Driver – JDBC ID dla silnika bazy danych (PostgreSQL = 13)
- DriverAccessPath – lokalizacja sieciowa serwera SQL
CUSCF.source:CONFIGURATION_CIS600PBCF
CUSCF.ContentType:1
CUSCF.Type:9
CUSCF.Driver:13
CUSCF.DriverAccessPath:jdbc:postgresql://localhost:5432/CUSCF
CUS61000.source:OLTP_CIS600PB02
CUS61000.ContentType:3
CUS61000.Type:9
CUS61000.Driver:13
CUS61000.DriverAccessPath:jdbc:postgresql://localhost:5432/CUS61000
CUS610RP.source:REPOSITORY_CIS600PBRP
CUS610RP.ContentType:2
CUS610RP.Type:9
CUS610RP.Driver:13
CUS610RP.DriverAccessPath:jdbc:postgresql://localhost:5432/CUS610RP
databases:CUS610RP, CUS61000, CUSCF
Wypełnianie baz danych
Po wykonaniu poniższego polecenia bazy danych wskazane w pliku connection.properties zostaną wypełnione strukturą, obiektami i podstawowymi danymi.
Zostanie tu wykorzystana łatka (patch), która modyfikuje klasę ImportSystem.
/opt/comarch/java/jdk-11.0.7+10/bin/java -cp /opt/comarch/CUS610/semiramis/classes:/opt/comarch/CUS610/semiramis/lib/postgresql-42.2.6.jar:/opt/comarch/CUS610/semiramis/patch/classes:/opt/comarch/CUS610/semiramis/lib/cisag-se.jar com.cisag.sys.kernel.sql.ImportSystem -d:/opt/comarch/CIS610PB/install/databases
Skrypt startowy serwera aplikacji
Każdy system CEE musi posiadać przynajmniej jeden serwer aplikacji (SAS). Domyślnym jest: MESSAGESERVER.
Do uruchomienia tego serwera potrzebny jest skrypt, który uruchomi instancję systemu.
W tym celu należy:
- Utworzyć katalog dla serwera aplikacji (SAS):
mkdir /opt/comarch/EGERIASUPPORT/semirmis/servers/MESSAGESERVER
- Utworzyć plik strass-MESSAGESERVER.sh:
vi /opt/comarch/CUS610/semiramis/servers/MESSAGESERVER/strass-MESSAGESERVER.sh
- Wypełnić plik poniższą zawartością. Parametry należy dostosować do instalowanego systemu:
- SAS – nazwa serwera aplikacji
- SYSTEM – nazwa systemu
- SYSTEM_DIR – katalog, w którym znajduje się system CEE
- JDK – wskazanie na katalog, w którym umieszczone jest JDK
export SAS="MESSAGESERVER" export SYSTEM="CUS610" export SYSTEM_DIR="/opt/comarch/${SYSTEM}" export JDK="${SYSTEM_DIR}/jdk" export SEMIRAMIS_START="rlwrap semiramis.sh -toolUser:ADMINISTRATOR ${SAS}" #export SEMIRAMIS_REMOTE_JCONSOLE=20010 if [ "x${SEMIRAMIS_LOCAL}" != "x" ]; then "${SEMIRAMIS_START}" exit 0 fi export SEMIRAMIS_LOCAL="${SYSTEM_DIR}/semiramis" cd "${SEMIRAMIS_LOCAL}/servers/${SAS}" #echo "\"${SEMIRAMIS_LOCAL}/bin/unix/env.sh\" \"${JDK}\" \"${SEMIRAMIS_LOCAL}\"" "${SEMIRAMIS_LOCAL}/bin/unix/env.sh" "${JDK}" "${SEMIRAMIS_LOCAL}"
Zakończenie edycji i zapis w edytorze Vim:
:x
Link i uprawnienia do JDK
Należy wykonać poniższe polecania w celu utworzenia linków systemowych do JDK oraz nadać możliwość uruchamiania skryptu startowego:
ln -s /opt/comarch/java/jdk-11.0.7+10 /opt/comarch/CUS610/jdk chmod 755 /opt/comarch/CUS610/semiramis/servers/MESSAGESERVER/strass-MESSAGESERVER.sh chmod 755 /opt/comarch/CUS610/semiramis/bin/unix/*.sh
Uruchomienie Serwera Aplikacji Comarch ERP Enterprise
Aby uruchomić serwer aplikacji po raz pierwszy, należy wykonać następujące czynności:
- Przejść do katalogu serwera aplikacji:
cd /opt/comarch/EGERIASUPPORT/semiramis/servers/MESSAGESERVER
- Wykonać skrypt w celu uruchomienia SAS:
./strsas-MESSAGESERVER.sh
Kreowanie informacji o bazie danych
Aby system w prawidłowy sposób mógł korzystać z zadeklarowanych w systemie baz danych, należy wykonać polecenia kreujące informacje o bazach danych.
Po poprawnym uruchomieniu serwera aplikacji wyświetlany jest komunikat: ADMINISTRATOR@MESSEAGESERVER>
W tym miejscu należy wydawać polecenia w powłoce serwera aplikacji.
Do wykreowania informacji o bazach (konfiguracyjnej, repozytorium, OLTP) należy wykonać pojedynczo poniższe polecania w zalecanej kolejności:
crtdbinf -configuration
crtdbinf -repsitory crtdbinf -oltp
Zmiana adresu URL SAS
Standardowo SAS jest zarejestrowany na adres URL https://localhost. Aby zmienić ten adres, należy wykonać poniższe kroki:
- Uruchomić SAS MESSAGESERVER (jeśli jest wyłączony)
- Aby uzyskać dostęp do uruchomionego serwera aplikacji Comarch ERP Enterprise za pośrednictwem przeglądarki internetowej poprzez wpisanie adresu URL, zalecane jest połączenie HTTPS, z tego powodu wymagany jest certyfikat. Przykładowy adres to: https://CEE.twojafirma.pl
Poniższe polecenie dla serwera aplikacji zmieni adres URL z pierwotnego (https://localhost) na żądany pod którym dostępny jest SAS:
chgsas -sas:MESSAGESERVER -baseURL:https://CEE.twojafirma.pl
W celu potwierdzenia ostrzeżenia na klawiaturze należy wybrać przycisk [y]
SYS-3046 Zmiana serwera aplikacji „LOCALHOST” systemu „CUS610”.
Pojawiły się ostrzeżenia:
Ostrzeżenie: SYS-3511 Nazwa hosta z bazowego adresu URL nie jest taka sama jak wartość „Issued for” z certyfikatu. Certyfikat serwera aplikacji Comarch ERP Enterprise musi zostać wygenerowany ponownie, aby klienci mogli rozpoznać ten serwer i zalogować się na niego. Bez nowego certyfikatu klienci nie będą weryfikować tożsamości serwera i odmówią zalogowania się. Potwierdź te ostrzeżenia: y=yes , n=no , a=all
- Następujące polecenie wygeneruje nowy certyfikat serwera dla adresu URL zdefiniowanego dla SAS:
crtsascert -sas:MESSAGESERVER -issuer:COMARCH
- Użycie poniższego polecenia ustawi katalog serwera plików SAS:
chgsas -sas:MESSAGESERVER -fileServerDirectory:/opt/comarch/CUS610/semiramis
- Polecenie restart uruchomi ponownie SAS MESSAGESERVER systemu Comarch ERP Enterprise.
- Od tej chwili serwer WWW serwera aplikacji będzie akceptował połączenia z adresem URL https://CEE.twojafirma.pl w oparciu o nowo wydany certyfikat serwera.
Logowanie do Comarch ERP Enterprise
Pierwsze logowanie do systemu przez przeglądarkę odbywa się poprzez podanie loginu i hasła.
Login: ADMINISTRATOR
Hasło: 1234567
Zalecane jest, aby logowanie wszystkich użytkowników odbywało się poprzez wydawane indywidualne certyfikaty.
Użytkownik powinien zainstalować certyfikat .PFX na swoim komputerze osobistym. Po zainstalowaniu certyfikatu użytkownik będzie mógł uzyskać dostęp do strony https://CEE.twojafirma.pl. Podczas uwierzytelniania pojawi się okno z prośbą o wskazanie zainstalowanego certyfikatu. Wskazany certyfikat jest pamiętany przez przeglądarkę w ramach sesji przeglądarki.
Przelogowanie na innego użytkownika z wykorzystaniem innego certyfikatu może nastąpić po ponownym uruchomieniu przeglądarki lub w trybie prywatnym.
Uruchamianie serwera aplikacji jako usługi
Poniżej został przedstawiony najprostszy sposób, który pozwoli na uruchamianie serwera aplikacji wraz ze startem systemu operacyjnego. W tym celu wykorzystane zostanie narzędzie Crontab, należy:
- Wpisać polecenie w powłoce systemowej: crontab -e
- Dodać linię:
@reboot sleep 80 && /opt/comarch/CUS610/semiramis/servers/MESSAGESERVER/strass-MESSAGESERVER.sh
- Zapisać i zakończyć edycję poprzez polecenie:
:wq
Taki sam efekt można uzyskać również dzięki innym mechanizmom systemu CentOS.
Odinstalowanie Comarch ERP Enterprise
Aby odinstalować system Comarch ERP Enterprise, należy wykonać następujące kroki:
- Wyjść ze wszystkich serwerów, które mają dostęp do bazy danych
- Wywołać skrypt usuwający obiekty (role, bazy) związane ze wskazanym systemem CEE na silniku bazy danych
/opt/comarch/CIS610PB/install/scripts/linux/postgres/tools/dltdbenv.sh -a -n CUS610
Powyższy skrypt przyjmuje parametry:
- -a – usuń wszystko
- -n <nazwa_systemu> – nazwa systemu
- Usunąć pliki zapisane w katalogu /opt/comarch/CUS610
- System Comarch ERP Enterprise jest teraz odinstalowany