MPOS stands for Mining Portal Open Source. Issue tracker is now closed since it's not maintained anymore.
Go to file
2013-05-16 14:56:08 +02:00
cronjobs added shebang for cronjobs 2013-05-16 14:54:43 +02:00
public moved more stats to stats class 2013-05-16 14:56:08 +02:00
sql adding index to datetime field in archives for later time interval searches 2013-05-14 16:12:36 +02:00
.gitignore initial import of file base of my WIP 2013-05-06 14:11:38 +02:00
CHANGELOG.md updated documentation and changelog 2013-05-09 12:18:53 +02:00
LICENSE initial import of file base of my WIP 2013-05-06 14:11:38 +02:00
README.md Update README.md 2013-05-14 23:55:12 +02:00

Description

mmcFE-ng is a web frontend for Pooled LTC Mining.

This is based on mmcFE, the original work by Greedi: https://github.com/Greedi/mmcFE

After working a few days trying to learn to run my own pool and the systems behind it I figured I'd look a bit deeper in the code to understand how it works. While doing so I also migrated the existing code over to my own framework so maintenance would be easier in the future.

Requirements

This setup has been tested on Ubuntu 12.04, Ubuntu 13.04 and CentOS. It should also work on any related distribution (RHEL, Debian). For support on how to get litecoind or pushpoold to work, please ask in the appropriate forums.

  • Apache2
  • libapache2-mod-php5
  • PHP 5.4+ (5.3 might work too)
  • php5-mysqlnd
  • php5-memcached
  • MySQL Server
  • mysql-server
  • memcached
  • pushpoold
  • litecoind

Installation

Please ensure you fullfill the minimal installation requirements listed above and install any missing packages or software.

Download Source

Download the (stable) master branch from Github:

git clone -b master git://github.com/TheSerapher/php-mmcfe-ng.git mmcfe-ng

Or, if you are not using git, use the ZIP file provided:

wget https://github.com/TheSerapher/php-mmcfe-ng/archive/master.zip
unzip master.zip
mv php-mmcfe-ng-master mmcfe-ng

Permissions

Please ensure your webuser (e.g. www-data, apache) has write access to the mmcfe-ng/public/templates/compile folder! Otherwise compiled templates can not be stored:

sudo chown www-data mmcfe-ng/public/templates/compile

Apache2 Configuration

Please point your website document root to the mmcfe-ng/public folder and enable auto-index for index.php.

Memcache

Please install and start a default memcache instance. Not only would you need one for pushpoold but the statistics page is storing data in memcache as well to improve performance.

Configuration

Please create the mmcfe-ng/public/include/config/global.inc.php configuration from the supplied template mmcfe-ng/public/include/config/global.inc.dist.php.

Pushpoold

Please ensure the passwords are read from the proper table by adding this to your configuration:

  # database settings
  "database" : {
    "engine" : "mysql",
    "port"    : "3306",
    "name" : "mmcfeng_database_name",
    "username" : "someuser",
    "password" : "somepass",
    "sharelog" : true,
    "stmt.pwdb":"SELECT `password` FROM `workers` WHERE `username` = ?",
    "stmt.sharelog":"INSERT INTO shares (rem_host, username, our_result, upstream_result, reason, solution) VALUES (?, ?, ?, ?, ?, ?)"
  },

Database

Now that the software is ready we need to import the database. You will find the SQL file in the mmcfe-ng/sql folder. Import this file into an existing database and you should have the proper structure ready.

TODO

I tried to cover most features available in mmcFE. There might be some missing still (like graphs, some stats) but if you figure there is a core function missing please let me know by creating an Issue marked as Feature Request.

Disclaimer

This is a WIP Project. Most functionality is now added, the core features are available and the backend cronjobs are working. If you encounter any problems related to the code please create a new Issue