PM Software Stack
PMSS, short of PM Software Stack is a compilation of scripts to manage single server side seedbox configuration, turning instantly and conveniently an regular Debian 5.0 server into a seedbox. The PMSS does not contain multiserver management utilities nor clustering support out-of-box, but does include PM Master GUI remote update features. Debian 6.0 squeeze support is still in unstable status but several production servers already do exist.
Contents
General features
- Semi-automatic installation
- Fast and easy creation of new user accounts with quota and rTorrent resource limits, etc.
- Easy user resource reconfiguration
- Autonomous Lighttpd configuration
- Autonomous configuration of basic server features
- Compiling rTorrent + libTorrent + Quota + XMLRPC from source.
- Multiple redundancy levels for rTorrent
- Lighttpd redundancy / autorestart
- Basic server optimizations to maximize performance
- Terminate, Suspend/Unsuspend users
- Other basic management scripts
Using PMSS
See Category:PM Software Stack Guides
Changelog
23/5/2011
- terminateUser.php http password deletion fix, text fixes, executability.
- checkHttpd.php output lighttpd output, killall -9 lighttpd to ensure shutdown, http fetch mute removed so error gets logged
- update.php: removed apt updates because soft.sh already does this
- crons: increased check http to 4 minute intervals (avoid http timeout period issues)
18/5/2011
Temporary fix to bypass userDb until fully utilized. You may use this update or use /scripts/util/populateUserDb.php to fix the issue.
- Changed listUsers.php to always use systemUsers.php, as fixing userDb saving introduced a bug where ie. checkInstances was not working fully (using userDb, which lacks most users in most servers)
16/5/2011
Few bug fixes and minor features introduced.
- Update script order of items.
- Update script apt-get options for additional package installation lacked auto confirm.
- Update script support for "step 2", /scripts/util/update-step2.php is included if present, thus supporting dynamic updates
- Update script execute binary line added, so it can actually be executed simply by ./update.php
- /scripts permission fix, only root should have anykind of access (no execute or read for others)
- Support for root additional items via /etc/seedbox/config/root.cron.additional
- Add user script minor cleanup, additional commenting.
- Suspend script comments
- simple terminate user script, ALPHA -> not feature complete yet.
Updating from 27/03/2011 release or earlier
cd ~; bash soft.sh; php /scripts/update.php
Updating from 15/5/2011 release
php /scripts/update.php
15/5/2011
Couple important new features introduced, several bug fixes.
- Added lighttpd status checking and auto-restart (very rudimentary)
- Fixed typo in /scripts/util/userConfig.php
- Added /etc/seedbox/config/root.cron
- /scripts/util/quotaFix.php now echoes results (also turns quota off, no need to turn it off first)
- proftpd config update (remote) with MaxClientsPerUser, MaxClientsPerHost, run /scripts/util/ftpConfig.php
- users class now supresses error if runtime db is not found
- users class now saves the user db upon save
- users class deconstructor added to save users db upon exit
- modules support code begun (version for highly dynamic with multiple hooks etc.)
- Changed update.php to a very basic one, as the remote capabilities are not being employed currently
- Rudimentary module /etc/seedbox/module/basic/addUser.php for ultra simplistic user addition module (ie. custom configs, limitations).
- Basic suspend & unsuspend capabilities (untested ALPHA)
- skel permissions fixed
updating
bash soft.sh; php /scripts/update.php
27/03/2011
This is primarily a bug fix and code quality release.
- Set shell to /bin/bash upon user creation
- Set shell to /bin/bash when using userConfig
- quotaFix.php now turns quota off before attempting quota check
- quotaFix.php now displays quota info before and after check
- Lots of comments added to all code files touched
- userConfig.php $filesLimitPerGb was undefined - hardcoded 500
- update.php minor changes
- default version now set to 1, in preparation to take it into production
- startRtorrent: codestyle fixes, Made error messages more clear, named rTorrent screen session to "rtorrent"
Installing on Debian 6.0 Squeeze
At the very least you need to remove quota compilation from installation, and the line with rar installation for apt-get is not working. The correct package in squeeze is unrar-free. After installation complete you need to run:
/usr/sbin/lighty-enable-mod fastcgi /usr/sbin/lighty-enable-mod fastcgi-php /etc/init.d/lighttpd force-reload
Among a lot of environment changes, and probably a few added packages as well. The default in Debian 6.0 are quite poor for server environments, or general shell usage. For example, VI enhanced is lacking syntax highlighting, some autocomplete features work somewhat illogically compared to 5.0 etc.
The list of changes required for Debian 6.0 is quite extensive for optimal experience, but above instructions will get you started.