รัน SVN แล้วขึ้น error MKACTIVITY request

เจอปัญหารัน svn แล้วขึ้น error เลยนำมาแชร์ประสบการณ์ให้อ่าน

ตัวอย่างการรัน svn แล้วเกิดปัญหา

[user1@client ~]$ svn --username user1 import test_project https://192.168.1.1/svn/test_project/trunk/test_project -m 'init release'
svn: Server sent unexpected return value (500 Internal Server Error) in response to MKACTIVITY request for '/repos/test_project/!svn/act/...'

คอนฟิกที่ใช้เป็นการรัน svn โดยเขียน อ่าน ไฟล์ repos ผ่านทาง Apache DAV

ตัวอย่างคอนฟิกไฟล์ของ Apache เพื่อเก็บ svn repos บนเซิร์ฟเวอร์

    <Location /svn>
        DAV svn
        SVNParentPath /var/svn/repos
        # Limit write permission to list of valid users.
        <LimitExcept GET PROPFIND OPTIONS REPORT>
            # Require SSL connection for password protection.
            # SSLRequireSSL
            AuthType Basic
            AuthName "Authorization Realm"
            AuthUserFile /var/svn/.htpasswd
            Require valid-user
        </LimitExcept>
    </Location>

ตรวจสอบ error_log ที่เซิร์ฟเวอร์แล้ว มีข้อความประมาณ “couldn’t check user”

[root@server ~]# tail /var/log/httpd/ssl_error_log
[Mon Jul 26 15:56:08 2010] [crit] [client x.x.x.x] configuration error:  couldn't check user.  No user file?: /repos/test_project/!svn/act/...

ตอนแรกนึกว่าเป็นปัญหาเกี่ยวกับ permission ของไฟล์หรือไดเร็คทอรี พยายามแก้อยู่นาน จนกระทั่งเปลี่ยน chmod 777 ก็ยังไม่สามารถแก้ปัญหาได้

ลองแก้ปัญหาอยู่นาน ก็พบว่า ดันไปปิด module “mod_auth_basic” ในไฟล์คอนฟิก /etc/httpd/conf/httpd.conf ของ apache เลยทดลองเปิดขึ้นมา

LoadModule auth_basic_module modules/mod_auth_basic.so

ลองรัน svn อีกครั้ง ก็ยังขึ้น error เหมือนเดิม แต่ครั้งนี้ error_log ที่เซิร์ฟเวอร์เปลี่ยนไปเป็นบ่นเกี่ยวกับ “No groups file”

[user1@client ~]$ svn --username user1 import test_project https://192.168.1.1/svn/test_project/trunk/test_project -m 'init release'
svn: Server sent unexpected return value (500 Internal Server Error) in response to MKACTIVITY request for '/repos/test_project/!svn/act/...'
[Mon Jul 26 16:30:05 2010] [crit] [client x.x.x.x] configuration error:  couldn't check access.  No groups file?: /repos/test_project/!svn/act/...

ลองเปิด/ปิด module ต่างๆ อยู่นาน กระทั่งพบว่าต้องเปิดอีก module หนึ่งคือ “mod_authz_user”

LoadModule authz_user_module modules/mod_authz_user.so

หลังจากเปิด module ทั้งสองแล้วก็สามารถรัน svn ได้ตามปกติ

[user1@client ~]$ svn --username user1 import test_project https://192.168.1.1/svn/test_project/trunk/test_project -m 'init'
Authentication realm: <https://192.168.1.1:443> Authorization Realm
Password for 'user1':
Adding         test_project/index.php

ข้อมูลอ้างอิง

Leave a Reply

Your email address will not be published.