[SOLVED] Easiest method to do http file sharing

This forum is for Marvell Kirkwood devices such as the GoFlex Home/Net, PogoPlug v1/v2, SheevaPlug, and ZyXEL devices.

[SOLVED] Easiest method to do http file sharing

Postby newsboys6 » Fri May 11, 2012 12:40 am

I have literally been trying nearly all day to set up a simple http file server to serve files over http.

The problem could very well relate to how drives are mounted but I am always testing the paths that I enter into lighttpd or apache and even cherokee and can always view the volume and the directories therein.

EDIT: what I meant to say here is that the paths are tested in the command line first then nothing seems to work when the same working pretested path is entered into what i believe is the appropriate area within each respective program.

The drive that is plugged in with all the data on it is formatted via NTFS if that makes any difference.

I will confess thought that i have been mounting the drives to usb after running mkdir usb. I have also run the installation commend for 'udev-automount' and all my packages seem to be up to date as well.

The problem could be the mounting method or something simpler.

Is there any more straightforward method for doing an http file share than what I am doing?

If it is something simple, go ahead and get your laughs in but please provide help in gratitude for the laughs.

Thanks in advance.
Last edited by newsboys6 on Fri May 11, 2012 7:41 pm, edited 1 time in total.
newsboys6
 
Posts: 6
Joined: Fri May 11, 2012 12:34 am

Re: Easiest method to do http file sharing

Postby tomcheng76 » Fri May 11, 2012 1:31 am

does "symbolic link on html folder to the authomounted drive, followsymlink, index ON for apache setting" works?
tomcheng76
 
Posts: 130
Joined: Mon Dec 13, 2010 11:24 am

Re: Easiest method to do http file sharing

Postby kmihelich » Fri May 11, 2012 1:36 am

When dealing with NTFS, permissions are everything. The user that your httpd is running under (which won't be root) is likely unable to access those directories, thus nothing shows up.
Arch Linux ARM exists and continues to grow through community support, please donate today!
kmihelich
Developer
 
Posts: 1133
Joined: Tue Jul 20, 2010 6:55 am
Location: aka leming #archlinuxarm

Re: Easiest method to do http file sharing

Postby newsboys6 » Fri May 11, 2012 1:49 am

is that found somewhere in here:

$this->bbcode_second_pass_code('', '
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/usb/Videos/"

#
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# features.
#
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/usb/Videos/">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

</Directory>

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
')


Thanks again in advance
Last edited by WarheadsSE on Fri May 11, 2012 11:24 am, edited 1 time in total.
Reason: adding code tags.
newsboys6
 
Posts: 6
Joined: Fri May 11, 2012 12:34 am

Re: Easiest method to do http file sharing

Postby newsboys6 » Fri May 11, 2012 1:54 pm

Gosh dang it! I forgot that most modern forums have these 'code' takes for appropriate use. Thanks for the edit Warhead.


Ok so let us work with lighttpd here cause it may be easiest.

I formatted a thumbdrive and named the volume 'myfiles'. This drive is automounted to the '/media/myfiles' directory perfectly upon bootup yet my usb hard disks are not but for the moment lets not worry about that.

EDIT: drive is formatted to: ext4

Honestly when I start lighttpd I do not even get a "starting lighttpd" message, it just drops back to the command prompt and when I start the program I have to point it to the lighttpd.conf file using -f just to avoid getting the message that there is no configuration file.

So there very well could be something wonky in my setup, please take a look.

This is my lighttpd.conf file:

$this->bbcode_second_pass_code('', 'server.document-root = "/media/myfiles/"

server.port = 80
server.username = "http"
server.groupname = "http"
server.bind = "192.168.0.13"
server.tag ="ligghttpd"

server.errorlog = "/var/log/lighttpd/error.log"
accesslog.filename = "/var/log/lighttpd/access.log"

server.modules = (
"mod_access",
"mod_accesslog",
"mod_fastcgi",
"mod_rewrite",
"mod_auth"
)

dir-listing.activate = "enable"
dir-listing.encoding = "utf-8"
# mimetype mapping
mimetype.assign = (
".pdf" => "application/pdf",
".sig" => "application/pgp-signature",
".spl" => "application/futuresplash",
".class" => "application/octet-stream",
".ps" => "application/postscript",
".torrent" => "application/x-bittorrent",
".dvi" => "application/x-dvi",
".gz" => "application/x-gzip",
".pac" => "application/x-ns-proxy-autoconfig",
".swf" => "application/x-shockwave-flash",
".tar.gz" => "application/x-tgz",
".tgz" => "application/x-tgz",
".tar" => "application/x-tar",
".zip" => "application/zip",
".mp3" => "audio/mpeg",
".m3u" => "audio/x-mpegurl",
".wma" => "audio/x-ms-wma",
".wax" => "audio/x-ms-wax",
".ogg" => "audio/x-wav",
".wav" => "audio/x-wav",
".gif" => "image/gif",
".jpg" => "image/jpeg",
".jpeg" => "image/jpeg",
".png" => "image/png",
".xbm" => "image/x-xbitmap",
".xpm" => "image/x-xpixmap",
".xwd" => "image/x-xwindowdump",
".css" => "text/css",
".html" => "text/html",
".htm" => "text/html",
".js" => "text/javascript",
".asc" => "text/plain",
".c" => "text/plain",
".conf" => "text/plain",
".text" => "text/plain",
".txt" => "text/plain",
".dtd" => "text/xml",
".xml" => "text/xml",
".mpeg" => "video/mpeg",
".mpg" => "video/mpeg",
".mp4" => "video/mpeg",
".m4v" => "video/mpeg",
".mkv" => "video/matroska",
".mov" => "video/quicktime",
".qt" => "video/quicktime",
".avi" => "video/x-msvideo",
".asf" => "video/x-ms-asf",
".asx" => "video/x-ms-asf",
".wmv" => "video/x-ms-wmv",
".bz2" => "application/x-bzip",
".tbz" => "application/x-bzip-compressed-tar",
".tar.bz2" => "application/x-bzip-compressed-tar"
)
index-file.names = ( "index.html", "index.php" )
')

And here is my lighttpd startup file:

$this->bbcode_second_pass_code('', ' #!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions


pid_file='/var/run/lighttpd/lighttpd-angel.pid'

get_pid() {
if [ -r "${pid_file}" ]; then
cat "${pid_file}"
else
pgrep -f /usr/sbin/lighttpd-angel
fi
}

test_config() {
stat_busy 'Checking configuration'
if [ $(id -u) -ne 0 ]; then
stat_append '(This script must be run as root)'
stat_die
fi

if [ ! -r /etc/lighttpd/lighttpd.conf ]; then
stat_append '(/etc/lighttpd/lighttpd.conf not found)'
stat_die
fi

/usr/sbin/lighttpd -t -f /etc/lighttpd/lighttpd.conf >/dev/null 2>&1
if [ $? -gt 0 ]; then
stat_append '(error in /etc/lighttpd/lighttpd.conf)'
stat_die
fi

local piddir=$(dirname "${pid_file}")
if [ ! -d "${piddir}" ]; then
install -d -m755 -o http -g http "${piddir}"
fi

stat_done
}

start() {
stat_busy 'Starting lighttpd'

local PID=$(get_pid)
if [ -z "$PID" ]; then
nohup /usr/sbin/lighttpd-angel -D -f /etc/lighttpd/lighttpd.con$
if [ $? -gt 0 ]; then
stat_die
else
echo $! > "${pid_file}"
add_daemon lighttpd
stat_done
fi
else
stat_die
fi
}

stop() {
stat_busy 'Stopping lighttpd'
local PID=$(get_pid)
[ -n "$PID" ] && kill $PID &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
[ -f "${pid_file}" ] && rm -f "${pid_file}"
rm_daemon lighttpd
stat_done
fi
}

gracefull-stop() {
stat_busy 'Stopping lighttpd gracefully'
local PID=$(get_pid)
[ -n "$PID" ] && kill -INT $PID &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
[ -f "${pid_file}" ] && rm -f "${pid_file}"
rm_daemon lighttpd
stat_done
fi
}

reload() {
stat_busy 'Reloading lighttpd'
local PID=$(get_pid)
[ -n "$PID" ] && kill -HUP $PID &> /dev/null
if [ $? -gt 0 ]; then
stat_die
else
stat_done
fi
}


case "$1" in
start)
test_config
start
;;
stop)
test_config
stop
;;
gracefull-stop)
test_config
stop
;;
reload)
test_config
reload
;;
restart)
test_config
stop
while [ -n "$(get_pid)" ]; do
sleep 1
done
start
;;
status)
stat_busy 'Checking lighttpd status'
ck_status lighttpd
;;
*)
echo "usage: $0 {start|stop|gracefull-stop|reload|restart|status}"
esac

exit 0
')
newsboys6
 
Posts: 6
Joined: Fri May 11, 2012 12:34 am

Re: Easiest method to do http file sharing

Postby WarheadsSE » Fri May 11, 2012 2:11 pm

You are starting it via either of the below, correct?
$this->bbcode_second_pass_code('', '
/etc/rc.d/lighttpd start
rc.d start lighthttpd
')
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Re: Easiest method to do http file sharing

Postby newsboys6 » Fri May 11, 2012 2:29 pm

$this->bbcode_second_pass_quote('WarheadsSE', 'Y')ou are starting it via either of the below, correct?
$this->bbcode_second_pass_code('', '
/etc/rc.d/lighttpd start
rc.d start lighthttpd
')


ok just tried it that way and get all the starting prompts and checking of configuration and starting both are done

After starting the server when I go to my: http://localhost or http://localhost/index.html, I get a 403 - Forbidden message in my browser.


Thanks again in advance.
newsboys6
 
Posts: 6
Joined: Fri May 11, 2012 12:34 am

Re: Easiest method to do http file sharing

Postby newsboys6 » Fri May 11, 2012 6:43 pm

From fenagling I can now view the contents of the directed root folder and access/watch my media through an active lighttpd running server as I was able to do this with the thumb drive that I made that was automounted to '/media/volumename'.

Now, if I could only get some help getting my attached usb mass storage to auto mount upon boot up to '/media/volumename'. That would be just wonderful and I would be set I think.

Thanks in advance for any help.
newsboys6
 
Posts: 6
Joined: Fri May 11, 2012 12:34 am

Re: Easiest method to do http file sharing

Postby WarheadsSE » Fri May 11, 2012 7:09 pm

In that case, examine the usage of fstab
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Re: Easiest method to do http file sharing

Postby newsboys6 » Fri May 11, 2012 7:41 pm

Done and done.

You da man Warhead. Thanks.
newsboys6
 
Posts: 6
Joined: Fri May 11, 2012 12:34 am

Next

Return to Marvell Kirkwood

Who is online

Users browsing this forum: No registered users and 8 guests