https://wiki.archlinux.org/api.php?action=feedcontributions&user=Rsp2k&feedformat=atomArchWiki - User contributions [en]2024-03-29T01:06:15ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Arch_Linux_Stable&diff=53847Arch Linux Stable2008-11-19T05:41:59Z<p>Rsp2k: /* Aims */</p>
<hr />
<div>==Arch-Stable/ArchRock==<br />
<br />
In reference to the discussion in [http://bbs.archlinux.org/viewtopic.php?id=41764&p=1 this] forum thread, the proposition has been put forth, initially by '''nagoola''', to provide a stable branch or snapshot of the Arch Linux distribution. <br />
<br />
===Aims===<br />
<br />
Arch-Stable(ArchRock) is aimed at servers, not at desktop/workstation machines. We will provide a repository that is as stable as possible and should never break an update.<br />
<br />
===Concept===<br />
<br />
We will provide a repository, which is only updated for security-updates during a release-cycle(6-12 Months). Feature updates will not be made during a release-cycle. Each release will be based on the official Arch-Repositories. We will only be providing the packages from [core] + some extra packages, which are often used by servers, like apache, php, mysql, etc.<br />
<br />
===Definition===<br />
<br />
In the context of the Arch-Stable Branch, 'stable' will mean: Packages should never crash during runtime, be bug-free and should never be broken by updates.<br />
<br />
===Requirements===<br />
<br />
====Staff====<br />
<br />
# Project Leader - Delegate tasks and project direction.<br />
# Packagers - Choosing and handling packages to add to the snapshot repository.<br />
# Testers - Testing the stability of packages, logistics, and assistance.<br />
# Repository - Will require a server.<br />
# Programmers - Code necessary tools.<br />
<br />
====Communication====<br />
<br />
'''IRC''' - [http://irc.freenode.net irc.freenode.net] #archlinux-stable<br />
<br />
'''Mailing list''' - [mailto:archlinux-stable-request@freelists.org archlinux-stable-request@freelists.org] Send e-mail with the subject 'subscribe'<br> or view the archive here: http://www.freelists.org/archives/archlinux-stable/<br />
<br />
Web Site - http://arch-stable.wholebean.info/<br />
<br />
====Project Volunteers====<br />
<br />
Currently, the project has recruited these members:<br />
<br />
Active:<br />
* Nihathrael - Project Management / Programming / Documentation / Homepage / Package maintenance<br />
* rxKaffee - Programming / Provides testing server / Package maintenance / Homepage <br />
* sixty-four-bit - Packager<br />
* Basn - Packager<br />
* AndyRTR - technical adviser, moderation / coordination if wanted/needed, maybe some packaging for core stuff<br />
<br />
Inactive:<br />
* nagoola - Project Idea<br />
* hussam<br />
(Please add/remove your name as appropriate and state briefly what you are qualified to offer to the project.)<br />
<br />
===Project Status===<br />
We are currently setting up a test server for developers to use, which will not be publicly announced. If you would like to join development, please join '''#archlinux-stable''' at irc.freenode.net.<br><br />
We are still looking for server-space that we can use to release the core-stable repository to the public. Please contact nihathrael if you would like to offer hosting.<br />
Please refer to the mailing list for newest information.<br />
<br />
Last updated: [[User:Nihathrael|Nihathrael]] 16:03, 28 February 2008 (EST)</div>Rsp2khttps://wiki.archlinux.org/index.php?title=Subversion&diff=51883Subversion2008-10-29T02:56:14Z<p>Rsp2k: /* SSL or not to SSL? */ updated certificate generation instructions</p>
<hr />
<div>[[Category:Development (English)]]<br />
[[Category:Networking (English)]]<br />
[[Category:HOWTOs (English)]]<br />
==Goals==<br />
The goal of this how to is to setup Subversion, with Apache. Why use Apache for Subversion? Well, quite simply, it provides features that the standalone <code>svnserve</code> does not have...<br />
<br />
* You get the ability to use https protocol. This means that SVN passwords are not flying around for all to sniff.<br />
* You get fine-grained access controls. You can use Apache auth to limit permissions by directory. This means you can grant read access to everything, but commit access only to trunk for instance, while have another group with commit access to tags or branches.<br />
* You get a free repository viewer. While not very exciting, it does work.<br />
* The Subversion team is working on seamless webdav integration. At some point you should be able to use any webdav interface to update files in the repository.<br />
<br />
===Required Packages===<br />
* apache<br />
* subversion<br />
<br />
==Apache Installation==<br />
This howto '''does not''' cover installation and initial setup of the Apache web server.<br />
<br />
==Subversion Installation==<br />
===Install the package===<br />
pacman -Sy subversion<br />
<br />
===Create a Directory===<br />
mkdir -p /home/svn/repositories<br />
<br />
==Miscellaneous Configuration Specifics==<br />
===/etc/httpd/conf/httpd.conf===<br />
Ensure the following are listed...if not, add them (you'll typically have to add just the last two), they must be in this order:<br />
<br />
LoadModule dav_module modules/mod_dav.so<br />
LoadModule dav_fs_module modules/mod_dav_fs.so<br />
LoadModule dav_svn_module modules/mod_dav_svn.so<br />
LoadModule authz_svn_module modules/mod_authz_svn.so<br />
<br />
===SSL or not to SSL?===<br />
I prefer to use SSL for SVN access. This enables me to use Apache's AuthType Basic, with little fear of someone sniffing passwords.<br />
<br />
I generate the certificate by:<br />
<br />
<code><br />
cd /etc/httpd/conf/; openssl req -new -x509 -keyout server.key -out server.crt -days 365 -nodes<br />
</code><br />
<br />
Then, I add the following to <code>/etc/httpd/conf/extra/httpd-ssl.conf</code> to include the following inside of a virtual host directive:<br />
<br />
<Location /svn><br />
DAV svn<br />
SVNParentPath /home/svn/repositories<br />
AuthzSVNAccessFile /home/svn/.svn-policy-file<br />
AuthName "SVN Repositories"<br />
AuthType Basic<br />
AuthUserFile /home/svn/.svn-auth-file<br />
Satisfy Any<br />
Require valid-user<br />
</Location><br />
<br />
To make sure the SSL settings get loaded, uncomment the SSL configuration line in <code>/etc/httpd/conf/httpd.conf</code> so it looks like this:<br />
<br />
Include /etc/httpd/conf/extra/httpd-ssl.conf<br />
<br />
===Create /home/svn/.svn-policy-file===<br />
<pre><br />
[/]<br />
* = r<br />
<br />
[test:/]<br />
cactus = rw<br />
</pre><br />
<br />
The * in the / section is matched to anonymous users. Any access above and beyond read only will be prompted for a user/pass by apache AuthType Basic. The /svn/test section inherits permissions from those above, so anon users have read only permission to it. I granted myself read/write permissions to the repo.<br />
<br />
===Create /home/svn/.svn-auth-file===<br />
This is either an htpasswd, or htdigest file. I used htpasswd. Again, because of SSL, I don't worry as much about password sniffing. htdigest would provide even more security vs sniffing, but at this point, I don't have a need for it.<br />
htpasswd -cs /home/svn/.svn-auth-file cactus<br />
<br />
The above creates the file (-c) and uses sha1 for storing the password (-s). The user cactus is created. <br /><br />
To add additional users, leave off the (-c) flag.<br />
htpasswd -s /home/svn/.svn-auth-file userX<br />
<br />
===Create a Repository===<br />
svnadmin create /home/svn/repositories/test<br />
<br />
===Set Permissions===<br />
The Apache user needs permissions over the new repository.<br />
chown -R http.http /home/svn/repositories/test<br />
<br />
==Create a Project==<br />
===Directory structure for project===<br />
Create the following directory structure on your development machine.<br />
branches tags trunk<br />
<br />
You can create them like this.<br />
cd /path/to/directory''of''choice<br />
mkdir branches tags trunk<br />
<br />
===Populate Directory===<br />
Put your source files into the created trunk directory.<br />
cp -R /home/cactus/project/test/code/* trunk<br />
<br />
===Import the Project===<br />
svn import -m "Initial import" https://yourdomain.net/svn/test/<br />
<br />
===Test SVN Checkout===<br />
<pre><br />
cd /path/to/directory_of_choice<br />
cd ..<br />
rm -rf /path/to/directory_of_choice<br />
svn co https://yourdomain.net/svn/test/<br />
</pre><br />
<br />
If everything worked out, you should now have a working, checked out copy of your freshly created SVN repo.<br />
<br />
Enjoy!</div>Rsp2k