This forum is no longer active. Please post your questions to our new community site
Integrated Repository Control?
|
|
I was reading about the “Enable WS for repository management” option in Redmine and it says you need mod_perl to do it the “recommended” way. Is there an easy way to add Perl support without breaking the Redmine stack I installed? I don’t want to do anything that will cause future upgrade problems. Thanks! Scott |
|
|
Hi Scott, I’ve been reading about this feature and I don’t think there’s actually an easy way to enable this module, because we don’t bundle it with Apache. Thanks for the suggestion, we will include this improvement into our “project backlog” for future versions. Cheers |
|
|
Than you for the prompt reply! I look forward to the update. Scott |
|
|
This is kind of frustrating. I’ve actually got the Redmine stack installed on a 64-bit CentOS virtual server that already has essentially another full LAMP stack on it, including mod_perl. The Redmine stack has perl in it (which makes it hair-pullingly frustrating that there doesn’t seem to be any way to connect the stack’s Apache and Perl to each other). If I am figuring correctly, I should be able to set up DAV access to svn through either apache. If I do it through the Bitnami stack, I get up-to-date svn, but I can’t integrate authentication with Redmine. If I do it through the non-Bitnami apache, I think I could make the Redmine authentication integration work…but I’d be stuck using the svn 1.4.2 from CentOS (due to restrictions beyond my control, Bitnami is the only recourse available to me for using a more recent version of svn). If anybody figures out a way to make this work, please share it. |
|
|
We will add in our TODO list to include mod_perl in the Stack. Thanks for the suggestion. There are other threads where users configured successfully Apache with mod_dav. This link could be helpful for you: |
|
|
mod_dav will work fine. It’s the mod_perl-based setup for letting the Redmine user database control the dav access to the repositories that some of us are looking for. I’m actually very close (I think) to a solution using a proxy (unfortunately, a solution that probably wouldn’t be very useful to the majority of users) if I can just figure out why the connection to the database is failing. |
|
|
I believe I have it working using the proxy method. I will try to make certain of it and then figure out what the heck I did, so I can post it here in case it is of use to anyone. However, I kind of suspect that wanting to use Bitnami Redmine+Subversion but having a non-Bitnami Apache+mod_perl available on the same server is something of a niche case. |
|
|
Thanks, please post your solution when you have a chance, this would be very useful for other users. |
|
|
Okay, this is what I believe to be the important parts of my setup. In the Bitnami stack (which runs on port 8080), in apps/redmine/conf/redmine.conf, underneath the proxy directives for the balancer: <Location /svn> Deny from all <Location /svn-private> The first block basically establishes DAV access to my svn repositories for the local machine only (I suspect I don’t actually need all three “Allow From” lines). The second block is the read-only access for Redmine’s repository browser, just so I can point the app there to make sure there’s no way Redmine can accidentally alter the repository. In /etc/httpd/conf.d/subversion.conf, for the non-bitnami Apache server (with mod_perl) running on port 80: <Location /svn/> RedmineDbUser “bitnami” Thus, subversion (aside from Redmine’s repo browser, which just goes straight to the svn-private on port 8080) is accessed via the port 80 server, which passes access control to Bitnami Redmine through mod_perl and then proxies the actual DAV access to the port 8080 server so as to be able to use Bitnami’s up-to-date svn instead of CentOS’s 1.4.2. I think I also might have had to grant full database access to the bitnami user in MySQL. |
|
|
Thanks a lot for posting this tutorial.
It is in the Redmine database configuration file: installdir/apps/redmine/config/database.yml |
|
|
A quick note of possible relevance: the December 15 release of RubyStack 2.0-1 comes with mod_perl, which should make RubyStack + Redmine module capable of supporting Redmine’s recommended integration approach without the need for a separate Apache server (I may be trying that later just to make sure I’m right). If anybody’s looking for such a solution right away, without waiting for a possible mod_perl-enabled Redmine standalone, this is probably a better way to go. Speaking from personal but limited experience to anyone who is concerned about the relative complexities, I don’t think the stack + module approach is significantly more complicated to install than a standalone app stack. |
|
|
Further update: This is still not quite as simple as one might hope, because the perl provided in the Rubystack apparently doesn’t come with the DBI module and I don’t even remotely understand the errors I get when I try to install it…certainly not well enough to want to try forcing the install. |
|
|
Hi, Yes you are right, the 2.0-1 Rubystack ships mod_perl to let to integrate Repository Control with Redmine in the future. We only ship this module but we have no time to configure Redmine yet. If you try to configure it using the bundled mod_perl, please let us know if you have any issue. We are glad to configure Redmine using this module in the next release. Thanks. |
|
|
The biggest remaining obstacle seems to be that the stack doesn’t come with the DBI perl module (or, presumably, the DBD’s to go with it). So far I have been unable to work around this, for reasons that I believe revolve around the fact that I have no idea how to install 32-bit perl modules into a Bitnami stack running on a 64-bit virtual machine. I think if DBI and DBD were there, I could just copy and paste most of my configuration except with the proxy workaround removed. |
|
|
We will try to include the Perl DBI module in the next release. Thanks for your time. |
|
|
It’s almost there now. I think the only thing missing now is the libdigest-sha1-perl module, which I couldn’t tell was missing until the latest version came out with the necessary DBI and DBD modules included. I am currently trying to figure out whether it should be possible to install modules onto the perl included in the stack. It seems like all the pieces are there, but so far I seem to be brought up short by the fact that ./perl -V:prefixin the bitnami perl bin directory returns prefix=‘/bitnami/rubystack-linux/output/perl’;which so far seems to mean I can’t try to install from CPAN. I’ll have to wait and try to work on that again next week. |
|
|
Hi, We will include the libdigest-sha1-perl module in the next release. Also we will fix the perl issue to could use cpan to install other modules. Thanks for your time. Cheers. |
|
|
Hi, We have included the libdigest-sha1-perl module in BitNami Redmine 0.9.2 and we have fixed the cpan error too. |
|
|
Awesome. I had actually come up with what I think was a workaround by getting MySQL to perform the sha1 hash instead of using the perl module, but I hadn’t tested it yet. I’m taking another shot at getting it working; here are the steps…(Quick note: I did this on a CentOS virtual machine) Install Bitnami Redmine stack 0.9.2 edit apache2/conf/httpd.conf The instructions at http://www.redmine.org/wiki/redmine/HowTo_confi… should work as written with two caveats. First, you need to get the right user. I think I determined that for my Bitnami stack it was root:daemon. I’ll come back and amend this if I determine I was wrong. Second, according to the page about actually setting up access control, I think the svn-private url is now superfluous, so keep that in mind if you use the —url parameter. You can go ahead and grab that location block for the sys directory and stick it into apps/redmine/conf/redmine.conf with the appropriate address. Next, move on to http://www.redmine.org/wiki/redmine/Repositorie… You should be able to use the recommended code block mostly unmodified. You will, of course, need to set the correct SVNParentPath, RedmineDSN, RedmineDbUser, and RedmineDbPass lines based on your configuration and apps/redmine/config/database.yml. I also ended up using a socket connection (I think it might have been necessary), so my RedmineDSN line looks like: RedmineDSN “DBI:mysql:database=bitnami_redmine;host=localhost;mysql_socket=/opt/redmine-0.9.2-0/mysql/tmp/mysql.sock”I haven’t tested the repository creation and access yet, but after following these steps I was able to start up and access the stack without a hitch. Every problem I’ve had with it in the past kept apache from running. I’ll post additional confirmation when I make sure that repository creation and access are working as expected. Thanks a ton for all your work at making it possible to do this with a Bitnami stack! (Next on my agenda…convince my higher-ups that bazaar is preferable to subversion and figure out how to adapt all this for bzr…) |
|
|
i am sorry for asking a dumb, beginner question :) thanx folks! |
|
|
@bweston Thanks for posting this quick-guide. I’m sure this post will be helpful for other BitNami users. |
|
|
@anandms I do not think so. This integration is for managing repositories from the application. |
|
|
Actually, anandms, the first howto link is about automating the generation of the repositories (create a new project with a repository enabled, and within ten minutes subversion will automatically be made ready for it) and the second link is about making Redmine control access to the svn server. The instructions for automatically creating the repository are, I believe, Linux-specific. The instructions for controlling access should work on Windows, I think, since I’m assuming the Windows stack still uses an Apache server. The paths will presumably be different. I have not tested it on Windows, however. |
|
|
bweston, thanks for your updates. my problem is that i am not an IT guy. i work in a factory! i am trying to introduce some basic project management discipline to our teams, in addition to have some document control system for our standard operating procedures and product specs. right now i am stuck with enabling svn repository views to all relevant users via redmine, but having to give them a separate user name and password for write permissions or a full checkout. And I have to manually keep editing text files to manage directory level access conrol :( but for binami stack i would not even have managed to install redmine. great work, guys!! i introduced the stuff to the team yesterday, and everybody’s all excited about it. my trouble will start when everybody starts using it. coming back to my problem, i have identified an AMPP stack which has perl and dbi. is it possible to make it work with the bitnami redmine? the instructions above are linux specific. |
|
|
@anandms As of the feb 10th version of the windows bitnami stack perl was not included; the linux version though contains perl pre installed. This makes things much more difficult to set up for windows users. I hope they change this in the future, but until then you appear to be on the right track; I had to do something similiar. It turned out it was better to get perl directly though through activeperl, and I had to be careful to use the multithreaded version (perl >= v5.10) of each of the required perl addons, as well as installing mod_perl for apache. It was not easy to set up, but I’ll share some notes I wrote down earlier: Once perl is installed to the correct folder, use ppm (included in the perl bin folder), something along the lines of: install DBI install http://cpan.uwinnipeg.ca/PPMPackages/10xx/DBD-m… install http://cpan.uwinnipeg.ca/PPMPackages/10xx/mod_p… Also, comment out redminecachecredsmax on the apache svn config file due to apache crashing when enabled. If you can get perl to work with your setup, the rest should be fairly easy. Hope some of this helps. |
|
|
Thanks! Great post, I’m sure this will be helpful for other bitnami users. |
|
|
OK, I’m trying to get this set up on a VM and found a few gaps. warning: something I’ve done broke mysql, follow in my footsteps carefully
then, run cpan. If this is the first time, it’ll prompt you for a pile of values – I accepted all defaults
Once cpan was all happy and presented a prompt, install the library
I discovered that it still wasn’t happy with the mysql connection. I think it wants to use a pipe as bweston did. The pipe is listed in the same file you found the database username/password info: apps/redmine/config/database.yml This is as far as I got. I mistyped “sudo ./ctlscript restart apach” (left of the e) and it restarted everything – but mysql didn’t come back. So, now I’m off to troubleshoot that. Thankfully I’m only working on a test server. |
|
|
ahh!! Don’t panic! mysql didn’t shut down completely and a server reboot fixed the problem. And my above steps worked! Thanks much bweston! My DSN looks like this: |
|
|
Was working on this late last night – now I realize I didn’t mention my environment. I’m working on the Bitnami Redmine stack 1.0.2-0 downloaded as the Ubuntu virtual machine. Following bweston’s steps mostly worked, except I had to perform the noted tasks first:
Open up (base)/apps/redmine/config/database.yml and note not only the username and password that you’ll need in later steps, but the database socket as well. Now you can follow bweston’s post above from Feb 12 after the “Install Bitnami stack” bit.
Note that your RedmineDSN will be something like: |
|
|
Nice guide, thanks for posting it. I’m sure that will be helpful for other BitNami users. |

