Installation der Meta-Rolle Software
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:
yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm yum -y install http://mirror1.hs-esslingen.de/repoforge/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm yum -y install yum-utils yum-config-manager --enable rpmforge-extras
Anschließend kann die benötigte Software installiert und konfiguriert werden:
yum -y install git mysql-community-client git config --global user.name "jtel Support" git config --global user.email "support@jtel.de" cp ~/.gitconfig /home/jtel chown jtel:jtel /home/jtel/.gitconfig
Wenn man ein Proxy für GIT braucht:
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:
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:
cd /home/jtel/shared git clone https://git.jtel.de/scm/jtel/jtel.git JTEL git clone https://git.jtel.de/scm/jtel/carrierportal_jtel.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:
cd /home/jtel/shared git clone https://git.jtel.de/scm/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.06:
cd /home/jtel/shared/JTELCarrierPortal git checkout release/stable-3.11 cd /home/jtel/shared/JTEL git checkout release/stable-3.11 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:
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
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.
cat <<EOFF > /etc/cron.daily/jtel_portal_cleaner.sh find /srv/jtel/shared/Data/clients/1/reports -type f -mtime +2 | xargs rm EOFF chmod +x /etc/cron.daily/jtel_portal_cleaner.sh