Giter Site home page Giter Site logo

ekinetirc / magirc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from h9k/magirc

0.0 3.0 0.0 15.75 MB

PHP Frontend for Denora IRC Statistics

Home Page: http://www.magirc.org/

ApacheConf 0.03% CSS 7.31% PHP 56.55% Smarty 24.77% JavaScript 4.17% HTML 0.75% C 6.43%

magirc's Introduction

MagIRC

Thank you for your interest in MagIRC, a PHP-based Web Frontend for IRC Services released under the GPLv3 license.

This software is a complete rewrite of phpDenora, a PHP-based Web Frontend for the Denora Stats project.

Meanwhile, MagIRC also works with Anope 2.0, which supersedes Denora. We recommend using Anope, since it is being actively maintained and has improved performance and stability over Denora. In case you want to migrate from Denora to Anope, we created a script for this task (see below).

Main features

  • REST service
  • Smarty templating engine
  • jQuery-based UI with AJAX interactions
  • HTML5 and CSS3
  • Easy installation
  • Administration panel
  • Slick design

Requirements

  • Web Server with PHP 5.3+ and the pdo_mysql, mcrypt and gettext modules installed
  • Web Browser supporting HTML5, CSS3 and JavaScript
  • Any of the following:
    • Denora Stats v1.5 server with MySQL enabled
    • Anope v2.0 with the m_mysql, m_chanstats and irc2sql modules enabled
  • Supported IRC Daemons: Bahamut, Charybdis, InspIRCd, ircd-rizon, IRCu, Nefarious, Ratbox, ScaryNet, Unreal

Magirc installation / upgrade

Using composer (recommended)

You need composer

  1. Execute the following command:
    • To install: composer create-project magirc/magirc
    • To update: composer update
  2. Use your web browser to navigate to the setup folder on your server and follow on-screen instructions. Example: http://yourpathtomagirc/setup/

Using a release package

  1. Download the latest MagIRC release package from magirc.org
  2. Extract the MagIRC archive to your web server and move its content to the MagIRC directory.
  3. Use your web browser to navigate to the setup folder on your server and follow on-screen instructions. Example: http://yourpathtomagirc/setup/

Using git

You a git client and composer

  1. Execute the following commands:
    • To install: git clone git://github.com/h9k/magirc.git and composer install
    • To update: git pull and composer update
  2. Use your web browser to navigate to the setup folder on your server and follow on-screen instructions. Example: http://yourpathtomagirc/setup/

Anope configuration

You need Anope 2.0.0 or later and the following modules enabled and set up:

m_mysql
m_chanstats
irc2sql

These modules are included in the Anope codebase under extra. Please refer to the Anope documentation on how to set those up.

Also, you will need additional database tables, views and stored procedures for the Anope database in order to get the data needed by MagIRC. Please look at the setup/sql/anope.sql file and adapt it if needed (table prefixes, etc.) and run it against your Anope database.

Note that you need the MySQL event_scheduler set to ON in the MySQL server. If you have enough rights, you can turn it on via SET GLOBAL event_scheduler = ON;.

Migrating from Denora to Anope

If you want to switch from Denora to Anope, please proceed as follows:

  1. Install Anope (see above)
  2. Shut down Denora
  3. Make Anope join the network and double check that it is working fine, e.g. the MySQL tables are being filled with data
  4. Configure the setup/tools/denora2anope.php script and then run it from command line with php denora2anope.php. Be patient and do not interrupt the process!

Denora configuration

Required Denora settings

Change this to a higher value, such as 15 days (15d) to keep information for a longer time. Important: the servercache value must NOT be smaller than the usercache value!

usercache 15d;
servercache 30d;

Change this to 1h

uptimefreq 1h;

Enable the following parameters by removing the '#' in front:

ctcpusers;
keepusers;
keepservers;

Disable the following parameter by adding a '#' in front:

#largenet;

Optional Denora settings

Limiting chanstats to +r users improves nick tracking. To use this feature enable the following parameters by removing the '#' in front:

ustatsregistered;

Web Server configuration

Apache

The AcceptPathInfo directive should be set to Default or On in the Apache configuration. It is by default on most servers.

To enable URL rewriting make sure your apache has the mod_rewrite module enabled. Then rename htaccess.txt to .htaccess and enable rewriting in the MagIRC Admin Panel. This is optional, MagIRC also works without rewriting on Apache.

It is also recommended, if you allow slashes / in your nicknames or channel names, to set AllowEncodedSlashes On

Nginx

Your Nginx configuration file should contain this code, if Magirc is in the document root :

index index.php index.html;
location / {
        try_files $uri $uri/ /index.php;
}

location ~ ^(/.*\.php)(/.*)?$ {
        try_files $1 =404;
        include /etc/nginx/fastcgi.conf;
        fastcgi_pass  backend;
        fastcgi_index index.php;
}

or this for a directory in document root (document_root/magirc_directory) :

index index.php index.html;
location /magirc_directory {
        try_files $uri $uri/ /magirc_directory/index.php;
}

location ~ ^(/magirc_directory/.*\.php)(/.*)?$ {
        try_files $1 =404;
        include /etc/nginx/fastcgi.conf;
        fastcgi_pass  backend;
        fastcgi_index index.php;
}

This will work with or without Magirc rewrite. Don't forget to replace fastcgi_pass backend; by your actual backend. If you do not have /etc/nginx/fastcgi.conf, include /etc/nginx/fastcgi_params.

lighttpd

Your lighttpd configuration file should contain this code (along with other settings you may need). This code requires lighttpd >= 1.4.24.

url.rewrite-if-not-file = ("^" => "/index.php")

magirc's People

Contributors

conti avatar jyzee avatar zoddo avatar adamus1red avatar phillf avatar

Watchers

James Cloos avatar  avatar Mathis L. avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.