CentOS 7: Get loggerhead to work
I have been trying to get loggerhead to work on a CentOS 7 system. I do have a functional loggerhead on a CentOS 6 system and an older Mandriva Enterprise Server 5.2 system. It was trivial to get loggerhead to work on these other systems, but CentOS7 is proving to be difficult. I have been testing serve-branches on localhost using `lynx http://
CentOS 6 installation has the following (?relevant?) packages:
$ rpm -qa | egrep '(^bzr)
python-
bzrtools-
bzr-2.1.
python-
loggerhead-
python-
python-
python-
These were all provided by either CentOS or EPEL packages as indicated.
My testbed branch was created like this:
$ mkdir ~/bzr/project
$ cd ~/bzr/project
$ bzr checkout bzr+ssh:
Getting loggerhead to work was as simple as:
$ serve-branches ~/bzr/project/blah
$ lynx http://
Note that this was done with SELinux in enforcing mode and I didn't have to do anything special to make it work.
CentOS 7 complicates things. Neither the CentOS nor EPEL distribute loggerhead or python-simpletal as packages. I went through various contortions trying to re-compile source rpms to provide missing resources, but never got anywhere, so I backed off and did python setup.py install from tarballs obtained from loggerhead and simpletal web sites.
The CentOS 7 (?relevant?) installed packages for comparison are:
$ rpm -qa | egrep '(^bzr)
python-
python-
bzrtools-
bzr-doc-
bzr-2.5.
python-
To avoid mucking with the distribution site-packages directory permissions, I set up my own user-accessible site-packages and confirmed the following python setup deployed the expected resources.
$ python setup.py install --prefix=/home/app
$ export PYTHONPATH=
Since this server is hosting the Bazaar repo, I replicated the test with something like:
$ mkdir ~/bzr/project/blah
$ bzr checkout /path/to/repo blah
$ /home/app/
$ lynx http://
Lynx reports:
Alert!: HTTP/1.0 404 Not Found
I've had this same behavior in all the various configurations I've tried. Even though I can't see evidence that SELinux is getting in the way, I set SELinux to permissive to simplify the unknowns.
After a lot of struggling with serve-branches (I do not have experience debugging python applications), I looked at the start-loggerhead and stop-loggerhead scripts. They aren't particularly friendly scripts, but I did get them "working" in an environment something like the following (but I don't know for sure that all the steps are required at this point):
$ mkdir ~/bzr/logs
$ mkdir ~/bzr/cache
$ mkdir ~/bzr/loggerhea
$ cp /home/apps/
$ cd ~/bzr
I created /etc/loggerhead
title = 'branches in loggerhead'
log.roll = 'weekly'
[bazaar]
name = 'bazaar'
cachepath = '/home/
[[bzr.dev]]
folder = '/home/
description = "blah development branch"
I don't know that the above is an appropriate loggerhead.conf setup, BUT, this DOES NOT result in a 404 error! serve-branches ALWAYS gave a 404 error. This does not work though, as the browser page contains only the text "loggerhead branches" in the upper right corner. There are no projects or other links shown. This seems like progress, but I don't know why serve branches doesn't give this minimal result, and, I don't know what path to give the browser to have any hope of getting branch data to show.
The nice thing about the start-loggerhead script is that it writes access.log, error.log, and debug.log files (serve-branches gave this info in the console). There are no errors. The debug log shows messages characteristic of those that appear in a working installation. The access log shows the accesses by lynx.
I posted to the Bazaar users mailing list yesterday with no hits so far and I don't really know what to do/try next in terms of effecting a repair or collecting more debug data that would help someone figure out what is going wrong.
On the CentOS 6 server, I see a /etc/loggerhead
While trying to build RPMs to install missing dependencies of loggerhead, I found that rebuilding one loggerhead RPM requires python-sqlite2 for the RPM to install. I don't see information on the loggerhead that lists this as a dependency otherwise, but suppose that if a back-end database isn't working, then perhaps that could explain some issues.
The CentOS 6 server has:
sqlite-
python-
qt-sqlite-
The CentOS 7 server has:
sqlite-
sqlite-
python-
The MES 5.2 server has:
libsqlite0-
php-pear-
libsqlite3-
php-sqlite-
libsqlite3_
CentOS 7 has systemd. None of the other working systems have systemd, but I could try this all out on a Mageia system to prove that should not be an issue.
Any ideas how to proceed with getting loggerhead up on this system, or get some better data on what is broken?
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- loggerhead Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Kevin Bulgrien
- Solved:
- Last query:
- Last reply: