Journal toby's Journal: Setting up CollabNet Subversion on Solaris 10, with SMF.
Download the CollabNet Subversion package for Solaris.
Edit Apache configuration,
Fix some permissions:
# chown -R daemon:daemon
/pool/YOURDOMAIN/svn/YOURREPO/
# chown daemon:daemon/var/opt/CollabNet_Subversion/logs/
Set up SMF manifest.
This file is based on the manifest distributed with CoolStack,
# svccfg import apache22-svn.xml
To see the configuration of the Apache built with CollabNet Svn,
#
/opt/CollabNet_Subversion/bin/httpd -V
Server version: Apache/2.2.8 (Unix)
Server built: Oct 23 2008 15:51:40
Server's Module Magic Number: 20051115:11
Server loaded: APR 1.2.12, APR-Util 1.2.12
Compiled using: APR 1.2.12, APR-Util 1.2.12
Architecture: 32-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_FCNTL_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/"
-D SUEXEC_BIN="//bin/suexec"
-D DEFAULT_PIDLOG="var/opt/CollabNet_Subversion/run/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="var/opt/CollabNet_Subversion/run/accept.lock"
-D DEFAULT_ERRORLOG="/var/opt/CollabNet_Subversion/logs/error_log"
-D AP_TYPES_CONFIG_FILE="etc/opt/CollabNet_Subversion/conf/mime.types"
-D SERVER_CONFIG_FILE="etc/opt/CollabNet_Subversion/conf/httpd.conf"
conf/extra/httpd-vhosts.conf:
#
# Virtual Hosts
#...
Listen 443
#
# Use name-based virtual hosting.
#
#NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:443>
ServerAdmin sysadmin@YOURDOMAIN.com.au
DocumentRoot/pool/YOURDOMAIN/www/YOURDOMAIN/htdocs
ServerName YOURDOMAIN
# ServerAlias www.dummy-host.example.com
ErrorLog/pool/YOURDOMAIN/www/YOURDOMAIN/logs/error_log
CustomLog/pool/YOURDOMAIN/www/YOURDOMAIN/logs/access_log combined
<Location/svn>
Dav svn
SVNParentPath/pool/YOURDOMAIN/svn
AuthType Basic
AuthName "Subversion"
AuthUserFile/pool/YOURDOMAIN/www/YOURDOMAIN/htpasswd
# AuthzSVNAccessFile/pool/YOURDOMAIN/svn/svnpolicy
Require valid-user
SSLRequireSSL
Order allow,deny
Allow from all
</Location>
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
...and the rest of the SSL config
...can be copied from/opt/coolstack/apache2/conf/extra/httpd-ssl.conf
apache22-svn.xml:
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--
Copyright 2006-2007 Sun Microsystems, Inc. All rights reserved.
CSKapache2 manifest - should reside in/var/svc/manifest/network.
-->
<service_bundle type='manifest' name='COLLABNETapache2:apache'>
<service
name='network/http'
type='service'
version='1'>
<!--
Because we may have multiple instances of network/http
provided by different implementations, we keep dependencies
and methods within the instance.
-->
<instance name='apache22-svn' enabled='false'>
<!--
Wait for network interfaces to be initialized.
-->
<dependency name='network'
grouping='require_all'
restart_on='error'
type='service'>
<service_fmri value='svc:/milestone/network:default'/>
</dependency>
<!--
Wait for all local filesystems to be mounted.
-->
<dependency name='filesystem-local'
grouping='require_all'
restart_on='none'
type='service'>
<service_fmri
value='svc:/system/filesystem/local:default'/>
</dependency>
<!--
Wait for automounting to be available, as we may be
serving data from home directories or other remote
filesystems.
-->
<dependency name='autofs'
grouping='optional_all'
restart_on='error'
type='service'>
<service_fmri
value='svc:/system/filesystem/autofs:default'/>
</dependency>
<exec_method
type='method'
name='start'
exec='/opt/CollabNet_Subversion/bin/apachectl start'
timeout_seconds='60'>
</exec_method>
<exec_method
type='method'
name='stop'
exec='/opt/CollabNet_Subversion/bin/apachectl stop'
timeout_seconds='60'>
<method_context/>
</exec_method>
<exec_method
type='method'
name='refresh'
exec='/opt/CollabNet_Subversion/bin/apachectl restart'
timeout_seconds='60'>
<method_context/>
</exec_method>
<property_group name='httpd' type='application'>
<stability value='Evolving'/>
<propval name='ssl' type='boolean' value='true'/>
</property_group>
<property_group name='startd' type='framework'>
<!-- sub-process core dumps shouldn't restart session -->
<propval name='ignore_error' type='astring'
value='core,signal'/>
</property_group>
<template>
<common_name>
<loctext xml:lang='C'>
Apache 2 HTTP server
</loctext>
</common_name>
<!--
<documentation>
<manpage title='httpd' section='8'
manpath='/opt/coolstack/apache2/man'/>
<doc_link name='apache.org'
uri='http://httpd.apache.org'/>
</documentation>
-->
</template>
</instance>
<stability value='Evolving'/>
</service>
</service_bundle>
Setting up CollabNet Subversion on Solaris 10, with SMF. More Login
Setting up CollabNet Subversion on Solaris 10, with SMF.
Slashdot Top Deals