Home PC Games Linux Windows Database Network Programming Server Mobile  
  Home \ Server \ RedHat Linux 5.5 installation process SVN Service Notes     - Oracle Data Pump Example (Database)

- Based on OpenSSL for HTTPS service configuration (Server)

- Binary search -Java achieve (Programming)

- Talking about the implementation and the JVM garbage collection mechanism (Programming)

- Iscsi package is installed on RHEL 6.3 x86-64 systems (Linux)

- Git uses a standard process (Linux)

- Linux operating system Study Notes (Linux)

- APF firewall installation and configuration under Linux (Linux)

- Try to use Lets Encrypt (Linux)

- Heartbeat (v1, v2, pacemaker) cluster components Overview (Server)

- Use Epoll develop high-performance application server on Linux (Server)

- Implement firewall function on a closed Linux machine (Linux)

- The Zabbix2.4.5 source compiler installation under Ubuntu 14.04 (Server)

- CentOS7 install JDK (Linux)

- CentOS 7 x64 compiler installation Tengine 2.0.3 Comments (Server)

- How to install Eclipse Luna IDE on CentOS 7 / RHEL 7 (Linux)

- C language header file defines a global variable (Programming)

- Docker + OpenvSwitch build experimental environment VxLAN (Server)

- wget command usage Explanation (Linux)

- C ++ Supplements --new delete overload (Programming)

  RedHat Linux 5.5 installation process SVN Service Notes
  Add Date : 2018-11-21      
  ReadHat Linux 5.5 installation process SVN Service notes, Subversion and independent service and apache integration services.

One, Svn independent service installation

Operating System: RedHat Linux5.5

Get the installation package:


Log in as root.
The subversion-1.4.0.tar.gz and subversion-deps-1.4.0.tar.gz to the server.

tar xfvz subversion-1.4.0.tar.gz
tar xfvz subversion-deps-1.4.0.tar.gz

There are four package subversion-deps directory zlib apr apr-util neon four directories are dependencies, compile subversion code necessary
cd subversion-1.4.0
./configure -prefix = / opt / svn -without-berkeley-db -with-zlib
(Note: svnserve to run, without apache compiler parameters fsfs format storage repository does not compile berkeley-db.)
make clean
make install

If an error occurs in the make, you can refer to the following solutions:

When I compile Neon libraries on 64-bit Linux, an error occurred "relocation R_X86_64_32 against` a local symbol 'can not be used when making a shared object ".

Neon library is used as a Subversion server and HTTP client communication library is usually compiled into a static library. But it was later linked to the different dynamic link library, which can lead to errors in the compilation process of AMD 64-bit operating system above, similar to the following message appears:

subversion-1.4.6 / neon / src / .libs / libneon.a (ne_request.o): relocation R_X86_64_32
against `a local symbol 'can not be used when making a shared object;
recompile with -fPIC
/home/jrandom/subversion/subversion-1.4.6/neon/src/.libs/libneon.a: could not
read symbols: Bad value
There is an article mentions this on the developer mailing list.

The solution is to provide a "--enable-shared" parameters for the Subversion configuration scripts.

Reference Address: http: //subversion.apache.org/faq.zh.html

vi / etc / profile, in / etc / profile Last added:

PATH = $ PATH: / opt / svn / bin
export PATH

svnserve -version

If shown below, the installation was successful:
svnserve, version 1.4.0 (r21228)
compiled Oct 12 2006, 10:18:56

Copyright (C) 2000-2006 CollabNet.
Subversion is open source software, see [url] http://subversion.tigris.org/ [/ url]
This product includes software developed by CollabNet ([url] http://www.Collab.Net/ [/ url]).

The following repository back-end (FS) modules are available:

* Fs_fs: Module for working with a plain file (FSFS) repository.

2. svn configuration
Establishment of the repository directory can be built more of:
mkdir -p / opt / svndata / repos1
mkdir -p / opt / svndata / repos2 work

Establishment of the repository :( initialization process, generates configuration files and other files)
svnadmin create / opt / svndata / repos1
svnadmin create / opt / svndata / repos2

Modify repository configuration file:
Repository 1:
vi /opt/svndata/repos1/conf/svnserve.conf

Amended as follows:
anon-access = none
auth-access = write
password-db = /opt/svn/conf/pwd.conf
authz-db = /opt/svn/conf/authz.conf
realm = repos1

2 Repository:
vi /opt/svndata/repos2/conf/svnserve.conf

Amended as follows:
anon-access = none
auth-access = write
password-db = /opt/svn/conf/pwd.conf
authz-db = /opt/svn/conf/authz.conf
realm = repos2

That is, except realm = repos2, the other with the same configuration file repository 1. If there are more repositories, and so on.

Configuration allows users to access:
vi /opt/svn/conf/pwd.conf

To simplify the configuration, two repositories share a user profile. If necessary, it can also be separated.

Note: The changes to the user profile take effect immediately, without restarting svn.

File format is as follows:
< User 1> = < password 1>
< User 2> = < password 2>

Wherein, [users] is a must. Listed below to access the svn users, each line. Example:
alan = password
king = hello

Configuring User Access:
vi /opt/svn/conf/authz.conf

To simplify the configuration, three repositories sharing a rights profile /opt/svn/conf/authz.conf. If necessary, it can also be separated. Define user groups and file repository directory permissions.

* User rights profile name must appear in the user defined profile.
* Modification of the rights profile take effect immediately, without restarting svn.

User Group Format:
< User group name> = < User 1>, < User 2>
Wherein a user group can contain one or more users, separated by commas between users.

Repository directory format:
[< Repository>: / project / directory]
@ < User group name> = < permission>
< User name> = < permission>

Wherein the inner part of the block number can have a variety of writing:
/ Represents the root directory and below. The root directory is specified when you start svnserve, we specify the / opt / svndata. Thus, / is expressed to set permissions for all repositories.
repos1: / 1 expressed repository set permissions
repos2: / abc expressed repository 2 abc project set permissions
repos2: / abc / aaa aaa directory indicates set permissions on the repository 2 abc items

Permissions body can be a user group, user, or *

                  User groups in front of the @

                  * Means all users.

Permissions can be w, r, wr and empty

                  Empty means no access.

admin = alan

@admin = rw

[Repos1: / abc / aaa]
king = rw

[Repos2: / pass]
king =

Delete unwanted files:
rm / opt / svndata / repos1 / conf / authz
rm / opt / svndata / repos1 / conf / passwd
rm / opt / svndata / repos2 / conf / authz
rm / opt / svndata / repos2 / conf / passwd

3. Start svn
Establish start svn users:
useradd svn
passwd svn
svn set a password for the user based on tips

It allows users to access the svn repository:
chown -R svn: svn / opt / svndata
chown -R svn: svn / opt / data

Start svn:
svnserve -d --listen-port 9999 -r / opt / svndata

among them:
su - svn represents a user's identity to start svn svn
-d expressed as a daemon (background) operation
-listen-port 9999 that the use of port 9999, can be replaced with the ports you need. But note that use port below 1024 requires root privileges
-r / opt / svndata specify the root directory is / opt / svndata

an examination:
ps -ef | grep svnserve

If the following shall initiate success:
svn 6941 1 0 15:07? 00:00:00 svnserve -d -listen-port 9999 -r / opt / svndata

================================================== =======

Two, svn integration services and apache

Subversion storage, one Berkeley Berkeley DB storage, and second fsfs storage.

Two versions of library data storage table

   Berkeley DB
Sensitive operation interrupted
Very sensitive; system crash or permission problems can cause the database "wedged", the need for regular recovery.
                Not sensitive
Can read only load
                   Can not
Platform-independent storage
                   Can not
Can be accessed from a network file system

                   Can not
Repository size
Scalability: Number of revision trees

Some local file system will have problems in dealing with a single directory contains thousands of entries.
Scalability: more file directory
   The detection rate of the latest code
Submit a lot of speed
Slower, but the time is allocated in the entire commit operation
Faster, but last longer delay may cause the client operation timed out

Group access to treatment
For the user's umask setting is very sensitive, it is best accessed by only one user.
             Umask setting is not sensitive to
Functional maturation time
                             year 2004
1. Install APR-1.2.7 and APR-util-1.2.7

    Download: [url] http://apr.apache.org/
    tar zxvf apr-1.2.7.tar.gz



    make install

    tar zxvf apr-util-1.2.7.tar.gz

    ./configure --with-apr = / usr / local / apr /


    make install

2, compile and install APACHE.

    tar zxvf httpd-2.2.3.tar.gz
    cd httpd-2.2.3
  ./configure --prefix = / opt / apache --enable-dav --enable-so --enable-maintainer-mode --with-apr = / usr / local / apr / bin / apr-1-config - with-apr-util = / usr / local / apr / bin / apu-1-config

    make install

3, install subversion-1.4.0

    tar zxvf subversion-1.4.0.tar.gz

 ./configure --with-apxs = / opt / apache / bin / apxs --with-apr = / usr / local / apr --with-apr-util = / usr / local / apr

Question: Regarding the shared library error

Methods: echo "/ usr / local / apr-util / lib" >> /etc/ld.so.c

            ldconfig echo $?

    make install
  Set the environment variable (do can not do)

vi / etc / profile, in / etc / profile Last added:
PATH = $ PATH: / opt / svn / bin
export PATH

4. Check subversion two dynamic library has not installed successfully

    vi /opt/apache/conf/httpd.conf

    See the following two modules, the installation was successful

    LoadModule dav_svn_module modules / mod_dav_svn.so
    LoadModule authz_svn_module modules / mod_authz_svn.so

5, configure SVN

    vi /opt/apache/conf/httpd.conf


    < Location / svn>
      DAV svn
        SVNParentPath / data / svn / repos // svn parent directory
        AuthType Basic // connection type
        AuthName "Subversion repository" // connection box prompts
        AuthUserFile / data / svn / passwd // User Profiles
        AuthzSVNAccessFile / data / svn / auth
        Require valid-user // passwd all users can access

  < / Location>

6, the establishment of SVN repository

    #mkdir -p / opt / svndata / repos

    #svnadmin create -fs-type fsfs / opt / svndata / repos

Previous backups SVN repository

#svnadmin dump / opt / svndata / repos> / root / repos20080328

Out to restore the backup data to a local

#svnadmin load / opt / svndata / repos /
7, the establishment of local access control files

# / Opt / apache / bin / htpasswd [-c] / opt / passwd north
Use -c represents a new user file // first set up user.

# / Opt / apache / bin / htpasswd passwd username (add new users)

8, the establishment of local project control files

    touch / opt / svndata / auth

    Contents of the file:

[Repos1: /]
#wxy = rw
north = rw
tom = rw

[Repos2: /]
repos2 = rw

9, install the Client Access server

  [Url] [/ url]
  Note: SVN is time APACHE configuration plus to go.

10, the basic end of this installation

    Modify / data / svn / repos property, otherwise it will cause the file failed to upload.

    chmod -R apache.apache repos

Third, the daily maintenance commands and parameters

Start svn service

svnserve -d --listen-port 20000 -r / opt / svndata

Create Repository

svnadmin create fs-type fsfs / opt / svndata / mark

See information repository

svn list file: /// opt / svndata / mark

svn list --verbose file: /// opt / svndata / mark

Import directory structure library

svn import / tmp / mark / file: /// opt / svndata / mark / --message "init" (there bo next folder mark)

Delete the repository folder under the mark bo

svn delete svn: // 20000 / opt / svndata / mark / bo -m "delete"

// Export

$ Svnlook youngest oldrepo

$ Svnadmin dump oldrepo>; dumpfile


$ Svnadmin load newrepo
Stop subversion Service

ps aux | grep svnserve

kill -9 ID number
- Use HttpClient remote interface testing (Programming)
- Linux alpine use the command line to access Gmail (Linux)
- CentOS 6.x and CentOS7 install MPlayer (Linux)
- SYN attack hacker attack and defense of the basic principles and prevention technology (Linux)
- Linux command Detailed chpasswd bulk edit user password (Linux)
- Computer security perimeter recommendations (Linux)
- True and false in Perl (Programming)
- C # socket udp broadcast (Programming)
- Shell Common Command Summary (Programming)
- The headers for the current running kernel were not found when VirtualBox installation enhancements (Linux)
- Mount NFS network file system (Linux)
- Advanced Linux security settings (Linux)
- The hash function under OpenSSL (Linux)
- HBase Application Development Review and Summary of Series (Database)
- Use nice, cpulimit and cgroups limit cpu usage (Linux)
- Find details block device with Linux blkid command (Linux)
- You know the difference between URL, URI and URN among you (Linux)
- Oracle archive log full cause abnormal slow database performance (Database)
- Protect your files, modify the Linux value Umask (Linux)
- Docker installation under CentOS7 (Linux)
  CopyRight 2002-2020 newfreesoft.com, All Rights Reserved.