Installing WebDAV server

Fokke Nauta fnautaNO at SPAMsolfon.nl
Thu Sep 1 12:30:40 CEST 2011


"Paul Kölle" <paul at subsignal.org> wrote in message 
news:mailman.620.1314810894.27778.python-list at python.org...
> Hi, answers below...
>
> Am 31.08.2011 14:18, schrieb Fokke Nauta:
>> "Paul Kölle"<paul at subsignal.org>  wrote in message
>> news:mailman.595.1314780791.27778.python-list at python.org...
>>> Hi,
>>>
>>> Am 30.08.2011 22:00, schrieb Fokke Nauta:
>>>> Hi all,
>>>>
>>>> I am completely new to Python, but I'm confronted with a problem I 
>>>> can't
>>>> solve.
>>> Welcome to python.
>>>
>>>> This is my question:
>>> [snip]
>>>
>>>> I installed Python 3.2.1 and extracted the packages PyWebDAV and PyXML.
>>>> Now
>>>> I have a working Python app and 2 directories called PyWebDAV-0.9.4.1 
>>>> and
>>>> PyXML-0.8.4. In the PyWebDAV README it says:
>>>>
>>>> Installation and setup of server can be as easy as follows:
>>>>
>>>> $ easy_install PyWebDAV
>>>> $ davserver -D /tmp -n -J
>>>>
>>>> But of course it doesn't work like that. When I start up Python GUI I 
>>>> see
>>>> the ">>>" prompt instead of the "$" prompt. But where do I place the 
>>>> two
>>>> directories? And there is no easy_install script in the PyXML-0.8.4
>>>> directory, only a setup.py and ez_setup.py script. I guess the latter 
>>>> is
>>>> the
>>>> one to use. But how?
>>> You dont install from "Python GUI", use normal cmd, navigate to the 
>>> folder
>>> you downloaded PyXML and PyWebDAV and run "python setup.py install"
>>> (python.exe has to be in your PATH). Then you have to find the
>>> startup-script "davserver". Find your python installation directory and
>>> look into<Install dir>/Tools/Scripts, in my computer this is
>>> E:\python27\Tools\Scripts. PyXML and PyWebDAV get installed in the
>>> site-packages folder i.e. E:\python27\Lib/site-packages. You might have 
>>> to
>>> look for "davserver" there...
>>>
>>
>> Thanks, Paul.
>>
>> I ran "python setup.py install" in both the PyXML and PyWebDAV 
>> directories.
>> A lot of things happened and are added into those directories and I guess 
>> it
>> will be OK.
>> Next step, the startup-script "davserver". There is no script as such, 
>> also
>> not in \python27\tools\scripts.
>> I found 2 similar scripts:
>> 1. server.py in D:\Python27\WebDAV\PyWebDAV\DAVServer
>> 2. WebDAVServer.py in D:\Python27\WebDAV\PyWebDAV\DAV
>>
>> Which one is the one to use?
> Your install locations look odd, but it might work nevertheless. The 
> server is in DAVServer\server.py, you can look at the file and you will 
> see:
>
> if __name__ == '__main__':
>     run()
>
> at the bottom. This is the "entry point" of a python script if called from 
> the command line.

Yes, it was server.py.

> My install looks a bit different but I can start the server as follows:
> python.exe 
> E:\Python27\Lib\site-packages\pywebdav-0.9.4.1-py2.7.egg\DAVServer\server.py 
>  -D c:\home -n
> WARNING:pywebdav:Authentication disabled!
> Listening on localhost (8008)

I used server.py e:/wwwroot -m -c config.ini

>> I also configured config.ini in D:\Python27\WebDAV\PyWebDAV\DAVServer
> I would use a config file outside the program directory and use the -c 
> or --config switch, run server.py without arguments to see possible 
> startup options.
>
>>
>> In this file it says:
>> "# Auth Database Table, Must exists in database prior to firstrun
>> dbtable=webDav
>>
>> # Create User Database Table and Insert system user"
>>
>> I created in MySQL a database called webDav.
>> I can create a table called User, but how many fields?
> Don't know if that's documented somewhere but you can just look at the 
> code in mysqlauth.py in the same directory as server.py. Seems it needs 
> three columns, (User<string>,Pass<string>,can_write<0|1>) but I haven't 
> tried.
>

I have understood that the database will be configured with the first run, 
but in my case it didn't.

In my congig.ini there was
# Create User Database Table and Insert system user
# Disable after the Table is created; for performance reasons
firstrun=1

Fokke





More information about the Python-list mailing list