❗️Toto je původní verze internetového fóra ISPforum.cz do února 2020 bez možnosti registrace nových uživatelů. Aktivní verzi fóra naleznete na adrese https://telekomunikace.cz

Dude, Linux a HTTP

Návody a problémy s konfigurací.
Uživatelský avatar
Petr S.
Příspěvky: 795
Registrován: 17 years ago
Kontaktovat uživatele:

Dude, Linux a HTTP

Příspěvekod Petr S. » 11 years ago

Zdravím, povedlo se někomu z vás rozjet na linuxu Dude a povolit na něm http? Já když ho povolím, tak to stejně neběží. Podle netstat je port 80 mrtev... :( Mám špatné tušení, že je to tím wine. Škoda, že nemaj verzi přímo pro linux. Díky.
0 x
..:: DobraSit.cz ::..

Majklik
Příspěvky: 1949
Registrován: 14 years ago

Příspěvekod Majklik » 11 years ago

Pokud to pouštíš pod tím wine jako root, tak by ti port 80 měl jet. Pokud jako neprivilegovaný uživatel, tak samozřejmě ne, protože jen privilegovaný uživatle normálně může použít porty pod 1024. Nastav si v nastavení Dude jiný port než 80 a pojede to. Pokud to chceš mít dostupné na 80 a nepoužít roota, tak v dude dej port 8080 a pomocí "iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080" si příchozí spojení přehoď. Další možnost je pohrát si s capabilities procesu, kdy se to pustí jako root s přechodem na jiného uživatele beze ztrát všech práv a pak zahodit všechna právy vyjma možnosti použít portu pod 1024. Asi něco jako "sucap <uživatel> <skupina> execcap 'cap_net_bindservice=eip' wine <kde je dude>".
0 x

Uživatelský avatar
Petr S.
Příspěvky: 795
Registrován: 17 years ago
Kontaktovat uživatele:

Příspěvekod Petr S. » 11 years ago

Spouštím to jako službu přes skript (běží to tedy pod rootem): Zkoušel jsem tedy měnit i číslo portu, ale HTTP mi tam neběží...

Kód: Vybrat vše

#!/bin/bash

### BEGIN INIT INFO
# Provides: dude
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Dude Server
### END INIT INFO

action=${1}

# ----------------------------------------------
# User Options
# ----------------------------------------------
xvfb_pidfile='/var/run/dude-xvfb.pid'
wine_pidfile='/var/run/dude-wine.pid'
virtual_display=':1'
dude_path='/srv/dude'
# ----------------------------------------------

export DISPLAY=$virtual_display
export WINEPREFIX=$dude_path

start ()
{
    echo -n 'Starting Dude virtual display: '
    Xvfb $virtual_display &> /dev/null &
    echo $! > $xvfb_pidfile
    echo 'ok'
    echo -n 'Starting Dude Server: '
    sleep 5
    wine 'c:\program files\dude\dude.exe' --server &> /dev/null &
    echo $! > $wine_pidfile
    echo 'ok'
}

stop ()
{
    echo -n 'Stopping Dude Server: '
    kill $(cat $wine_pidfile)
    rm -f $wine_pidfile
    sleep 5
    echo 'ok'
    echo -n 'Stopping Dude virtual display: '
    kill $(cat $xvfb_pidfile)
    rm -f $xvfb_pidfile
    echo 'ok'
}

case "$action" in
    start)
        start
    ;;

    stop)
        stop
    ;;

    *)
        echo "Usage: $0 {start|stop}"
    ;;
esac

# -----------------------------------------------------------------------
0 x
..:: DobraSit.cz ::..

Uživatelský avatar
Petr S.
Příspěvky: 795
Registrován: 17 years ago
Kontaktovat uživatele:

Příspěvekod Petr S. » 11 years ago

Žádný nápad?
0 x
..:: DobraSit.cz ::..