Centos Apache SVN запрещен

Я использую centos 7, я установил httpd, svn и mod_dav_svn, я могу получить доступ к apache с помощью http://localhost.

мой /etc/httpd/conf.modules.d/10-subversion.conf выглядит так:

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

<Location /svn>
DAV svn
SVNParentPath /svn
AuthName "SVN repo"
AuthType Basic
AuthUserFile /etc/svn/svn-auth
AuthzSVNAccessFile /svn/authz
Require valid-user
</Location>

Создайте репозиторий svn командой:

cd /svn
sudo svnadmin create repo
sudo chown -R apache:apache repo

Затем настройте права пользователя для пользователей, отредактировав / svn / authz, который скопирован из / svn / repo / conf / authz

sudo cp /svn/repo/conf/authz /svn/authz

Однако, когда я получил доступ к http://localhost/svn/repo, он показал мне, что 403 запрещено, вы не У меня нет разрешения на доступ к / svn / репо на этом сервере.

мой каталог / svn:

[frank@localhost svn]$ ls
authz  repo

[frank@localhost svn]$ ls -l
total 4

-rw-r--r--. 1 root   root   1123 Nov 12 11:08 authz
drwxr-xr-x. 6 apache apache   80 Nov 12 11:01 repo

/ svn / authz

[groups]
admin = frank
general_user=test1

[/]
@admin=rw

[repo:/]
@general_user=r

В чем проблема?

----- Обновлено 14 ноября ------------

Я включил ведение журнала вроде

<Location /svn>    
DAV svn  
 …  
</Location>

CustomLog logs/svn_logfile "%t %u %{SVN-ACTION}e" env=SVN-ACTION

в / var / log / httpd есть файл svn_logfile, но он пуст.

-rw-r - r--. 1 apache apache 0 14 ноя, 22:32 svn_logfile

В error_log информация отображается как

[Mon Nov 14 22:32:15.789588 2016] [core:notice] [pid 6924] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Mon Nov 14 22:32:15.791536 2016] [suexec:notice] [pid 6924] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
[Mon Nov 14 22:32:15.828814 2016] [auth_digest:notice] [pid 6924] AH01757: generating secret for digest authentication ...
[Mon Nov 14 22:32:15.830345 2016] [lbmethod_heartbeat:notice] [pid 6924] AH02282: No slotmem from mod_heartmonitor
[Mon Nov 14 22:32:15.842779 2016] [mpm_prefork:notice] [pid 6924] AH00163: Apache/2.4.6 (CentOS) SVN/1.7.14 configured -- resuming normal operations
[Mon Nov 14 22:32:15.842858 2016] [core:notice] [pid 6924] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
[Mon Nov 14 22:32:25.641415 2016] [authz_svn:error] [pid 6933] (13)Permission denied: [client ::1:60550] Failed to load the AuthzSVNAccessFile: Can't open file '/svn/authz': Permission denied
[Mon Nov 14 22:32:25.641504 2016] [authz_svn:error] [pid 6933] [client ::1:60550] Access denied: 'frank' GET repo:/

но разрешение / svn / authz:

drwxr-xr-x. 4 apache apache 41 13 ноя 22:16 svn

-rwxrwxrwx. 1 apache apache 1120 12 ноя 22:58 authz

drwxr-xr-x. 6 apache apache 80 12 ноя, 11:01 репо


person frank    schedule 12.11.2016    source источник


Ответы (2)


Проблема в selinux.

После того, как я изменил контекст безопасности selinux для / svn с помощью

sudo chcon -Rv –-type = httpd_sys_content_t / svn

тогда я могу получить доступ к svn.

person frank    schedule 30.11.2016
comment
Просто нужно внести незначительные изменения для выполнения на Centos 7 sudo chcon -Rv --type = httpd_sys_content_t / svn - person Yamada; 15.09.2017

Затем настройте права пользователя для пользователей, отредактировав / svn / authz

Вам следует дважды проверить правила доступа, которые вы указали в authz файле. Должно быть правило доступа, например

[repo:/]
* = r

* = r означает Все - только чтение. Прочтите о правилах доступа и синтаксисе authz файла в SVNBook | Авторизация на основе пути.

Кстати, вы можете включить ведение журнала и самостоятельно выяснить причину. Прочтите SVNBook | Ведение журнала Apache.

person bahrep    schedule 12.11.2016
comment
Я обновил / svn / authz в конце сообщения и прочитал предоставленную вами авторизацию на основе пути, кажется, что authz правильный. Я включу ведение журнала, как вы сказали позже, чтобы увидеть, в чем основная причина, а затем обратную связь. - person frank; 13.11.2016
comment
Я включаю ведение журнала, как сказано в вашей ссылке, есть svn_logfile в / var / log / httpd, но нет содержимого, однако error_log есть, подробности см. В обновленной части в сообщении. - person frank; 14.11.2016