If I understand your question correctly, you want to create a single authorization-enable repository, check it out to multiple locations, and work with it from any of those locations. This is pretty straightforward, and you should have no issues once you get your setup completed.
I think the following recommendations would ensure that you can do what you want, assuming that I am interpreting your question correctly.
1) Your Apache
Location configuration should be as follows:
AuthName "Subversion Repository"
This will allow you to access your multiple check-out points without conflict with your repository. Like anything else on your web server, the URLs cannot conflict, so you shouldn't make the repository root the same as the web server root (
Also, I changed your
SVNPath value - this is supposed to be the directory where your repositories live, not the path to one of the repositories itself.
2) Create the appropriate structures. Your
svnadmin create is correct. However, to ensure flexibility in future development, you need to create the
tags directories under a project directory using
svn --parents mkdir. Your resulting repository (accessed at the URL
http://server/svn/project.com/) should have something like the following structure:
trunk is where you do all your work. The
branches tree is for forking or parallel development, and the
tags tree is for static snapshots of your code. You really only need
trunk, as that's the one you'll be checking out in your example.
3) Only Subversion modifies the
/opt/svn/project.com tree to add/modify content. Because of that, you can only commit on a checkout, not the way you indicated.
If you have a file system with your intended content, you can either:
4) To get multiple working copies, just check out the
trunk (or an appropriate subdirectory) to each of your specified locations. Then any modifications committed in one checkout can be retrieved as you indicated using