I'm running on osx server with svnserve installed, i'd like to create a centralized file for authentication between multiple project. Use the system user is allowed but is not mandatory....what's the best solution?
If you can connect with LDAP to the OS X Server's authentication structure, you can do both authentications types if and when needed.
Often, it's better for developers and users to go through LDAP for authentication. Especially from a business perspective in that you have a single user id with a password that is hopefully in synch with other authentication mechanisms as well as a centralized place to manage the users.
Now, the Apache basic authentication file works well to. I find using this for operational or service accounts for things like continuous integration such as Apache Continuum, Hudson, CruiseControl and repository viewer tools such as Fish Eye or Trac tend to work better this way. Especially since the password doesn't change unless you need it to be changed.
Now, when it comes to authorization for paths within the repository, hands down, the best solution is to use the Subversion authorization file. This allows you grant and control with fine grain access from a global, to group, to individual. Best of all, a change to the file is immediate. No having to restart a service such as Apache to take effect.