Portál AbcLinuxu, 2. května 2024 19:55

WinStrom FlexiBee na nepodporovaných distribucích

29. 7. 2011 | Max Devaine
Články - WinStrom FlexiBee na nepodporovaných distribucích  

FlexiBee je účetní a ekonomický software pro Linux, které začíná nabírat na oblibě. Nyní se na něj podíváme z trochu jiné stránky – jak jej rozjet na oficiálně nepodporovaných distribucích.

Obsah

Vesměs jsme se setkali jen s články, které toto účetnictví představují jen z uživatelské stránky na podporovaných distribucích. Osobně používám Arch GNU/Linux a zachtělo se mi toto účetnictví také zkusit a začal jsem tedy pátrat. Pitvat již připravené balíčky pro jiné distrubuce nemělo moc smysl, ale někde na webu jsem našel zmínku o neoficiálním ebuildu pro Gentoo, který v té době nedosahoval takové úrovně jako dnes. Toto byl zajímavý zdroj informací pro zjištění potřebných věcí k tvorbě vlastního PKGBUILDu pro Arch GNU/Linux. Tento článek byl původně napsán jako blogový zápisek.

Nejdříve si představíme ruční instalaci, která by měla při troše snahy fungovat na každé distribuci. Ve finále pak ukážu instalaci na Arch GNU/Linux s mým PKGBUILDem. Nuže, neprodlužujme naší nedočkavost a pojďme se podívat, co bude potřeba.

Požadavky pro běh

link

Není potřeba toho mít tolik, stačí jen několik věcí:

Instalace potřebných součástí

link

Instalaci budeme provádět na jednom počítači, tzn., že server i klient poběží na jednom místě. Začneme tedy instalací PostgreSQL a PL/Tcl.

Instalace postgresql (9.0.4-4)

link
pacman -S postgresql postgresql-libs
/etc/rc.d/postgresql start

Postgresql s podporou PL/Tcl

link

Jak už jsem řekl, je potřeba podpora PL/Tcl v postgresql, kterou PostgreSQL v Arch GNU/Linuxu nemá, vizte oficiální PKGBUILD. Ničeho se ovšem nemusíme bát, celý PostgreSQL kompilovat nebudeme. Podporu PL/Tcl stačí dokompilovat samostatně. Jen upozorňuji, že toto je jen ukázka, správně byste měli vytvořit balíček pro svou distribuci a nedělat věci takto natvrdo.

Stáhneme si zdrojové kody aktuálně nainstalovaného PostgreSQL:

cd /usr/local/src/
wget -c ftp://ftp.postgresql.org/pub/source/v9.0.4/postgresql-9.0.4.tar.bz2

Rozbalíme a zkompilujeme čistě jen podporu PL/Tcl:

tar xvfj postgresql-9.0.4.tar.bz2
cd postgresql-9.0.4
./configure --prefix=/usr --datadir=/usr/share/postgresql --with-tcl
cd src/pl/tcl
make

Nyní máme knihovnu pltcl.so, kterou si můžeme nakopírovat do adresáře PostgreSQL a už nám to sviští.

cp pltcl.so /usr/lib/postgresql/

Sun Java JRE

link

V každé distribuci je toto různé, v Archu:

pacman -S jre

Instalace Winstrom FlexiBee 10.14.2.14

link

Teď se trochu zapotíme :-)

Základní instalace FlexiBee

link

Začneme tím, že si vytvoříme uživatele a skupinu pro náš FlexiBee server:

useradd --system --home-dir /tmp --no-create-home --user-group --shell /bin/false winstrom

Stáhneme FlexiBee tar.gz (nyní kolem 50 MB) a rozbalíme:

cd /usr/local/src/
wge -c http://www.flexibee.eu/download/10.14/flexibee-10.14.2.14.tar.gz
tar xvfz flexibee-10.14.2.14.tar.gz

Nyní ručně nainstalujeme (startup skript /etc/init.d nepoužijeme, Arch funguje trochu jinak):

cd flexibee-10.14.2.14
cp -a usr /
cp -a etc/default/* /etc/default/
cp -a etc/logrotate.d/* /etc/logrotate.d/
cp -a etc/flexibee /etc/

Jako startup skript použijeme například tento. Jak můžete vidět, není to jen init skript, ale obsahuje i jakousi instalační část, kterou si nyní dopodrobna vysvětlíme, resp. jí provedeme ručně. Na instalační část nejsem moc hrdý a třeba automatické generování hesla není úplně to ořechové – mám to jen na testování jako příklad a možná zkusím vymyslet někdy něco důmyslnějšího.

Nastavujeme důležité věci pro první spuštění

link

Základ bychom za sebou měli, a to včetně startup skriptu serverové části. Nyní nás čeká konfigurace databáze. Začneme tím, že vytvoříme příslušnou roli pro FlexiBee:

$ su – postgres
$ psql
> CREATE ROLE dba PASSWORD 'hustodemonskykrutoprisneheslo' CREATEDB SUPERUSER CREATEROLE INHERIT LOGIN;

# ověříme, že je role vytvořená:
> select usename from pg_user where usename = 'dba';

# zmizíme pryč:
> \q
$ exit

Dále je potřeba nastavit FlexiBee server. Jednak je nutné upravit heslo do databáze a druhak i port (default 5435, Arch má 5432), na kterém databáze naslouchá, takže upravíme:

nano /etc/flexibee/flexibee-server.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM „http://java.sun.com/dtd/properties.dtd“>
<properties>
    <comment>WinStrom server configuration</comment>
    <entry key="host">localhost</entry>
    <entry key="port">5432</entry>
    <entry key="user">dba</entry>
    <entry key="password">hustodemonskykrutoprisneheslo</entry>
    <entry key="defaultPort">5435</entry>

    <!-- always|never -->
    <entry key="sendErrors">never</entry>
</properties>

Ve finále ještě nastavíme správně práva:

chown winstrom /etc/flexibee/flexibee-server.xml
chmod 600 /etc/flexibee/flexibee-server.xml

Fungujeme

link

Nyní máme vše nainstalováno a nastaveno, stačí tedy spustit server:

/etc/rc.d/flexibee start

Bez použití skriptu lze server spustit a ukončit takto:

# spustit:
flexibee-server

# ukončit:
kill $(cat /var/run/flexibee.pid)

Režim aplikace (tedy fungování jako server, klient nebo obojí současně) lze přepínat v /etc/default/flexibee. Tato cesta je v aplikaci určena napevno.

Pokud máme server spuštěn, tak se následně můžeme klientem připojit (nezapomeňte ve správě zdrojů nastavit správný port SQL serveru, tj. 5432):

flexibee

Pokročilé možnosti -> správa datových zdrojů

Instalace FlexiBee na nepodporovaných distribucích

Přidat ->
Adresa: 127.0.0.1
Port: 5432 -> Přidat

Instalace FlexiBee na nepodporovaných distribucích

-> Ok

Instalace FlexiBee na nepodporovaných distribucích

Vyplníme uživatelské jméno a heslo, které nám bude sloužit k prvnímu přihlášení:

Instalace FlexiBee na nepodporovaných distribucích

Pomocí vytvořeného uživatele a hesla z předchozího kroku se nyní přihlásíme:

Instalace FlexiBee na nepodporovaných distribucích

Pokračujeme klasicky založením firmy...

FlexiBee a webové rozhraní

link

FlexiBee má i své webové rozhraní, je zatím lehce omezeno. Standardně běží na portu 5434. Tento port se definuje v /etc/flexibee/flexibee-server.xml a jedná se o položku <entry key="defaultPort">5434</entry>.

Jen lehký pohled na webové rozhraní:

Instalace FlexiBee na nepodporovaných distribucích Instalace FlexiBee na nepodporovaných distribucích Instalace FlexiBee na nepodporovaných distribucích

FlexiBee má své skripty pro celé nastavení

link

FlexiBee toto všechno řeší svými skripty pro podporované distribuce, jedná se o skript initdb.sh, ze kterého jsem částečně čerpal:

/usr/share/flexibee/bin/initdb.sh

Instalace na Arch Linuxu

link

Pokud mi důvěřujete a nechcete se s ničím dlabat, tak lze celý článek na Archu shrnout takto (pokud bude vše fungovat automaticky a nikde jsem nic nepokazil):

pacman -S postgresql postgresql-libs jre
yaourt -S postgresql9-pltcl
/etc/rc.d/postgresql start
yaourt -S winstrom-flexibee
/etc/rc.d/flexibee install
/etc/rc.d/flexibee start

Čistíme po sobě

link

Kdo by rád po sobě uklidil po instalaci, tak následovně:

1) Odstraníme Flexibee :

/etc/rc.d/flexibee stop
pacman -R winstrom-flexibee

2) Odstraníme uživatele a skupinu winstrom:

userdel winstrom

3) Odstraníme PostgreSQL se všemi databázemi (nejen FlexiBee)

/etc/rc.d/postgresql stop
rm -rf /var/lib/postgres
pacman -R postgresql9-pltcl postgresql-libs postgresql

4) Odstraníme konfigurační soubory u uživatele:

rm -rf ~/.winstrom

Další články z této rubriky

VDR a DVB-T2, část 2.
VDR a DVB-T2, část 1.
Šifrovaný Proxmox VE 6: ZFS, LUKS, systemd_boot a Dropbear
MapTiler – proměňte obrázek v zoomovatelnou mapu
Syncthing

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.