On 08/30/2014 08:27 AM, Stephen Adler wrote:
Hi All,
I'm having trouble with httpd and my subversion repository setup. I'm
using mod_dav_svn apache module to access my repository through httpd.
So here's the rub. I have everything configured and when I go to
update a file, I get an error that a particular file is not readable.
(permission denied)
[Sat Aug 30 08:05:27.432294 2014] [:error] [pid 2063] (20014)Internal
error: [client 71.163.254.54:49330] Can't open file
'/export/telacode/base/SVNRepositories/TelaCodeRepository/format':
Permission denied
The odd bit is the file is world readable.
[root@telacode ~]# ls -l
/export/telacode/base/SVNRepositories/TelaCodeRepository/format
-r--r--r--. 1 softadmin telacoderepository 2 Feb 12 2007
/export/telacode/base/SVNRepositories/TelaCodeRepository/format
The solution to my problem is to restart apache with the command
'apachectl restart'. Then I can update my repository through the http
mod_dav_svn.
The file system is located on a raid 5 array
[root@telacode ~]# df /export
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/md3 1892209456 129889412 1664627680 8% /export
and I'm thinking that the process which mounts/activates the file
system is slower than the apache service startup process. (rhel 7 now
uses systemd instead of sysVinit).
So, any ideas on how to delay apache startup so that it is guaranteed
to start after the /export file system is fully mounted and available
to the system?
Thanks. Steve.
_______________________________________________
Discuss mailing list
[email protected]
http://lists.blu.org/mailman/listinfo/discuss
Answering my own question.... I learned about 'systemd-analyze plot'.
From this nice graphical display of the startup process, I realized
that my ypbind.service was taking a bit of time. (I'm working on
migrating to LDAP at some later point...) Since there are a lot of
permission issues set through ypbind, I thought it best to delay staring
up apache until after the ypbind service was working. Thus all it took
was to add ypbind.service to /usr/lib/systemd/system/httpd.service file
in the 'After' tag list.
-------- cat /usr/lib/systemd/system/httpd.service ------
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target ypbind.service
[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/httpd
ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND
ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
ExecStop=/bin/kill -WINCH ${MAINPID}
# We want systemd to give httpd some time to finish gracefully, but
still want
# it to kill httpd after TimeoutStopSec if something went wrong during the
# graceful stop. Normally, Systemd sends SIGTERM signal right after the
# ExecStop, which would kill httpd. We are sending useless SIGCONT here
to give
# httpd time to finish.
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target
-----------------------------
and now after a fresh reboot, my subversion repository access through
httpd seems to be working again.
Cheers. Steve.
_______________________________________________
Discuss mailing list
[email protected]
http://lists.blu.org/mailman/listinfo/discuss