New in CWP Edge-LatestFree with every CWPpro licenceWebsites up to 300x faster

CWP now includes LSPHP, LSAPI-Cache and CWP Cage at no extra cost with all CWPpro licences. The LSAPI-Cache plugin is integrated into our WordPress and other script installers, and CWP Cage gives every user complete isolation. Available now in the CWP Edge-Latest version.

Get CWPpro ›

Installation subversion on centos web panel

Started by safranero, December 14, 2017, 09:08:42 AM

Previous topic - Next topic

safranero

Hello,

After of read differents manuals to installation of subversion in Centos that not works in centos web panel I want to public my instructions for installation of subversion.

First of all, I want to excuse of my bad english. Is more difficult to me explains the instrucctions in other language.

For the installation I use Centos 7 updated and CWP version: 0.9.8.375.

This installation is fresh, without any component aditional and any account created.

1. Firstly update your OS:

yum -y update

2. When centos updated you can reset your server for apply the changes if is necessary. I make it because is a fresh installation and don't have any service working.

reboot

3. Then, we install the necessary package for subversion.

yum install subversion mod_dav_svn

Anotation: I usually create a domain account before of step two and change the index.html in /home/<useraccount>/public_html/ for see that apache works fine. I make it because after of step two is likely that domain account showing the default index of apache because the configuration is not ok.

4. The next step and necessary is reinstall cwp-httpd. It's necessary because apache don't work after installation of subversion and the domain accounts don't works:

yum reinstall cwp-httpd

Anotation: For me not is necessary rebuild vhosts, but if don't working the vhosts you can rebuild from the panel.

5. By default the instalation of subversion and the modules saves the files in /etc/httpd/ and cwp uses /usr/local/apache for save the configurations of apache. Then we need copy these files:

cp /etc/httpd/conf.modules.d/10-subversion.conf /usr/local/apache/conf.d/

cp /etc/httpd/modules/mod_dav_svn.so /usr/local/apache/modules/
cp /etc/httpd/modules/mod_authz_svn.so /usr/local/apache/modules/
cp /etc/httpd/modules/mod_dontdothat.so /usr/local/apache/modules/


6. Now, we need edite the conf file of httpd:/usr/local/apache/conf/httpd.conf

You can use the prefered editor. I use nano.

We search or uncomment these lines:

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so


For uncomment you only have to delete "#" sign of first character line.

7. Next step is edit /usr/local/apache/conf.d/10-subversion.conf

Add the next lines in end of file

<Location /svn>
DAV svn
SVNParentPath /var/www/svn/
AuthType Basic
AuthName "SVN Repository"
AuthUserFile /etc/svn-auth-accounts
Require valid-user
</Location>


8. Now, we create the file for the users of svn

htpasswd -cm /etc/svn-auth-accounts <username>

Change <username> for your user.

If you want add more users the line is:

htpasswd -m /etc/svn-auth-accounts <username>

Because you not need create the file again.

9. Now, apply permissions and user to the file

chown apache.apache /etc/svn-auth-accounts
chmod 644 /etc/svn-auth-accounts


10. Okey, the configuration finished, now we can create our repository.

mkdir /var/www/svn
cd /var/www/svn

#Command to create our first repository
svnadmin create repo

#Change permissions
chown apache.apache repo/


11. Finally you needs restart apache:

systemctl restart httpd

All have to work fine, your accounts and your svn repo. You can probe your repo from your prefered web navigator.

http://<your_ip>/svn/repo

If all works fine shows a prompt for access to the repo with your created user.

A greeting!

safranero

I can't modify my post.

On the last step on the line:

chown apache.apache repo/

You use nobody against apache.

contatoricardosouza

i have a message on a commit using Tortoise SVN client


Commit to http://10.0.10.6/svn/repo1
Commit failed (details follow):
could not begin a transaction

help please
sory for my english rsrsrs

tanks friends

Mentea

The original post did not say to add the Subversion modules to http.conf:


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


Initially, even though I could browse the repository in a browser, I could not check anything out:

vn: E175013: Access to '/example/!svn/rvr/167/subdir' forbidden

This was from a modsec rule about 'REQUEST' headers.  I disabled the rule in the modsec.conf for the subdomain with the Subversion repository:


IfModule mod_security2.c>
SecRuleEngine On
SecRuleRemoveById 960032
</IfModule>


Lastly, and also firstly, I built Subversion from the source downloaded from an Apache Subversion mirror through https://subversion.apache.org/download.cgi.

The configure command that I used let 'make install' install the modules in /usr/local/apache/modules:


./configure --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/bin/apr-1-config --with-apr-util=/usr/bin/apu-1-config --with-lz4=internal --with-utf8proc=internal --with-apache-libexecdir


IIRC, I had to install the apr-util-devel and/or apr-devel packages to be able to run configure without fatal errors.

The Subversion installation instructions, including info about required libraries, is at https://svn.apache.org/repos/asf/subversion/trunk/INSTALL

Mentea

I had to remove two more rules to be able to commit successfully:


<IfModule mod_security2.c>
SecRuleEngine On
SecRuleRemoveById 960010
SecRuleRemoveById 960012
SecRuleRemoveById 960032
</IfModule>