I have two machines I work on:
- Windows Client (Development Machine)
- Linux Web Server (Ubuntu)
On the Linux server I have installed Apache, Samba and SVN.
I've created a samba share that maps to the htdocs/ directory so that I can access the web files from Windows.
The following illustrates my workflow:
- From command line on Linux server I checkout working copies of web projects from remote serve开发者_如何学运维r into my local Linux server's htdocs directory.
- On the Windows machine I access these files (using samba) and edit them in my editor and test them in the web browsers
- Back on the Linux machine I checkin my work to the remote server.
The problem I have is that currently for me to be able to edit the files on the Windows box via Samba I have to change the owner of the files to nobody (apache user) and set the Samba share to use SHARE permissions.
When I try to use SVN to commit and update etc. I can't because my Linux user is not 'nobody' and does not have permissions to do so. So I have to become root do an SVN [command] then change all the files back to 'nobody' so that I can't edit on Windows.
What I would like to be able to do is have the web files be owned by my local Linux user which would enable SVN commands to work and for Windows (over samba) to also use this same user.
How can I get this to work, is there a way to get Windows and Linux users to match?
Why use this strange workflow? A more logical one would be:
- Checkout the files on the Windows Machine directly
- Edit and test them
- Check in when ready
Is there something special you need from the Linux server? Cant' you install apache on Windows (for testing purposes only?)
I've solved my problem by changing all the permissions to match and then using samba USER permissions and settings up a users.map file.
精彩评论