Nova Resource:Wikistats/Documentation

From Wikitech

Wikistats

Description

Description::A project that collects and displays statistics for Mediawikis.

Purpose

Purpose::Collecting statistics about Mediawiki installs on the internet.

Anticipated traffic level

Anticipated Traffic Level::10-100 hits per day

Anticipated time span

Anticipated Time Span::indefinite

Project status

Project Status::currently running

Contact address

Contact Address::dzahn@wikimedia.org

Willing to take contributors or not

willing

Subject area narrow or broad

narrow {{#arraymap:statistics|,|x|}}

http://wikistats.wmflabs.org

Where to find the code

Wikistats consists of 2 parts, the puppet manifests (in the operations/puppet git repo) and the Debian package (in the operations/debs/wikistats repo).

The puppet part is divided into ./puppet/manifests/role/wikistats.pp,the role class which is applied to a node/instance, and the module in ./puppet/modules/wikistats/.

Manifests

  1. role::wikistats - configures host name and SSL certs depending on labs vs. prod, uses the main classes below, is all that needs to be included on an instance or node
  2. wikistats - the init.pp of the module, sets up user/group, installs package (if we're using labsdebprepo), uses the other classes
  3. wikistats::cronjob - defines a cron job to update a table
  4. wikistats::db - installs mariadb, php5-mysql
  5. wikistats::updates - installs php5-cli, creates log dir, has definitions for the update cron jobs and configures them
  6. wikistats::web - does the Apache setup

(Currently they do not automatically install the package yet which is done manually)

How to build the Debian package

  1. git clone https://gerrit.wikimedia.org/r/p/operations/debs/wikistats
  2. cd wikistats
  3. "debuild" (signed) or "debuild -us -uc" (unsigned)
  4. cd ..
  5. optional: check which files would be installed by this: dpkg-deb -c wikistats_*_all.deb
  6. install: dpkg -i wikistats_*_all.deb