Go Back   HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials > ISPConfig 3 > Developers' Forum

Do you like HowtoForge? Please consider supporting us by becoming a subscriber.
Reply
 
Thread Tools Display Modes
  #1  
Old 2nd November 2008, 13:46
quentusrex quentusrex is offline
Senior Member
 
Join Date: May 2008
Posts: 174
Thanks: 6
Thanked 11 Times in 7 Posts
Default SVN + Trac module for ISPConfig3

I'm interested in making a module that will allow the ISPConfig3 admin to allow clients to build svn and trac projects. Is anyone else interested in this module? Also, could someone send me links to ISPConfig3 module documentation? I'm considering setting something up along the lines of the way phpmyadmin is setup. One install, but have the client specific files in their web folders. and the client apache configuration in their vhost file.
Reply With Quote
Sponsored Links
  #2  
Old 2nd November 2008, 14:06
till till is offline
Super Moderator
 
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 36,490
Thanks: 835
Thanked 5,533 Times in 4,351 Posts
Default

The Link to the developer documentation is in the sticky post of this forum named "ISPConfig 3 Developer documentation".
__________________
Till Brehm
--
Get ISPConfig support and the ISPConfig 3 manual from ispconfig.org.
Reply With Quote
  #3  
Old 2nd November 2008, 14:34
till till is offline
Super Moderator
 
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 36,490
Thanks: 835
Thanked 5,533 Times in 4,351 Posts
Default

One note. If you are searching for documentation of the software installation function, there is no documentation available yet. The software packages are .zip files containing at least a setup.sh script which is executed when the package gets installed plus the files that shall be installed.

I attached a package named test.zip
Attached Files
File Type: zip test.zip (151 Bytes, 304 views)
__________________
Till Brehm
--
Get ISPConfig support and the ISPConfig 3 manual from ispconfig.org.
Reply With Quote
  #4  
Old 2nd November 2008, 14:37
quentusrex quentusrex is offline
Senior Member
 
Join Date: May 2008
Posts: 174
Thanks: 6
Thanked 11 Times in 7 Posts
Default

Is it better for ISPConfig3 modules to use a web directory such as www.mydomain.com/webmail/ ? or use a subdomain such as: webmail.mydomain.com ?
Reply With Quote
  #5  
Old 2nd November 2008, 14:49
quentusrex quentusrex is offline
Senior Member
 
Join Date: May 2008
Posts: 174
Thanks: 6
Thanked 11 Times in 7 Posts
Default

Is there a way to manually upload a module into ISPConfig3? to install a custom module?
Reply With Quote
  #6  
Old 2nd November 2008, 15:01
quentusrex quentusrex is offline
Senior Member
 
Join Date: May 2008
Posts: 174
Thanks: 6
Thanked 11 Times in 7 Posts
Default

Would there be a problem with adding a folder in the client's /var/clients/clientX/webY/svn and /var/clients/clientX/webY/trac ???

This way they aren't viewable from the web, but they are managed in the client's web folder, and thus subject to the clients web space restrictions. Would this also be tracked by webalizer and subject to the clients bandwidth restrictions? That would be useful.
Reply With Quote
  #7  
Old 2nd November 2008, 15:34
till till is offline
Super Moderator
 
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 36,490
Thanks: 835
Thanked 5,533 Times in 4,351 Posts
Default

Quote:
Would there be a problem with adding a folder in the client's /var/clients/clientX/webY/svn and /var/clients/clientX/webY/trac ???
I dont see any problems with that.

Quote:
Would this also be tracked by webalizer and subject to the clients bandwidth restrictions?
+
That depends on how you access them. If they were accessed like www.domain.com/trac/, then yes. If you access them like trac.domain.com, they will not be part of the webalizer stats.
__________________
Till Brehm
--
Get ISPConfig support and the ISPConfig 3 manual from ispconfig.org.
Reply With Quote
  #8  
Old 2nd November 2008, 15:43
quentusrex quentusrex is offline
Senior Member
 
Join Date: May 2008
Posts: 174
Thanks: 6
Thanked 11 Times in 7 Posts
Default

Awesome. We'll see how it goes. here is my initial tutorial/build of the system. It allows for one install of trac and svn on the server, then allows easy install for each individual client. Thus it will be easy to add into a module to allow a user to have access to. :-D

This install is still rough. I need to test it a few more times, but it seems to work. It is initially designed to host a single project, but can easily be changed to host multiple projects.



1. sudo apt-get install apache2 libapache2-mod-python subversion-tools libapache2-svn python-setuptools subversion python-subversion

2. sudo easy_install Trac

3. sudo mkdir /var/clients/client1/web1/trac

4. sudo chown web1:client1 /var/clients/client1/web1/trac

5. vim /etc/apache2/sites-enabled/mydomain.vhost

Add the following near the end, but above the </VirtualHost>
================================

<Location /trac>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/clients/client1/web1/trac/testproject
PythonOption TracUriRoot /trac/testproject
PythonOption PYTHON_EGG_CACHE /tmp
</Location>

<Location /trac/login>
AuthType Basic
AuthName "myproject"
AuthUserFile /var/clients/client1/web1/trac/.passwd
Require valid-user
</Location>


<Location /svn>
DAV svn
AuthType Basic
AuthName "My Trac"
AuthUserFile /var/clients/client1/web1/svn/.passwd
AuthzSVNAccessFile /var/local/svn/svn.example.com/conf/authz
SVNPath /var/local/svn/svn.example.com
Require valid-user
</Location>

================================

6. sudo mkdir /var/clients/client1/web1/svn

7. sudo chown web1:client1 /var/clients/client1/web1/svn

8. sudo svnadmin create /var/clients/client1/web1/svn/<YourProjectNameHere>

9. sudo chown -R web1:client1 /var/clients/client1/web1/svn

10. sudo /etc/init.d/apache2 reload

11. sudo trac-admin /var/clients/client1/web1/trac/<YourProjectNameHere> initenv <projectname> sqlite:db/trac.db svn /var/clients/client1/web1/svn/<YourProjectNameHere>

12. sudo chown -R web1:client1 /var/clients/client1/web1/trac

13. sudo apt-get install build-essential graphviz htmldoc enscript

14. sudo rm /var/clients/client1/web1/svn/.passwd

15. sudo touch /var/clients/client1/web1/svn/.passwd

14. sudo rm /var/clients/client1/web1/trac/.passwd

15. sudo touch /var/clients/client1/web1/trac/.passwd

(so that trac can manage it's own users)
16. sudo chown web1:client1 /var/clients/client1/web1/trac/.passwd

17. Now some trac plugins:
sudo easy_install http://svn.edgewall.org/repos/genshi/trunk/
sudo easy_install http://trac-hacks.org/svn/accountmanagerplugin/trunk
sudo easy_install http://trac-hacks.org/svn/customfieldadminplugin/0.11
sudo easy_install http://trac-hacks.org/svn/eclipsetra...racrpcext/0.10
sudo easy_install http://trac-hacks.org/svn/iniadminplugin/0.11
sudo easy_install http://trac-hacks.org/svn/masterticketsplugin/0.11
sudo easy_install http://trac-hacks.org/svn/pagetopdfplugin/0.10/
sudo easy_install http://trac-hacks.org/svn/progressmetermacro/0.11
sudo easy_install http://trac-hacks.org/svn/ticketdeleteplugin/0.11
sudo easy_install http://trac-hacks.org/svn/tracwysiwygplugin/0.11
sudo easy_install http://wikinotification.ufsoft.org/svn/trunk

18. htpasswd /var/clients/client1/web1/svn/.passwd <username>

19. htpasswd /var/clients/client1/web1/trac/.passwd <username>

20. trac-admin /var/clients/client1/web1/trac/<YourProjectNameHere> permission add <username> TRAC_ADMIN

21. /etc/init.d/apache2 restart

Last edited by quentusrex; 2nd November 2008 at 16:01.
Reply With Quote
  #9  
Old 2nd November 2008, 15:51
quentusrex quentusrex is offline
Senior Member
 
Join Date: May 2008
Posts: 174
Thanks: 6
Thanked 11 Times in 7 Posts
Default

TracError: The user www-data requires read _and_ write permission to the database file /var/clients/client1/web1/trac/testproject/db/trac.db and the directory it is located in.


Should I change the ownership of these files to www-data???
Reply With Quote
  #10  
Old 2nd November 2008, 15:57
till till is offline
Super Moderator
 
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 36,490
Thanks: 835
Thanked 5,533 Times in 4,351 Posts
 
Default

Quote:
Originally Posted by quentusrex View Post
TracError: The user www-data requires read _and_ write permission to the database file /var/clients/client1/web1/trac/testproject/db/trac.db and the directory it is located in.


Should I change the ownership of these files to www-data???
Either that or make it world redable.

Another solution might be to use python as cgi (if thats possible) instead of mod_python together with suexec so the file can be owned by the web user and nobody else needs permissions to this file.
__________________
Till Brehm
--
Get ISPConfig support and the ISPConfig 3 manual from ispconfig.org.
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Proftpd + MySQL virtual users, can't connect geekman HOWTO-Related Questions 28 27th September 2010 19:03
ffmpeg Video support for ubuntu 7.10 [suphp-ispconfig] amaurib Installation/Configuration 13 16th February 2010 18:26
proFTPd passive mode problems bisbell Server Operation 8 6th August 2008 22:12
http://www.domain.com/ shows login.php instead of index file mtoom Installation/Configuration 20 27th February 2007 15:56
Webmin docs missing namit Server Operation 11 5th January 2006 10:51


All times are GMT +2. The time now is 07:42.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.