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.

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

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

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

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

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

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

快速查看服务器软件的编译参数: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


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

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
Useful JavaScript development tools

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function
