Knowing this, we can now visit the subversion archive and download Subversion v1. With the source code built, we next need to find the Apache httpd modules missing from OS X The Apache httpd modules we require are in hidden folders waiting to be installed. Rather than run the install process, we are going to copy those modules manually. My preference is not to change folders and files seemingly managed by Apple.
The final step is to tell Apache httpd where to find the restored svn modules. I do this using a separate configuration file; again aiming to reduce changes to Apple's default configuration files. This line tells Apache httpd to look for an additional configuration file in a folder on the volume Documents.
The contents of the svn. After those two lines, you can follow the examples and instructions provided by the Subversion book; specifically the http, the Apache HTTP Server section.
Installing and configuring an SVN server on Mac OS X
You will need to restart your Apache httpd server after making changes to the configuration file. Both these files are visible using the Console.
This article was posted in Guide and tagged Apache , httpd , Mountain Lion , and svn. Published by Graham Miln on News and Updates. Serving svn with httpd on OS X. Installing the Right Version The best way to get the modules back is to build them from source.
Subversion is open source software, see http: The following repository back-end FS modules are available: If all goes well, you should see the following output after committing Data Base Updated CA verifying: OK Now we will create insecure versions of these keys for Apache Start by moving the original server.
With the SSL stuff setup, now we can add users with access to the Subversion repository. As above, the file permissions will need to be set properly. That is not a typo. Now, everything should be in place and working properly. We'll need to re start the Apache web server and confirm the Subversion repository is accessible via a web browser. If you're using an earlier version of Mac OS X pre If there is a problem with the configuration files modified under point 2 above, the checkbox will 'uncheck' itself and you should review those files to ensure you've modified them as described. If the checkbox remains checked, the server is up and running, and ready for testing i.
If you are using Mac OS In this case, you can test and start the Apache web server as directed below. You should hopefully see Syntax OK If not, go back and ensure you've modified the files discussed in point 2 exactly as described. With the Apache web server up and running, you can now attempt to access your Subversion repository.
Serving svn with httpd on OS X
In a web browser, open a new tab or window and enter https: This must be done on the machine running the Subversion server as this first test is a test that the repository is accessible locally, but served by the Apache web server with SSL encryption. If things are working properly, you should first see a warning about this page's security certificate not being trusted. This is OK, and expected. Above, in the creation of the SSL certificate, we self-signed it.
This means the certificate was signed, but not by a designated authority e. Depending on the browser, the procedure is slightly different, but do what you need to do to accept the certificate and proceed to access the site. After accepting the certificate, you should be prompted for a username and password. This would be the username and password created under point 4 above.
Congratulations, you have a locally accessible Subversion repository with SSL encrypted authenticated access. If you have any problems at this point, my best suggestion is to review the files you've modified, re-create the certificates generated under point 3, restart the Apache web server and try again. If you're still having problems, try searching on Goolgle for the error messages or behavior you're seeing. There are quite a few potential pitfalls in these instructions, so unfortunately, this is the best I can do. If your machine has a URL or IP address that is accessible from the outside world, you can also test to ensure that you can access the Subversion repository externally.
New to Subversion?
The procedure is just like that in the point above, but you would direct your web browser to https: In Terminal. In this case, I'll assume you'll store the files in your home directory, within the subdirectory Code. You will likely be prompted to accept the Subversion server certificate, to which you should either reply ' t ' to temporarily accept or ' p ' to permanently accept it.
You'll then be prompted for your password.
Lastly, I expect you'll receive a warning message that the password for access to the repository can only be stored unencrypted on your machine. It is up to you whether you'd like to store the password unencrypted and not have to enter it again when accessing the repository or not store the password. You should then see the files in the repository being added as local copies, if there are any existing files.
With a local copy of the repository checked out, you can create the basic structure used in most Subversion repositories by typing svn mkdir branches tags trunk This will create 3 directories for the code or files you'll manage using Subversion , telling Subversion svn to make the directories mkdir called branches , tags and trunk. This structure is merely a suggestion, but you can read here about why it is a reasonable choice.
Further discussion is beyond the scope of this page. With this basic structure in place, we can commit this change to the repository, updating the files stored on the server to reflect the local changes. In case that is unclear, at this point we've only created these directories in the local copy of the Subversion repository and must commit the changes in order for the 'master' copy to be updated.
You can commit your changes by typing svn commit -m "Initial structure" This will tell Subversion svn to commit commit the changes to the 'master' copy on the server with the comment -m for this commit stored as "Initial structure". Each time you commit you should provide a useful comment that reflects the changes made for this commit.