====== MOBIS ======
* mobis: [[http://shop.epos.cz/mobis/mobis.php]]
* ctecka: [[http://shop.epos.cz/mobis/sklad_terminal.php]]
* pokud nejde odhlasit: https://server/mobis/mobis.php?WebManagerCommand=Close
* Chrome+selfsigned certifikaty - pridat https://server do: [[chrome://flags/#unsafely-treat-insecure-origin-as-secure]] pro localhost verze chrome >=119 [[chrome://flags/#temporary-unexpire-flags-m118]] a verze <119 [[chrome://flags/#allow-insecure-localhost]]
* refresh mobis android chrome: Nastaveni - Ochrana soukromi - Vymazat udaje o prohlizeni - Poslednich 24 hodin
* testování mobil chrome: CTRL+SHIFT+I (Prozkoumat) CTRL+SHIFT+M (Toggle device) + F5 Refresh
* pokud se dlouho načítá úvodní login v Chrome - pak Nastavení - Vymazat údaje o prohlížení - Obrázky a soubory v mezipaměti (od začátku)
* parametry pro login: ''Data=data&User=username&Password=''
* ulozeni hesla do local storage: ''?SavePassword'' (zruseni ''?ClearPassword'')
* spusteni chrome jako app + jiny profile: chrome --user-data-dir="c:\users\jmeno\AppData\Roaming\obis\chrome" --app="https://user:pass@mobis.domain.cz/mobis/mobis.php"
* Command Startmenu: ''Command=StartMenu&Name=MenuItemName'' (např. plancalendar) - MOBIS musí být přepnutý v Startmenu
* {{:progs:epos_root_ca1.cer|aktuální certifikát autority epos_root_ca1.cer}}, {{:progs:epos_root_ca1.crt|aktuální certifikát autority epos_root_ca1.crt}}, pro android {{:progs:d5c3f7ce.0|d5c3f7ce.0}} (ID: 00:B3:CD:0E:7D:B0:68:84:D0 platnost do 7.7.2024)
* pro android nahrat d5c3f7ce.0 do /system/etc/security/cacerts/ , chmod 644 viz. [[http://wiki.cacert.org/FAQ/ImportRootCert#CAcert_system_trusted_certificates_.28without_lockscreen.29]]
(aktualizace v obis-v5.0/user.obis-demo/)
===== Změny menu, rozhraní =====
==== phpserver.ini ====
* lze vytvořit soubor $OBISROOT/html/etc/jmeno.ini (pro mobis/jmeno.php)
* DesktopMode zapína explicitní chování jako v browseru na PC (záložky, detail atd)
* Landscape - explicitně zobrazení naležato/nastojato (grid jako tabulka)
[javascript]
DesktopMode=1
Landscape=0
==== obis5/uzivatele/Admin/mobis_menu.xml ====
LuaConsole+Uzivatele+Skupiny pro Admin: na web serveru soubor
**rename-mobilemenu.sh**
#!/bin/sh
for FILEN in `find uzivatele -name mobilemenu.xml` `find user -name mobilemenu.xml`; do
DIRN=`dirname $FILEN`
echo rename $DIRN/mobilemenu.xml to $DIRN/mobis_menu.xml
mv $DIRN/mobilemenu.xml $DIRN/mobis_menu.xml
done
===== Příkazy XMLRPCSERVER =====
* telnet localhost serviceport
* LIST
* DUMP
* QUIT
===== XMLRPC, OBISCSERVER =====
Windows: [[https://www.virtualbox.org/wiki/Downloads|virtualbox pro windows]] + (0vypalit/linux/distros/terminaly-obis/virtualbox-server-debian-obis.ova) - importovat applianci
+ [[http://www.windows-noob.com/forums/index.php?/topic/4931-have-virtualbox-vms-start-as-a-service-on-a-windows-host/|run virtualbox as service]] nebo po spusteni: VBoxManage.exe startvm "obis" (Nefunkční VirtualBox viz. [[windows:index|windows faq]])
Debian/Ubuntu
apt-get install lighttpd php5-cgi php5-intl php5-xmlrpc
CentOS 6.* (neobsahuje lighttpd [[http://www.cyberciti.biz/faq/centos-install-lighttpd-web-server-with-yum-command/]])
wget http://epel.mirror.net.in/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum install lighttpd php-cgi php-intl php-xmlrpc lighttpd-fastcgi
vim /etc/php5/cgi/php.ini : cgi.fix_pathinfo = 1
echo 'obiscserver_uri = "tcp://localhost:9401"' > etc/phpserver.ini #port kde posloucha xmlrpc
* pro mobis je nutny firebird alespon 2.1.5 (pouziti asci_char v list)
* je nutne PHP 5.3 (squeezy)
* rozbalit obis4-utils.tar.gz (soubory v bin, html, http)
* otestovat pomoci: BINDIR=bin64; cd $BINDIR; IPV6=0 BASE_PORT=9400 ./obisxmlrpcserver.sh start; cd ..; HTTP_PORT=8080 http/lighttpd.sh start; w3m http://localhost:8080/mobis.php
==== XMLRPCSERVER ====
* predpokladem je uzivatel obis a xinetd
**Nastavení pro následující skripty**
export OBISHOME=/home/obis/obis5
export BINDIR=bin64
=== SystemD ===
mkdir $OBISHOME/service
cat << EOF > $OBISHOME/service/xmlrpcserver.service
[Unit]
Description=Obis XMLRPC server
#az po zamontovani z fstabu
After=remote-fs.target
[Service]
Type=simple
User=obis
#pri ukonceni service je log smazan
RuntimeDirectory=xmlrpcserver
ExecStart=$OBISHOME/$BINDIR/xmlrpcserver.bin -listenport 9401 -serviceport 9402 -serverport 9400 -debug 3 -log %t/xmlrpcserver/log -readycon 2 -maxttl 86400 -maxcon 20 -noconsolelog
Restart=always
[Install]
WantedBy=multi-user.target
EOF
sudo cp $OBISHOME/service/xmlrpcserver.service /etc/systemd/system
sudo systemctl enable xmlrpcserver.service
sudo systemctl start xmlrpcserver.service
=== DaemonTools ===
Debian/Ubuntu
sudo apt-get install daemontools daemontools-run
CentOS [[http://www.lowfatgeek.com/linux/how-to-install-daemontools-on-centos-6-4/335/]]
yum install gcc
mkdir -p /package
chmod 1755 /package
cd /package
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar -xzvf daemontools-0.76.tar.gz
rm daemontools-0.76.tar.gz
cd /package/admin/daemontools-0.76
echo gcc -O2 -include /usr/include/errno.h > src/conf-cc
./package/install
echo "start on runlevel [12345]" > /etc/init/svscan.conf
echo "respawn" >> /etc/init/svscan.conf
echo "exec /command/svscanboot" >> /etc/init/svscan.conf
initctl reload-configuration
initctl start svscan
mkdir service
mkdir service/xmlrpcserver
mkdir service/xmlrpcserver/supervise
mkfifo service/xmlrpcserver/supervise/control
mkfifo service/xmlrpcserver/supervise/ok
cat << EOF > service/xmlrpcserver/run
#!/bin/sh
cd $OBISHOME
export LANG=cs_CZ.utf8
TMP_DIR=/tmp/obis
mkdir -p \$TMP_DIR -m 777
LOG_DIR=\$TMP_DIR/log
mkdir -p \$LOG_DIR -m 777
exec setuidgid obis ./$BINDIR/xmlrpcserver.bin -listenport 9401 -serviceport 9402 -serverport 9400 \\
-savepid \$LOG_DIR/../xmlrpcserver.pid -debug 3 -log \$LOG_DIR/xmlrpcserver.log \\
-readycon 1 \\
-maxttl 86400 2>/dev/null
EOF
chmod +x service/xmlrpcserver/run
sudo ln -s $OBISHOME/service/xmlrpcserver /etc/service/
nohup /usr/bin/svscanboot &
==== OBISCSERVER ====
=== SystemD ===
**obis5/service/obiscserver-mobis.socket**
[Unit]
Description=Obis %j server socket
[Socket]
ListenStream=9400
Accept=yes
[Install]
WantedBy=sockets.target
**obis5/service/obiscserver-mobis@.service**
[Unit]
Description=Obis %j server spousteny pres socket
[Service]
User=obis
Environment=LOG_DIR=/tmp/obis5/log
ExecStartPre=mkdir -p $LOG_DIR -m 777
UMask=002
ExecStartPre=/bin/bash -c 'sleep $((RANDOM%%2)).$((RANDOM%%100))'
ExecStart=/home/common/obis5/bin64/obiscserver.bin -stdin -noconsolelog -notrigger -jsonrpc \
-dofile system/lua/server/web/obis.lua \
-documentdir /home/common/data/obisdoc/ \
-log ${LOG_DIR}/log-%j.%i -sqllog ${LOG_DIR}/log-%j.%i -sqlplan \
-debug 3 -warninglevel 2
StandardInput=socket
StandardError=journal
cd /etc/systemd/system
ln -s /home/common/obis5/service/obiscserver-mobis.socket
ln -s /home/common/obis5/service/obiscserver-mobis@.service
systemctl enable obiscserver-mobis.socket
systemctl start obiscserver-mobis.socket
=== pres xinetd ===
mkdir service/obiscserver
cat << EOF > service/obiscserver/run
#!/bin/bash
cd $OBISHOME
export LD_LIBRARY_PATH=./$BINDIR/lib
export LANG="cs_CZ.utf8"
TMP_DIR=/tmp/obis
mkdir -p \$TMP_DIR -m 777
LOG_DIR=\$TMP_DIR/log
mkdir -p \$LOG_DIR -m 777
#Port 9400 pres xinetd
exec ./$BINDIR/obiscserver -stdin -notrigger \\
-log \$LOG_DIR/log.\$$ -sqllog \$LOG_DIR/sql.\$$ -sqlplan \\
-dofile ./system/lua/server/web/obis.lua \\
-debug 3 2>/dev/null
EOF
chmod +x service/obiscserver/run
sudo cat << EOF > /etc/xinetd.d/mobiscserver
service mobiscserver
{
type = UNLISTED
port = 9400
flags = REUSE KEEPALIVE
socket_type = stream
wait = no
user = obis
server = $OBISHOME/service/obiscserver/run
disable = no
}
EOF
sudo service xinetd restart
==== fonty ====
* prohledavaji se vsechy *.ttf v /usr/share/fonts/truetype/msttcorefonts/
* RPM: sudo rpm -i http://sourceforge.net/projects/mscorefonts2/files/rpms/msttcore-fonts-installer-2.2-1.noarch.rpm (+ udelat odpovidajici linku)
* DEB: sudo apt-get install ttf-mscorefonts-installer (v apt/sources.list musi byt contrib)
===== APACHE2 ====
* testovano na debian 8
apt-get install apache2
apt-get install libapache2-mod-php7.0 php7.0-intl php7.0-xmlrpc php7.0-xml
a2enmod ssl
a2enmod auth_digest
a2enmod expires
#hlaska: Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP.
a2dismod mpm_event; a2dismod mpm_worker; a2enmod mpm_prefork
apache2ctl configtest
apache2ctl -S #kontrola virtualhosts settings
apache2ctl -M #musi byt mpm_prefork_module
==== /etc/apache2/sites-enabled/mobis ====
* htdigest -c .passwd obis loginname
* na MIS vygenerovat a podepsat certifikat, nahrat na server do /etc/ssl
ServerAdmin root
DocumentRoot /home/mobis/html
ErrorLog /home/mobis/log/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /home/mobis/log/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/mobis.domain.cz.pem
SSLCertificateKeyFile /etc/ssl/private/mobis.domain.cz.key
AuthType Digest
AuthName "obis"
AuthDigestDomain /
AuthDigestProvider file
AuthUserFile "/home/mobis/.passwd"
Require valid-user
ExpiresActive On
ExpiresByType text/css "access plus 1 weeks"
ExpiresByType application/javascript "access plus 1 weeks"
ExpiresByType image/png "access plus 1 weeks"
ExpiresByType image/jpeg "access plus 1 weeks"
ExpiresByType image/gif "access plus 1 weeks"
==== /etc/apache2/sites-enabled/shop ====
ServerAdmin root
DocumentRoot /home/obis/html
ErrorLog /home/obis/log/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /home/obis/log/access.log combined
ExpiresActive On
ExpiresByType text/css "access plus 1 weeks"
ExpiresByType application/javascript "access plus 1 weeks"
ExpiresByType image/png "access plus 1 weeks"
ExpiresByType image/jpeg "access plus 1 weeks"
ExpiresByType image/gif "access plus 1 weeks"
===== init.d launchtool metoda =====
==== /etc/init.d/xmlrpcserver ====
#!/bin/sh
# Source function library.
#. /etc/rc.d/init.d/functions
NAME="xmlrpcserver"
RUNAS="epos"
LAUNCHTOOL=/usr/bin/launchtool
ROOTDIR=/home/obis/obis4
LOG_DIR=/tmp/obis4/log
LISTENPORT=19400
SERVICEPORT=19450
SERVERPORT=19300
READYCON=5
#DEBUGLAUNCH="--verbose --debug"
#DEBUGOBIS="-debug 5 -log $LOG_DIR/$NAME.log"
start() {
echo -n $"Starting $NAME: "
export LANG=cs_CZ.utf8
mkdir -p $LOG_DIR -m 777
chown $RUNAS $LOG_DIR/..
$LAUNCHTOOL -t $NAME -d $DEBUG --user=$RUNAS --wait-times=1,1,1,3,3,3,10,10,10 \
--chdir=$ROOTDIR --no-restrict-environment \
--forwarded-signals=1,9,15 \
--log-launchtool-errors=syslog:$NAME,LOG_DAEMON,LOG_ERR \
--log-launchtool-output=syslog:$NAME,LOG_DAEMON,LOG_ERR \
--log-child-output=syslog:$NAME,LOG_DAEMON,LOG_ERR \
--log-child-errors=syslog:$NAME,LOG_DAEMON,LOG_ERR \
"./bin/xmlrpcserver.bin -listenport $LISTENPORT -serviceport $SERVICEPORT -serverport $SERVERPORT \
-savepid $LOG_DIR/../$NAME.pid $DEBUGOBIS \
-readycon $READYCON maxttl 86400"
echo
}
stop() {
echo -n $"Shutting down $NAME: "
kill `cat $LOG_DIR/../$NAME.pid`
#$LAUNCHTOOL -t $NAME --kill=15
echo
}
status() (
$LAUNCHTOOL -t $NAME --check
)
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart|reload)
stop
echo sleep 5
sleep 5
start
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0
==== user/scripts/obiscserver-webshop.sh ====
#!/bin/sh
NAME=obiscserver-webshop
ROOTDIR=/mnt/raid/obis/obis4
LOG_DIR=/tmp/obis4/log
#DEBUGOBIS="-debug 5 -log $LOG_DIR/$NAME-$$.log -sqllog $LOG_DIR/$NAME-$$"
cd $ROOTDIR
export LANG=cs_CZ.utf8
export LC_ALL=cs_CZ.utf8
export LD_LIBRARY_PATH=bin/lib
exec ./bin/obiscserver.bin -stdin $DEBUGOBIS \
-model model-webshop -dofile ./system/lua/server/web/shop.lua -user webshop -pass "" -data data \
-notrigger -documentdir $ROOTDIR/obisdoc/ 2>/dev/null
==== user/scripts/obiscserver-mobis.sh ====
#!/bin/sh
NAME=obiscserver-mobis
ROOTDIR=/home/obis/obis4
LOG_DIR=/tmp/obis4/log
DEBUGOBIS="-debug 5 -log $LOG_DIR/$NAME-$$.log -sqllog $LOG_DIR/$NAME-$$"
cd $ROOTDIR
export LANG=cs_CZ.utf8
export LC_ALL=cs_CZ.utf8
export LD_LIBRARY_PATH=bin/lib
exec ./bin/obiscserver.bin -stdin $DEBUGOBIS \
-dofile ./system/lua/server/web/obis.lua \
-notrigger -documentdir $ROOTDIR/obisdoc/ 2>/dev/null
==== /etc/xinetd.d/obiscserver-webshop ====
* pokud hlasi chybu libwrap je treba povolit v /etc/hosts.allow
service obiscserver-webshop
{
type = UNLISTED
port = 19300
flags = REUSE KEEPALIVE
socket_type = stream
wait = no
user = epos
server = /mnt/obis/obis4/user/scripts/obiscserver-webshop.sh
disable = no
}
service obiscserver-mobis
{
type = UNLISTED
port = 19301
flags = REUSE KEEPALIVE
socket_type = stream
wait = no
user = epos
server = /mnt/obis/obis4/user/scripts/obiscserver-mobis.sh
disable = no
}
===== Kontrola kódování češtiny v helpu =====
Spustit v LuaConsoli common_help.CheckHelpEncoding() nebo následující skript. Musí končit hláškou "OK kontrola v poradku" (error v obiscserver není vidět).
#!/bin/bash
cat <
Program "common_help.CheckHelpEncoding()"
Exit
EOF
===== Firefox =====
Telefonovani z desktopoveho prohlizece - protokol tel:
about:config
network.protocol-handler.expose.tel = false
po clicku na tel: odkaz lze zvolit aplikaci na telefonovani
* [[https://addons.mozilla.org/en-US/firefox/addon/auto-reload/?src=api|autoreload plugin]] pro automatické načtení kalendáře vygenerovaném na serveru v HTML po změně souboru
===== Chrome app =====
* C:\Users...\AppData\Local\Google\Chrome\User Data\Default\Preferences - nastavit ReadOnly (jinak chrome po takkill zobrazuje okno Obnovit stranky)
* xmlrpcserver -maxttl 36000 (10hod)
* v planovaci spustet v 5:00 skript:
taskkill /F /IM chrome.exe /T
timeout 10
"c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --start-fullscreen --app="http://mobis.epos.cz/mobis/start.php?Data=data&User=username&Password="