What we need
1) Git (of course!)
2) Redmine
3) Apache Server
Procedure
1) Install all the necessary components respectively
sudo apt-get install apache2
sudo apt-get install mysql-server
sudo apt-get install redmine-mysql
sudo apt-get install libapache2-mod-passenger
sudo apt-get install redmine
sudo apt-get install git-core
2) Set up soft link from redmine source to the Apache source
sudo ln -s /usr/share/redmine/public /var/www/redmine
3) mod passenger needs www-data to execute, add the following to /etc/apache2/mods-available/passenger.conf
vi /etc/apache2/mods-available/passenger.confPassengerDefaultUser www-data
4) Add redmine's web directory to Apache2's sites-available/default
5) Setup plugin linkage
RailsBaseURI /redmine
PassengerAppRoot /usr/share/redmine
RailsEnv production
PassengerResolveSymlinksInDocumentRoot on
ln -s /var/cache/redmine/default/plugin_assets /usr/share/redmine/public/
6) Create new repository (server side), note that the directory should be with owner "www-data"
cd /var/wwwmkdir test-repo.gitcd test-repo.gitgit --bare initgit update-server-infochown -R www-data.www-data .
7) Enable webDAV
a2enmod dav_fs
a2enmod dav
If high security is required, carry on, if not, restart apache and all services will be done
8) Create the following file
/etc/apache2/conf.d/git.conf
9) Configure the repository path for authentication
DAV on
AuthType Basic
AuthName "Git"
AuthUserFile /etc/apache2/passwd.git
Require valid-user
10) Create user which can access the repository
htpasswd -c /etc/apache2/passwd.git
11) Restart Apache service
/etc/init.d/apache2 restart
Done! You have made a git VCS with redmine geared!
Almost forgot, modifying the config file in .git directory is necessary for authentication when pushing
[remote "origin"]fetch = +refs/heads/*:refs/remotes/origin/*url = http://username:password@git.repository.url/repo.git
References:
- Linking git remote server to Apache
http://blog.bobbyallen.me/2012/07/23/installing-a-git-server-using-apache-webdav-on-ubuntu-server-12-04/
- Installing Apache + Git + Redmine
http://blog.chiichen.com/2014/05/raspberry-pi-redmine.html
- Git config fix on http/https authentication
http://stackoverflow.com/questions/5264949/cannot-push-git-to-remote-repository-with-http-https
- Others
https://randomthoughtsgr.wordpress.com/2011/10/17/redmine-sub-uri-and-apache-configuration/
沒有留言:
張貼留言