It's hard to know what your problems are from such a vague description, but I've been using Fossil over HTTP on private LANs for years now. I only use Fossil over SSH when I need to tunnel to a remote server that can't forward HTTP out to where the client can see it.
Try this:
fossil clone http://fossil-scm.org x.fossil
Success? You just used Fossil over HTTP. :)
I have two guesses about what your problem was:
1. You didn't realize that Fossil normally listens on port 8080 by default, incrementing when it gets a bind failure, so that it could be on some higher port number, like 8082 if you have two other Fossil server instances running. If you need Fossil to bind to a specific port number, you need to pass -P to the "fossil server" command.
2. Your server machine's firewall blocks the Fossil listening port by default, and you didn't open it up.
Here's my "fossil server" wrapper script, which may help you the next time you try this:
#!/bin/bash
OLDPID=`pgrep fossil`
if [ -n "$OLDPID" ]
then
echo "Killing old Fossil instance (PID $OLDPID) first..."
kill $OLDPID
typeset -i i=1
while kill -0 $OLDPID > /dev/null 2>&1 && [ $i -lt 30 ]
do
if [ $i -eq 1 ]
then
echo -n "Waiting for it to die..."
fi
sleep '0.1s'
i=i+1
done
echo
fi
fossil server -P 3691 --repolist /museum > /dev/null &
echo Fossil server running, PID $!.
This is a Bash script, so for Windows you'd have to run it under either Cygwin or WSL.
It assumes your Fossils are stored in /museum — because where else would you keep fossils? — and that you like svnserve+1 as your Fossil port number. Adjust to taste.
To clone from such a server, say:
fossil clone http://myuser@myserver:3691/reponame reponame.fossil
To view its web pages, visit:
http://myserver:3691/reponame
That is, because we're serving a directory of Fossils in this case, you need to give the repository name to view a specific repository name. However, since we passed --repolist to "fossil server", if you visit the web root URL, you get a list of available repositories rather than an HTTP error.