Drupal.org Git Daemons
This project is a proof of concept and intellectual excercise to demonstrate the use of SSH daemons and beanstalkd to maintain git repositories mapped to project module projects.
Drupal Git SSH Daemon
- Twisted 10.1.0
- Versioncontrol Git (and all dependencies)
- Versioncontrol Project (and all dependencies)
All install instructions are Ubuntu / Debian focused.
- On Ubuntu,
apt-get install python-twisted
- Ensure that you have easy_install installed (on debian/ubuntu
apt-get install python-dev python-setuptools).
- Download Twisted 10.1.0
- Untar Twisted
tar -xvf Twisted-10.1.0.tar.bz2
- Move into the Twisted directory
- Run the Twisted installer
pyton setup.py install
Configure the daemon
- Copy the default configuration file into the etc folder
cp drupaldaemons.cnf.default /etc/drupaldaemons.cnf
- Configure the daemon in the drupaldaemons.cnf to properly point to a local directory on your system and at your Drupal site where where Versioncontrol Project is installed and in use to manage permissions for your repositories.
Starting the daemon
For testing, the daemon can be started by moving into the root of this repository and typing
For a proper deployment, twistd should be used to run the daemon. If you have installed twisted via packages for your ditribution, you should have one init.d script that manages all of your twisted services. All you have to do is add the following line to the twistd configuration (usually located in
/etc/conf.d/twistd). Replace [uid] and [gid] with the user and group you would like to use to run the daemon and replace the path with the path where you checked out this repository. Don't forget to ensure that the user and group you are using have write access to the folder you specified in your config file.
TWISTD_OPTS="--uid [uid] --gid [gid] -y /usr/local/bin/Drupal.org-Git-Daemons/drupalGitSSHDaemon.tac"
sudo /etc/init.d/twistd restart