search
HomeDatabaseMysql TutorialApache 2.2.9 / SSL, Subversion 1.5.2, Trac 0.11.1 on openSUS

This article describes the installation of a subversion Repository server including Trac Project Managment on a open SUSE 11.0 Server. What is Trac ? Trac is an enhanced wiki and issue tracking system for software development projects. An

This article describes the installation of a subversion Repository server including Trac Project Managment on a openSUSE 11.0 Server.

What is Trac?

  • Trac is an enhanced wiki and issue tracking system for software development projects.
  • An integrated system for managing software projects.
  • An enhanced wiki.
  • A flexible web-based issue tracker.
  • An interface to the Subversion revision control system.

Have a look at their homepage:Trac Project Managment.

Normally any linux distribution comes with precompiled packages. But if we want to use the Trac Project Managment we must compile the whole thing ourself.

System Description:

Standard openSUSE 11.0 Server, runlevel3.
No graphical system is required because it is a Repository server and nothing more ;-)

Systemrequirements:

Install the follwing packages via openSUSE "YaST"

  • openssl
  • openssl-devel
  • autconf
  • libtool
  • flex
  • bison
  • libapr0
  • gcc-c++
  • gcc, make
  • glibc-devel
  • ctags
  • lzo, lzo-devel
  • gdbm, gdbm-devel
  • libxml2-devel
  • sqlite, sqlite-devel
  • python, python-devel, python-doc, python-setuptools, python-XML

Now we start:

Download, compile and install Apache 2.2.9

$>cd /usr/local/src<br>$>wget http://gd.tuwien.ac.at/infosys/servers/http/apache/dist/httpd/httpd-2.2.9.tar.gz<br>...<br>$>tar xzvf httpd-2.2.9.tar.gz<br>$>cd httpd-2.2.9<br>$>./configure --prefix=/usr/local/apache2 --enable-mods-shared="all ssl dav_lock" --enable-maintainer-mode --enable-dav --enable-dav-fs --enable-dav-lock --enable-cgi --enable-deflate --enable-auth-digest --enable-rewrite --enable-actions --enable-so --enable-ssl=/usr/ssl<br>...<br>$>make<br>$>make install<br>

Now we generate an SSL certificate for the Webserver:

$>cd /usr/local/apache2/conf<br>$>mkdir ssl.crt ssl.key<br>$>openssl req -new -x509 -days 3650 -keyout ./ssl.key/server.key -out ./ssl.crt/server.crt -subj '/CN=host.domain Certificate'<br>...<br>$>cp ssl.key/server.key ssl.key/server.key.org<br>$>openssl rsa -in ssl.key/server.key.org -out ssl.key/server.key<br>...<br>$>chmod 400 ssl.key/server.key<br>$>chmod 400 ssl.key/server.key.org<br>

Download, compile and install mod_python-3.3.1

$>cd /usr/local/src<br>$>wget http://mirror.deri.at/apache/httpd/modpython/mod_python-3.3.1.tgz<br>...<br>$>tar xzvf mod_python-3.3.1.tar.gz<br>$>cd mod_python-3.3.1<br>$>./configure --with-apxs=/usr/local/apache2/bin/apxs<br>...<br>$>make<br>$>make install<br>

Download, compile and install Ruby 1.8.7

$>cd /usr/local/src<br>$>wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7.tar.gz<br>...<br>$>tar xzvf ruby-1.8.7.tar.gz<br>$>cd ruby-1.8.7<br>$>./configure<br>...<br>$>make<br>$>make install<br>

Download, compile and install Swig 1.3.36

$>cd /usr/local/src<br>$>wget http://downloads.sourceforge.net/swig/swig-1.3.36.tar.gz?modtime=1214350580&big_mirror=0<br>...<br>$>tar xzvf swig-1.3.36.tar.gz<br>$>cd swig-1.3.36<br>$>./configure --with-python=/usr/bin/python --with-perl=/usr/bin/perl --with-ruby=/usr/local/bin/ruby --without-php4<br>...<br>$>make<br>$>make check<br>$>make install<br>

Download, compile and install Neon 0.28.3

$>cd /usr/local/src<br>$>wget http://www.webdav.org/neon/neon-0.28.3.tar.gz<br>...<br>$>tar xzvf neon-0.28.3.tar.gz<br>$>cd neon-0.28.3<br>$>./configure --with-expat --with-libxml2 --with-ssl --with-libs=/usr/ssl --enable-shared=yes<br>...<br>$>make<br>$>make install<br>

Download, compile and install Pysqlite 2.4.1

$>cd /usr/local/src<br>$>wget http://initd.org/pub/software/pysqlite/releases/2.4/2.4.1/pysqlite-2.4.1.tar.gz<br>...<br>$>tar xzvf pysqlite-2.4.1.tar.gz<br>$>cd pysqlite-2.4.1<br>$>python setup.py build<br>$>python setup.py install<br>

Download, compile and install Subversion 1.5.2

$>cd /usr/local/src<br>$>wget http://subversion.tigris.org/downloads/subversion-1.5.2.tar.gz<br>...<br>$>tar xzvf subversion-1.5.2.tar.gz<br>$>cd subversion-1.5.2<br>$>rm -rf /usr/local/lib/libsvn*<br>$>rm -rf /usr/local/lib/svn-python/*<br>$>rm -rf /usr/local/lib/libexpat* /lib/libexpat* /usr/lib/libexpat*<br>$>sh ./autogen.sh<br>$>./configure --with-ssl=/usr/ssl --with-neon=/usr/local --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-apxs=/usr/local/apache2/bin/apxs --with-zlib=/usr/lib --with-swig=/usr/local/bin/swig  PYTHON2=/usr/bin/python PERL=/usr/bin/perl --without-jdk --without-jikes --without-junit<br>...<br>$>make<br>$>make install<br>$>make swig-py<br>$>make install-swig-py<br>$>make swig-pl<br>$>make install-swig-pl<br>$>echo /usr/local/lib/svn-python > /usr/lib/python/site-packages/svn-python.pth<br>

Download, compile and install Clearsilver 0.10.5

$>cd /usr/local/src<br>$>wget http://www.clearsilver.net/downloads/clearsilver-0.10.5.tar.gz<br>...<br>$>tar xzvf clearsilver-0.10.5<br>$>cd clearsilver-0.10.5<br>$>vi scripts/document.py (change the first line to "/usr/bin/python" instead of /bin/env python)<br>...<br>$>./configure --with-apache=/usr/local/apache2 --with-python=/usr/bin/python  --with-ruby=/usr/local/bin/ruby --with-perl=/usr/bin/perl --disable-csharp  --disable-java --enable-gettext<br>...<br>$>make<br>$>make install<br>$>cd python<br>$>make install #(That should install the Python bindings for ClearSilver)<br>

Download, compile and install Docutils 0.5

$>cd /usr/local/src<br>$>wget http://prdownloads.sourceforge.net/docutils/docutils-0.5.tar.gz?download<br>...<br>$>tar xzvf docutils-0.5.tgz<br>$>cd docutils-0.5<br>$>python setup.py build<br>$>python setup.py install<br>$>cd /tools<br>$>./buildhtml.py ../<br>

Download, compile and install Trac 0.11.1

$>cd /usr/local/src<br>$>wget http://ftp.edgewall.com/pub/trac/Trac-0.11.1.tar.gz<br>...<br>$>tar xzvf  Trac-0.11.1.tar.gz<br>$>cd Trac-0.11.1.tar.gz<br>$>python ./setup.py install<br>...<br>$>cd /usr/local/apache2/htdocs<br>$>ln -s /usr/local/share/trac/htdocs trac (we link the trac stuff to apache2 htdocs)<br>
This will byte-compile the python source code and install it in the site-packages directory of your python installation. The directories cgi-bin, templates, htdocs, wiki-default are all copied to $prefix/share/trac. The script will also install the trac-admin command-line tool, used to create and maintain project environments. "trac-admin" is the command center of Trac.

Create "user" and "group" for Subversion:

$>groupadd svn-grp<br>$>useradd svn -G svn-grp -s /bin/bash<br>$>passwd svn  (some password for user svn)<br>

Now we create a Subversion Repository:

$>mkdir /data<br>$>mkdir /data/repos-new<br>$>chown -R svn.svn-grp /data/*<br>...<br>$>now login as user "<span>svn</span>" !!! (you are now user <span>svn</span>) !!!<br>$>svnadmin create /data/repos-new/MyProject --fs-type fsfs<br>$>svn mkdir file:///data/repos-new/MyProject/trunk -m "trunk"<br>...<br>$><span>su root</span> (type password for root, you are now user <span>root</span>) !!!<br>

Create a Trac Enviorment from the Repository:

$>trac-admin /data/repos-new/MyProjectTrac initenv<br>change: Project Name [My Project]> to MyProject,<br>change: Path to Repository [/var/svn/test] to /data/repos-new/MyProject<br>$>chgrp -R svn-grp /data/repos-new/<br>$>chmod -R 770 /data/repos-new/<br>

Now enable the Project Enviorment and start Apache2:

Change and add the following lines to your configuration:
$>vi /usr/local/apache2/conf/httpd.conf<br>  (change the Apache user to "svn")<br>  (change the Apache group to "svn-grp")<br>...<br>add the following lines to point to your project:<br>------------------<br>SetEnv PYTHON_EGG_CACHE /home/svn<br>ScriptAlias /trac /usr/share/trac/cgi-bin/trac.cgi<br><location><br>	SetEnv TRAC_ENV "/data/repos-new/MyProject"<br></location><br>------------------<br>  (save the configuration and start Apache2 like)<br>$>/usr/local/apache2/bin/apachectl start<br>
Open your webbrowser and type "http://yourip-or-domain/trac". If everything is perfect you can see the welcome message. Also have a look at the "Browse Source" button, there you can see the added subversion "trunk" directory.

Authentication for user login:

Change and add the following lines to your configuration:
$>cd /data/repos-new<br>$>touch svn-auth-file<br>$>chown svn.svn-grp svn-auth-file<br>$>chmod 440 svn-auth-file<br>...<br>add all user who should have access to the Repository via:<br>$>htpasswd2 -cb /data/repos-new/svn-auth-file user password<br><br>and change the Location settings in httpd.conf:<br>------------------<br><location><br>  DAV svn<br>  SVNPath       /data/repos-new/MyProject<br>  AuthType Basic<br>  AuthName "Subversion Repository"<br>  AuthUserFile /data/repos-new/svn-auth-file<br>  Require valid-user<br></location><br>------------------<br>  (save the configuration and restart Apache2)<br>$>/usr/local/apache2/bin/apachectl stop<br>$>/usr/local/apache2/bin/apachectl startssl<br>
Don`t forget to change "ssl.conf" and "httpd.conf" if you use ssl!

sample ssl.conf:

SSLRandomSeed startup builtin<br>SSLRandomSeed connect builtin<br><br><ifdefine ssl><br>Listen 443<br><br>AddType application/x-x509-ca-cert .crt<br>AddType application/x-pkcs7-crl    .crl<br><br>SSLPassPhraseDialog  builtin<br>SSLSessionCache         dbm:/usr/local/apache2/logs/ssl_scache<br>SSLSessionCacheTimeout  300<br>SSLMutex  file:/usr/local/apache2/logs/ssl_mutex<br><br><virtualhost _default_:443><br>DocumentRoot "/usr/local/apache2/htdocs"<br>ServerName server.domain:443<br>ServerAdmin email@domain.com<br>ErrorLog /usr/local/apache2/logs/error_log<br>TransferLog /usr/local/apache2/logs/access_log<br><br>SSLEngine on<br>SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL<br>SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt<br>SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key<br><br><filesmatch><br>    SSLOptions +StdEnvVars<br></filesmatch><br><directory><br>    SSLOptions +StdEnvVars<br></directory><br>SetEnvIf User-Agent ".*MSIE.*" /<br>         nokeepalive ssl-unclean-shutdown /<br>         downgrade-1.0 force-response-1.0<br>CustomLog /usr/local/apache2/logs/ssl_request_log /<br>          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x /"%r/" %b"<br>    RewriteEngine on<br>    RewriteCond   %{REQUEST_METHOD} ^(TRACE|TRACK)<br>    RewriteRule   .* - [F]<br></virtualhost><br><br></ifdefine><br>

If you get fault messages from Apache2?

* If you get the following:<br><em>Cannot load /usr/local/apache2/modules/mod_dav_svn.so into server...</em><br><br>Add to /usr/local/apache2/httpd.conf "LoadModule" lines:<br>LoadModule dav_svn_module modules/mod_dav_svn.so<br>LoadModule authz_svn_module modules/mod_authz_svn.so<br>. And add "/usr/local/lib" to /etc/ld.so.conf and then run /etc/ldconfig.<br>...<br>* If you get the following:<br><br>ExtractionError: Can't extract file(s) to egg cache/n/nThe following error<br>occurred while trying to extract file(s) to the Python egg/ncache:/n/n  <br>[Errno 13] Permission denied: '/root/.python-eggs'/n/nThe Python egg cache <br>directory is currently set to:/n/n  /root/.python-eggs/n/nPerhaps your <br>account does not have write access to this directory?  <br>You can/nchange the cache directory by setting the PYTHON_EGG_CACHE environment/nvariable<br>to point to an accessible directory./n.<br><br>Add following line to /usr/local/apache2/bin/envvars:<br>export PYTHON_EGG_CACHE=/home/svn<br><br>
And start Apache2 now.
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
图文详解apache2.4+php8.0的安装配置方法图文详解apache2.4+php8.0的安装配置方法Dec 06, 2022 pm 04:53 PM

本文给大家介绍如何安装apache2.4,以及如何配置php8.0,文中附有图文详细步骤,下面就带大家一起看看怎么安装配置apache2.4+php8.0吧~

Linux apache怎么限制并发连接和下载速度Linux apache怎么限制并发连接和下载速度May 12, 2023 am 10:49 AM

mod_limitipconn,这个是apache的一个非官方模块,根据同一个来源ip进行并发连接控制,bw_mod,它可以根据来源ip进行带宽限制,它们都是apache的第三方模块。1.下载:wgetwget2.安装#tar-zxvfmod_limitipconn-0.22.tar.gz#cdmod_limitipconn-0.22#vimakefile修改:apxs=“/usr/local/apache2/bin/apxs”#这里是自己apache的apxs路径,加载模块或者#/usr/lo

apache版本怎么查看?apache版本怎么查看?Jun 14, 2019 pm 02:40 PM

查看​apache版本的步骤:1、进入cmd命令窗口;2、使用cd命令切换到Apache的bin目录下,语法“cd bin目录路径”;3、执行“httpd -v”命令来查询版本信息,在输出结果中即可查看apache版本号。

nginx,tomcat,apache的区别是什么nginx,tomcat,apache的区别是什么May 15, 2023 pm 01:40 PM

1.Nginx和tomcat的区别nginx常用做静态内容服务和代理服务器,直接外来请求转发给后面的应用服务器(tomcat,Django等),tomcat更多用来做一个应用容器,让javawebapp泡在里面的东西。严格意义上来讲,Apache和nginx应该叫做HTTPServer,而tomcat是一个ApplicationServer是一个Servlet/JSO应用的容器。客户端通过HTTPServer访问服务器上存储的资源(HTML文件,图片文件等),HTTPServer是中只是把服务器

超细!Ubuntu20.04安装Apache+PHP8环境超细!Ubuntu20.04安装Apache+PHP8环境Mar 21, 2023 pm 03:26 PM

本篇文章给大家带来了关于PHP的相关知识,其中主要跟大家分享在Ubuntu20.04 LTS环境下安装Apache的全过程,并且针对其中可能出现的一些坑也会提供解决方案,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。

php站用iis乱码而apache没事怎么解决php站用iis乱码而apache没事怎么解决Mar 23, 2023 pm 02:48 PM

​在使用 PHP 进行网站开发时,你可能会遇到字符编码问题。特别是在使用不同的 Web 服务器时,会发现 IIS 和 Apache 处理字符编码的方法不同。当你使用 IIS 时,可能会发现在使用 UTF-8 编码时出现了乱码现象;而在使用 Apache 时,一切正常,没有出现任何问题。这种情况应该怎么解决呢?

如何在 RHEL 9/8 上设置高可用性 Apache(HTTP)集群如何在 RHEL 9/8 上设置高可用性 Apache(HTTP)集群Jun 09, 2023 pm 06:20 PM

Pacemaker是适用于类Linux操作系统的高可用性集群软件。Pacemaker被称为“集群资源管理器”,它通过在集群节点之间进行资源故障转移来提供集群资源的最大可用性。Pacemaker使用Corosync进行集群组件之间的心跳和内部通信,Corosync还负责集群中的投票选举(Quorum)。先决条件在我们开始之前,请确保你拥有以下内容:两台RHEL9/8服务器RedHat订阅或本地配置的仓库通过SSH访问两台服务器root或sudo权限互联网连接实验室详情:服务器1:node1.exa

Linux下如何查看nginx、apache、mysql和php的编译参数Linux下如何查看nginx、apache、mysql和php的编译参数May 14, 2023 pm 10:22 PM

快速查看服务器软件的编译参数:1、nginx编译参数:your_nginx_dir/sbin/nginx-v2、apache编译参数:catyour_apache_dir/build/config.nice3、php编译参数:your_php_dir/bin/php-i|grepconfigure4、mysql编译参数:catyour_mysql_dir/bin/mysqlbug|grepconfigure以下是完整的实操例子:查看获取nginx的编译参数:[root@www~]#/usr/lo

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function