| Sv translation |
|---|
|
In a standard installation scenario, a copy of the software repositories is also stored in the central share of the STORE role. This is therefore accessible from all machines of the jtel system. Access to the software repositories serves various purposes: - All machines in the TEL role can execute the telephony applications (R5 scripts) directly from this central share. Alternatively, these components of the software can also be copied locally from the central share to the Windows machines to reduce network traffic during operation. However, this requires additional care when updating the system, since in this case, after updating the repository, the corresponding directories with the R5 scripts must be copied on all Windows machines.
- In case of initial installation or later updates, the database initialization or database update scripts are executed from here.
- Additional software components that are installed locally on different machines (e.g. connectors, plugins, UDP listener) are copied and updated from here
Installation of required additional softwareNote: for redundant systems, do this on BOTH storage nodes. Additional software must be installed to provide and update the jtel software repository. Since this can not only be obtained from the official CentOS package sources, other software sources must be configured: | Translations Ignore |
|---|
| Code Block |
|---|
|
| language | bash |
|---|
| title | Install additional software sources - MySQL 8.x. |
|---|
|
yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpmInstall GIT
Git is required, to checkout the software.
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Install additional software sources - MySQL 5.6 |
|---|
| yumdnf -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm |
|
The required software can then be installed and configured. The configuration is done under the user jtel.
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Install and configure GIT |
|---|
| yum -y install git2u mysql-community-clientgit
su jtel
cd
git config --global user.name "jtel Support"
git config --global user.email "support@jtel.de" |
|
If you need a proxy for GIT:
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash | title | Proxy for GIT |
|---|
| git config --global http.proxy http://<proxy_server>:<port> |
|
Downloading the jtel software for the first time
Note: for redundant systems, do this on the ACTIVE storage nodesnode.
Change to jtel User
The following operations are no longer performed in the context of the root user but must be performed in the context of the jtel user. To do this, you can either log in as user jtel in a separate SSH session or, if you are already logged in as user root, you can switch to the context of the jtel user. This is done with the following command:
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Change user context |
|---|
| su jtel
cd |
|
After entering these commands you can recognize the user change at the system prompt, which is now [jtel@acd-lb ~]$ (the system prompt consists of username@hostname current directory) The next step is to download the two software repositories with the jtel standard software.
This is done by entering the following commands:
| Translations Ignore |
|---|
Clone jtel Software
Next, the jtel Software is cloned. This will be done in 2 steps, as a user name and password is required for each one.
| Info |
|---|
| title | New Repository Locations |
|---|
|
Attention: new repository URLs - see here: New Repository Locations| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash | title | Download the development repositories |
|---|
| cd /srv/jtel/shared
git clone https://bitbucket.org/jtelgmbh/jtel.git JTEL |
| Code Block |
|---|
| cd /srv/jtel/shared
git clone https://bitbucket.org/jtelgmbh/jtelcarrierportal.git JTELCarrierPortal |
|
In the event that specific adaptations or extensions have Clone Customer Software
If specific software has been programmed for the customer, the customer-specific software repository must also be downloaded. This is done
exemplarily by a command which is structured as follows, for the example customer acme:
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Download a custom repository |
|---|
| cd /srv/jtel/shared
git clone https://bitbucket.org/jtelgmbh/cacme/-software.git acme |
|
Both the source URL and the target directory are customer-specific in this case and differ from case to case.Change to required Software Release
In the downloaded software repositories, the software release to be
installed at the customer used must now be selected. In this case it is release 3.
1420:
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Select the desired release |
|---|
| cd /srv/jtel/shared/JTELCarrierPortal
git checkout release/stable-3.1822
cd /srv/jtel/shared/JTEL
git checkout release/stable-3.1822
# For customer specific software only
# cd /srv/jtel/shared/acme
# git checkout develop
cd /srv/jtel/shared |
|
Note, that the customer specific release is usually develop, as customer releases are not branched or tagged when the jtel Software is branched or tagged.
Create Required Directories
The last step is to create the directories for central logging, standard data import and the central main data directory:
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash | title | Prepare data directories |
|---|
| cd /srv/jtel/shared
mkdir -p LogFiles LogFilesCall Import/{Clients,ServiceNumbers}/{Done,In,Problems}
cp -a JTELCarrierPortal/Data .
cp -a JTEL/Data/system/gui Data/system
cd /srv/jtel/shared/JTELCarrierPortal/Update
bash ./get_binaries.sh |
|
Cleaner processes
A CRON job is required used to clean up the directories of the portal.
With redundancy, configure this on both STORE. Since the directory is only mounted on one, but we don't know which one is active, the command must be executed on both.
CautionNote: execute as ROOT.
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Cleaner processes in /etc/cron.daily |
|---|
| cat <<EOFF > /etc/cron.daily/jtel_portal_cleaner.sh << EOFF
find /srv/jtel/shared/Data/clients/*/reports -type f -mtime +2 -delete
EOFF
chmod +x /etc/cron.daily/jtel_portal_cleaner.sh |
|
| Sv translation |
|---|
|
| toc |
|
In einem Standard-Installations-Szenario wird in der Zentral-Freigabe der Rolle STORE auch eine Kopie der Software-Repositories abgelegt. Diese ist demnach von allen Maschinen des jtel Systems erreichbar. Der Zugriff auf die Software-Repositories dient verschiedenen Zwecken:
- Alle Maschinen der Rolle TEL können die Telefonie-Applikationen (R5-Skripte) direkt von dieser zentralen Freigabe heraus ausführen. Alternativ können diese Komponenten der Software auch von der zentralen Freigabe lokal auf die Windows-Maschinen kopiert werden um den Netzwerkverkehr im laufenden Betrieb zu reduzieren. Dies erfordert allerdings zusätzliche Sorgfalt beim aktualisieren des Systems, da in diesem Fall nach dem Aktualisieren des Repositories die entsprechenden Verzeichnisse mit den R5-Skripten auf allen Windows-Maschinen kopiert werden müssen.
- Im Falle der Erstinstallation oder späteren Aktualisierungen, werden von hier die Datenbank-Initialisierungs- bzw. Datenbank-Aktualisierung-Skripte ausgeführt.
- Weitere Software-Komponenten die auf verschiedenen Maschinen lokal installiert werden (z.B. Konnektoren, Plugins, UDP Listener) werden von hier kopiert und aktualisiert
Installation benötigter Zusatzsoftware
Hinweis: bei Redundante Systeme, dies auf BEIDE Storage Nodes ausführen.
Für die Bereitstellung und Aktualisierung des jtel Software-Repositories muss zusätzliche Software installiert werden. Da diese nicht nur aus den offiziellen CentOS Paketquellen bezogen werden kann, müssen noch weitere Software-Quellen konfiguriert werden:
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Install additional software sources - MySQL 8.x. |
|---|
|
yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm |
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Install additional software sources - MySQL 5.6 |
|---|
|
yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm |
Anschließend kann die benötigte Software installiert und konfiguriert werden. Die Konfiguration erfolgt unter den User jtel.
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Install and configure GIT |
|---|
|
yum -y install git2u mysql-community-client
su jtel
cd
git config --global user.name "jtel Support"
git config --global user.email "support@jtel.de" |
Wenn man ein Proxy für GIT braucht:
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Proxy for GIT |
|---|
|
git config --global http.proxy http://<proxy_server>:<port> |
Erstmaliges Herunterladen der jtel Software
Hinweis: bei Redundante Systeme, dies auf den AKTIVEN Storage Nodes ausführen.
Die folgenden Operationen erfolgen nicht mehr im Kontext des Benutzers root sondern müssen im Kontext des Benutzers jtel ausgeführt werden. Dafür kann man sich entweder in einer separaten SSH Sitzung als Benutzer jtel anmelden oder, wenn man bereits als Benutzer root angemeldet ist, in den Kontext des Benutzers jtel wechseln. Dies erfolgt durch folgenden Befehl:
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Change user context |
|---|
|
su jtel
cd |
Nach Eingabe dieser Befehle erkennt man den Benutzerwechsel am Systemprompt, welches nun [jtel@acd-lb ~]$ lautet (Das Systemprompt setzt sich zusammen aus benutzername@hostname aktuelles Verzeichnis) Als nächstes werden nun die beiden Software-Repositories mit der jtel Standardsoftware heruntergeladen.
Dies erfolgt durch Eingabe folgender Befehle:
| Translations Ignore |
|---|
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Download the development repositories |
|---|
|
cd /home/jtel/shared
git clone https://bitbucket.org/jtelgmbh/jtel.git JTEL
git clone https://bitbucket.org/jtelgmbh/jtelcarrierportal.git JTELCarrierPortal |
Im Falle dass für den Kunden noch spezifische Anpassungen oder Erweiterungen programmiert wurden, muss zusätzlich das Kundenspezifische Software-Repository heruntergeladen werden. Dies erfolgt exemplarisch durch einen Befehl der folgendermaßen aufgebaut ist:| colour | Red |
|---|
| title | This page is only available in English |
|---|
|
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Download a custom repository |
|---|
|
cd /home/jtel/shared
git clone https://bitbucket.org/jtelgmbh/cacme/software.git acme |
Sowohl die Ursprungs-URL als auch das Zielverzeichnis sind in diesem Fall kundenspezifisch und von Fall zu Fall verschieden.
In den Heruntergeladenen Software-Repositories muss nun noch das beim Kunden zu installierende Software-Release ausgewählt werden. In diesem Fall ist es das Release 3.14:
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Select the desired release |
|---|
|
cd /home/jtel/shared/JTELCarrierPortal
git checkout release/stable-3.18
cd /home/jtel/shared/JTEL
git checkout release/stable-3.18
cd /home/jtel/shared |
Als letzter Schritt werden nun noch die Verzeichnisse für die zentrale Protokollierung, den Standard-Datenimport und das zentrale Datenverzeichnis angelegt:
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Prepare data directories |
|---|
|
cd /home/jtel/shared
mkdir -p LogFiles LogFilesCall Import/{Clients,ServiceNumbers}/{Done,In,Problems}
cp -a JTELCarrierPortal/Data .
cp -a JTEL/Data/system/gui Data/system
cd /home/jtel/shared/JTELCarrierPortal/Update
bash ./get_binaries.sh |
Cleaner Prozesse
Damit die Verzeichnisse des Portals aufgeräumt werden, wird ein CRON Job benötigt.
Bei Redundanz, auf beide STORE. Da das Verzeichnis nur auf einer gemountet ist, aber wir wissen nicht welche, muss der Befehl auf beide ausgeführt werden.
Achtung: als ROOT.
| Translations Ignore |
|---|
| Code Block |
|---|
| language | bash |
|---|
| title | Cleaner processes in /etc/cron.daily |
|---|
|
cat <<EOFF > /etc/cron.daily/jtel_portal_cleaner.sh
find /srv/jtel/shared/Data/clients/*/reports -type f -mtime +2 -delete
EOFF
chmod +x /etc/cron.daily/jtel_portal_cleaner.sh