I have just setup an improvement web server, where individuals will be trying out some changes prior to making these changes around the production web server. Presently the net team of developers can be used to presenting subversion to create their changes around the production server. Let me setup a SVN server around the development web server too.

My real question is this: How do i allow it to be so subversion stores the repository within the Apache document root, to ensure that files they look at the repository goes directly into the docroot and become offered through the web server.

When I get it setup now, it appears that after files are commited, they become virtual files within the svn repo directory (only visible with "svn ls file:///repo/file" as opposed to just "ls /var/www/file".

Thanks

That isn't how subversion works. It does not normally store files inside a format that's directly accessible. What for you to do is give a publish-commit hook which will update a checked-out copy within the web directory. Search for "subversion publish-commit update" to learn more.

You are able to take control of your source code using subversion, however the real problem is you are altering your installation after which archiving it rather than the "normal" development routine which would be to build your changes after which install the alterations.

The best way is always to keep your subversion server far in the production web server. Your development box inspections in changes towards the subversion server. Just one "special" build user inspections out all of the subversion stuff and constitutes a zip file (or something like that appropriate) which "zip file" will be replicated towards the production server and "installed".

This provides you with more versatility in implementing for your web server, also it will help you to test changes on other non-critical web servers (should you ever choose to get so fancy) before you decide to deploy towards the production server. It will likewise stop you from getting mistakes that will get checked in directly taking lower the net server (as possible choose to not deploy a build to the net server when you sign in subsequent "fixes" for that introduced mistakes).

In either case, you should use crontab as well as other cron-like functionality to perform a "nightly" package, etc. The important thing is not to produce more work a thief needs to do, it's to produce more work that automated programs can perform simply so you've more security in case of eventual upsets. Your role ought to be to decide if you wish to install "this" package, and also to run the command (or two) to set up it.