Sveiki,
Susimaniau susikurti web serverį asmeniniam naudojimui ir susidūriau su bėda, negaliu parsisiųsti failų. Tinklapį atidaro, o failų parsisiųst neleidžia. Kame šaknys?
Failus keliu ten pat, kur ir tinkplį, t.y. į /var/www. Prie failų bandau prieiti taip: manoip:portas/failas.zip
Ačiū už bet kokią pagalbą.
Ateičiai, kad nebereiktų kaitaliot failų savininko, gali pabandyt nustatyt grupės sticky bit'ą:
sudo chmod g+s /var/www
Po šitos komandos, kad ir kas rašytų į /var/www, net jei ir pats ponas root'as, grupė bus nustatyta tokia, kokia yra nustatyta /var/www. Kadangi su praeita komanda pakeitei savininką ir grupę į www-data, tai gausis, kad jei pats ar kas kitas kažką įdės į šį aplanką, failas iškart gaus www-data grupę, todėl iškart galėsi pasiekti savo failus per apache, papildomai nieko nekaitaliodamas.
O jeigu reikia 'laikino' failu hostinimo, tai geras pagalbininkas yra twistd ftp/web modulis.
Kaip pvz as naudoju toki zsh skripta:
function share() {
# Tikrinam ar tikrai turim twistd.
if [[ ! -x $(which twistd 2>/dev/null) ]]; then
zprint 3 "twistd" "not found!"
return
fi
#
if [[ -n ${@} ]]; then
typeset -A WEB
WEB[PORT]="80" # Port to start the server on
WEB[HOST]="$(curl -s ip.appspot.com)" # Host
WEB[PATH]="${HOME}/public_html/share" # Path to share folder
WEB[FILE]="${@}" # $1 file/dir to share
WEB[PID]="${TMP}/twistd.pid" # Name of the pidfile
WEB[UID]="$(id --user)" # The uid to run as.
WEB[GID]="$(id --group)" # The gid to run as.
if [[ -d "${WEB[FILE]}" ]]; then
zprint 1 "Share:" "${WEB[FILE]}/"
zprint 1 "Share:" "http://${WEB[HOST]}:${WEB[PORT]}/"
sudo twistd --uid=${WEB[UID]} --gid=${WEB[GID]} --pidfile=${WEB[PID]} -n web \
--port ${WEB[PORT]} --path ${WEB[FILE]}
else
mkdir -p --verbose ${WEB[PATH]}
zprint 1 "${WEB[FILE]}" "${WEB[PATH]}/"
cpv ${@} ${WEB[PATH]}/
zprint 1 "Share:" "http://${WEB[HOST]}:${WEB[PORT]}/"
sudo twistd --uid=${WEB[UID]} --gid=${WEB[GID]} --pidfile=${WEB[PID]} -n web \
--port ${WEB[PORT]} --path ${WEB[PATH]}
fi
else
zprint 3 "Usage:" "share [files|dir]"
fi
}
cyf, klaidingai. Useris yra geras jeigu naudojamas Per-user web directories (mod_userdir), bet va group yra klaidingas. Jis turetu buti users (bet gal cia problema pacio ubuntu). http://httpd.apache.org/docs/2.4/howto/public_html.html
Nors as tokiu budu keisti teises palaikau, bet visiskai nenaudingas siuo atveju nes teises pakeisti www-data neturesi.
Sveiki,
Susimaniau susikurti web serverį asmeniniam naudojimui ir susidūriau su bėda, negaliu parsisiųsti failų. Tinklapį atidaro, o failų parsisiųst neleidžia. Kame šaknys?
Failus keliu ten pat, kur ir tinkplį, t.y. į /var/www. Prie failų bandau prieiti taip: manoip:portas/failas.zip
Ačiū už bet kokią pagalbą.
Berods reikia pridėti direktyvą prie vhost'o: Options Indexes
Kitas dalykas, failai turi būti prieinami vartotojui, ant kurio pakabintas apache (paprastai www-data). Tam reikalui pabandyk:
Priedas.
arba, bent laikinai, leisk visiems prieiti prie failų:
Dėkui, antras variantas padėjo.
Liuks!
Ateičiai, kad nebereiktų kaitaliot failų savininko, gali pabandyt nustatyt grupės sticky bit'ą:
Po šitos komandos, kad ir kas rašytų į /var/www, net jei ir pats ponas root'as, grupė bus nustatyta tokia, kokia yra nustatyta /var/www. Kadangi su praeita komanda pakeitei savininką ir grupę į www-data, tai gausis, kad jei pats ar kas kitas kažką įdės į šį aplanką, failas iškart gaus www-data grupę, todėl iškart galėsi pasiekti savo failus per apache, papildomai nieko nekaitaliodamas.
Dėkui, naudingi patarimai
O jeigu reikia 'laikino' failu hostinimo, tai geras pagalbininkas yra twistd ftp/web modulis.
Kaip pvz as naudoju toki zsh skripta:
Ačiū, bet kolkas man labai patogu ir paprastas web apache serveris, nes kolkas tinklapis valdomas nuotoliniu būdu
Taip, Apache httpd yra tikrai patogiau.
Bet tikiu kam nors pravers ir toks paprastas twistd budas.
Instaliuoti twistd jeigu neklystu galima su komanda:
Dabar share /tmp folder'i (http://127.0.0.1:8080):
Arba ftp (ftp://127.0.0.1:2121):
Šiaip jei reikia greitai, greitai nieko neinstaliuojant python turi webserverį built-in:
ar
Žinoma pirmą reikia padaryti cd į aplanką ir apie didelį saugumą ir funkcionalumą nesvajok, bet kokį failą pahostinti waifajui labai naudinga.
nežinau ar teisingai supratau klausimo esmę, bet aš tą klausimą sprendžiau paprasčiau, per gui:
ir viskas puikiai veikia.
cyf, klaidingai. Useris yra geras jeigu naudojamas Per-user web directories (mod_userdir), bet va group yra klaidingas. Jis turetu buti users (bet gal cia problema pacio ubuntu).
http://httpd.apache.org/docs/2.4/howto/public_html.html
Nors as tokiu budu keisti teises palaikau, bet visiskai nenaudingas siuo atveju nes teises pakeisti www-data neturesi.
http://en.wikipedia.org/wiki/Unix_permissions
Tema perkelta iš https://legacy.ubuntu.lt/forum/viewtopic.php?f=1&t=9071