Legfrissebb bejegyzések

Open Source céges szoftverekről szóló cikksorozatunk első részében wiki alkalmazásokat mutattam be, a mai írásban ügyfélkapcsolati rendszerekről lesz szó.

A cégek, IT osztályok életében előbb-utóbb felmerül az igény a hibabejelentések, fejlesztések, incidensek kezelésére alkalmas szoftver bevezetésére. A fizetős szoftverek közül sok cég használ Jira-t, HappyFox-ot, az ingyenesek közül szinte mindenki találkozott már a Mantis, Bugzilla alkalmazásokkal. Ma egy kevésbé ismert, egyszerű, könnyen kezelhető alternatívát hoztam, melynek neve: Maian Support.

A PHP, MySQL, Javascript alapú ticketing rendszer többek között többszintű jogosultságkezeléssel, IMAP fiókokból történő levélfeldolgozási rendszerrel, spam szűrővel, tudásbázis modullal, http XML és JSON API-val, egyedi mező és sablonválasz funkciókkal bír. Ezen opciókkal az átlagos igényeket ki lehet elégíteni. Tekintve, hogy open source, jól struktúrált PHP kód a motorja, így egyedi modulokat is könnyen hozzá lehet illeszteni.
A demoja itt érhető el, érdemes kipróbálni.

Ez a cikk egy sorozat első része, melyben különböző témákörökban szeretnék röviden bemutatni azt, hogy egy-egy céges területet miként lehet free szoftverekkel lefedni. Több alternatívát fogok felsorolni, és egyről fogok egy picit részletesebben írni. Vágjunk is bele. :)

Előbb-utóbb minden IT csapat, vagy cég életében eljön az az igény, hogy a megszerzett tudást, know-how-t, eljárásokat, az ügyfélrendszerekkel, munkákkal kapcsolatos információkat jó lenne rendszerezni, könnyen szerkeszthetővé, kiegészíthetővé, megoszthatóvá tenni. Az évek során jómagam is használtam és láttam működés közben ilyen rendszereket, többek között egyedi fejlesztéseket, az ingyenesek közül nagy neveket (DokuWiki, Redmine, Trac), a fizetősek közül a szinte iparági megkerülhetetlen Confluence-t, Bitrix-et, és még másokat. Az új generációs szoftverekből ott van pl. a Wiki.JS, vagy a mai sztárvendégünk, a BookStack.
Ezen szoftverek mindegyikének megvan a létjogosultsága, a maga előnyével és hátrányával (hosztolhatóság, ingyenesség, használt adatbázis (pl. MySQL, PostgreSQL), szükséges futtatókörnyezet (pl. Java, PHP, Python), a szerkesztéshez használt leíró nyelv (HTML, egyedi, Wikitext), kiindulási alapnak érdemes a vonatkozó Wikipedia cikket tanulmányozni.

Az elmúlt hónapokban egy projekt kapcsán más megoldások után kellett kutatnom, így találtam rá a címben említett BookStack szoftverre, mely egy self hosted, Laravel alapú wiki.
Telepítéséhez PHP >= 7.0.0, MySQL >= 5.6, egy pár PHP modul és composer szükséges, de van kész Docker image-ük, illetve Ubuntu-ra írt install szkriptjük is.

Főbb feature-ök:

  • cikkeinket fejezetekbe, azokat könyvekbe, a könyveket pedig könyvespolcokba tudjuk rendezni.
  • kimagaslú színvonalú beépített WYSIWYG szerkesztővel rendelkezik a rendszer, drag&drop fájlfeltöltés, a draw.io-t is integrálták a fejlesztők.
  • ACL-ekkel jogosultságokat tudunk felhasználónként és csoportonként beállítani, az előbb említett kategóriák szerint priváttá/publikussá tudjuk tenni a dokumentációnk egyes részeit.
  • Engedélyezhetjük, és domain szinten korlátozhatjuk ügyfélregisztrálást.

Ha ilyen szoftvert keresnek olvasóim, mindenképp érdemes kipróbálni az online demójukat, tetszetős ng-wiki kezdeményezés.

A mai rövid cikkemben megmutatom, miként lehet Linux alól Cisco eszközöket menedzselni ssh-n keresztül, emberi beavatkozás nélkül. A példaszkriptben be fogunk lépni távolról egy Cisco switch-re, jogosultságot emelünk, majd meg fogunk pingetni egy távoli eszközt. Nem is a pingetésen van a hangsúly, hisz bármiyen más, bonyolultabb műveletet is elvégezhetünk így - a lényeg, hogy ezt miként lehet automatizálni :).
A szkript futtatásához szükséged lesz az alábbiakra:

  • Linux gépre telepített expect parancs
  • ssh engedélyezése Cisco eszközön

#!/bin/bash

ciscoip="IP CÍM HELYE"
ciscouser="FELHASZNÁLÓNÉV HELYE"
ciscopassword="JELSZÓ HELYE"
logfile=/var/log/cisco_ping.log
tmpfile=/tmp/cisco_ping.tmp

/usr/bin/expect << EOD > $tmpfile

set timeout 3000
spawn ssh -o StrictHostKeyChecking=no $ciscoip
expect "User:"
send "$user\n"
expect "ssword:"
send "$password\n"
expect ">"
send "enable\n"
expect "ssword:"
send "$password\n"
expect "#"
send "ping 8.8.8.8\n"
expect "#"
send "logout\n"
EOD

if [ $(grep "Success rate is 100 percent" $tmpfile | wc -l) -eq 0 ]; then
echo "$(date +%Y-%m-%d" "%T) $ciscoip router ping failed" >> $logfile
fi

exit 0