Skip to content

mhmyasser/ntppool

 
 

Repository files navigation

NTP Pool Project

This is the code for the NTP Pool project, http://www.pool.ntp.org/

See the LICENSE file for detailed copyright and licensing information.

Installation instructions

Quick and dirty install instructions; email ask@develooper.com for help.

export DIR=`pwd`/ntppool
git clone http://github.com/abh/ntppool
cd ntppool
git submodule update --init

Development under Docker

If you have Docker installed you can run a container with most of the dependencies already ready with

cp combust.docker.conf.sample combust.docker.conf
./docker/app

(Edit hostnames and database config in the new file after copying it.)

The docker container will "export" the web application to port 8299 on the docker host. If you are running Docker on OS X or Windows it will be running in a virtual machine so the IP will be different than "localhost".

You can also run the other utilities, generally with a variation of

./docker/app sh ./pool zone

This for example would generate the json DNS data for the GeoDNS server.

Non-Docker install

The easiest way to install Perl 5.16.x (if your system didn't come with this) is to use perlbrew:

curl -kL http://install.perlbrew.pl | bash
perlbrew install perl-5.16.1
perlbrew use perl-5.16.1

# Other dependencies
sudo port install libgeoip

# install a bazillion modules from CPAN, use -n to not test each module,
# this will take a while.
mkdir cpan
cpanm -L cpan < .modules

Setup the configuration file:

cp combust/combust.conf.sample combust.conf
edit combust.conf 
   # setup the database section with an "ntppool" database
   # add "ntppool" to the "sites = ... " list.
   # setup a [ntppool] section at the bottom

Configure mysql and the initial tables:

# Your MySQL server needs timezone data loaded, if it doesn't have it, run:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
mysqladmin -uroot create ntppool

$CBROOT/bin/cmysql ntppool < sql/tables.sql
$CBROOT/bin/cmysql ntppool < sql/zones.sql
$CBROOT/bin/database_update ntppool
$CBROOT/bin/database_update combust
$CBROOT/bin/database_update ntppool

Start the web server:

export CBROOTLOCAL=$DIR
export CBROOT=$DIR/combust

make templates

$CBROOT/bin/httpd

Monitoring system

To setup a monitoring system in the 'monitors' table, run

./pool addmonitor email@example.com 127.0.0.1 v4

It will return an api key to be used with the ./monitor script.

License

  • Copyright 2005-2012 Ask Bjoern Hansen, Develooper LLC

  • Copyright 2003-2005 Adrian von Bidder

    Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Releases

No releases published

Packages

No packages published

Languages

  • Perl 95.4%
  • PLpgSQL 2.3%
  • Shell 1.5%
  • JavaScript 0.8%