Я теряю голову над этим, я нахожусь в процессе миграции веб-сайта и сервера SVN на новый хост Centos, последние несколько дней я безрезультатно пытался заставить SVN работать.
Мне удалось получить его для аутентификации, но он возвращается после входа в систему в 404.
Сегодня утром для теста я сделал новую установку Centos 7, отключил selinux и IPV6.
и выполнил следующие команды
yum install httpd subversion mod_dav_svn
vi /etc/httpd/conf.modules.d/10-subversion.conf
Alias /svn /var/www/svn
<Location /svn>
DAV svn
SVNParentPath /var/www/svn/
AuthType Basic
AuthName "SVN Repository"
AuthUserFile /etc/svn-auth-accounts
Require valid-user
</Location>
htpasswd -cm /etc/svn-auth-accounts testuser
New password:
Re-type new password:
Adding password for user testuser
mkdir /var/www/svn
cd /var/www/svn/
svnadmin create repo
chown apache.apache repo/
systemctl restart httpd.service
systemctl enable httpd.service
Теперь это должно настроить базовое репо на ipaddress / svn / repo, но я не получаю ничего, только страницу 404.
Я пробовал следовать руководству svn http://svnbook.red-bean.com/en/1.7/svn.serverconfig.httpd.html Я уменьшил конфигурацию сервера до минимально возможной сборки
<Location /repos>
DAV svn
SVNPath /var/www/svn/repo
</Location>
Он по-прежнему возвращает ошибку 404.
Я попытался поместить конфигурацию для svn в conf.d в файл с именем svn.conf, но безрезультатно.
systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2019-06-28 14:08:46 AEST; 4s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 6272 (httpd)
Status: "Processing requests..."
CGroup: /system.slice/httpd.service
├─6272 /usr/sbin/httpd -DFOREGROUND
├─6273 /usr/sbin/httpd -DFOREGROUND
├─6274 /usr/sbin/httpd -DFOREGROUND
├─6275 /usr/sbin/httpd -DFOREGROUND
├─6276 /usr/sbin/httpd -DFOREGROUND
└─6277 /usr/sbin/httpd -DFOREGROUND
sestatus
SELinux status: disabled
Я знаю, что в Ubuntu вам нужно включить моды для Apache, чтобы они работали, я не могу найти нигде, где говорится, что это также необходимо сделать для Centos.
Может ли кто-нибудь пролить свет на то, что здесь происходит, я действительно потерялся, показывает httpd error.log
[Fri Jun 28 14:21:49.153012 2019] [auth_digest:notice] [pid 6260] AH01757: generating secret for digest authentication ...
[Fri Jun 28 14:21:49.153800 2019] [lbmethod_heartbeat:notice] [pid 6260] AH02282: No slotmem from mod_heartmonitor
[Fri Jun 28 14:21:49.156392 2019] [mpm_prefork:notice] [pid 6260] AH00163: Apache/2.4.6 (CentOS) SVN/1.7.14 configured -- resuming normal operations
[Fri Jun 28 14:21:49.156430 2019] [core:notice] [pid 6260] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
Насколько я могу судить, ленивцы - это обычная проблема, которую нельзя игнорировать https://stackoverflow.com/questions/10612242/lbmethod-heartbeatnotice-no-slotmem-from-mod-heartmonitor-error-after-insta#17451995 https://stackoverflow.com/questions/10612242/lbmethod-heartbeatnotice-no-slotmem-from-mod-heartmonitor-error-after-insta
Server version: Apache/2.4.6 (CentOS)
Server built: Apr 24 2019 13:45:48
svn, version 1.7.14 (r1542130)
compiled Apr 11 2018, 02:40:28
Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) modules are available:
* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
mod_dav_svn-1.7.14-14.el7.x86_64 already installed and latest version
Дай мне знать если тебе нужно что-нибудь еще
Спасибо, чуть меньше волос
Ты почти там. Устанавливать SvnPath
к /var/www/svn
и перейти к http: // локальный / репозиторий / репо.
Дальнейшие шаги:
semanage fcontext
если нужно. Скорее всего semanage fcontext -a '/var/www/svn(/.*)?' -t httpd_sys_rw_content_t -u system_u -r object_r
для вашего варианта использования. Смотря на httpd_selinux (8), это уже должно быть.restorecon -Rv /var/www
mod_ssl
, видеть этот для подробностей. Немного самоуверенный, но полный)