Mantra is a centralized, web-based newsreader.
Version: 20050120Mantra is a centralized, web-based newsreader written in PHP. It uses a PostgreSQL database to store overview and cache information and features SQL, NIS and LDAP users support, article scoring, RDF/RSS, usage statistics, online logs, and more.
Operating System: Linux
· Apache Web Server.
· PHP 4 or better (will not run on PHP 5 currently) with the extensions pgsql, imap, recode, gd, ldap (if you plan to use LDAP authentication) and cli (for running php scripts from the command line)
· Access via NNTP to a Usenet News server with readers support. We recommend INN as a News server.
· Access to a PostgreSQL database server.
PHP4 / Apache Configuration
Make sure the directives magic_quotes_gpc, magic_quotes_sybase and magic_quotes_runtime are all set to 0 (zero).
Connect to the DBMS as the postgres user.
Create a user named mantra with a good password of your choice.
Create a database called mantra and make sure it has support for plpgsql.
Connect to mantra database.
From there, run the script sql/crear.sql to create the basic structure.
Then run (if you want) the script sql/ayudas.sql to create help messages for your users.
Make sure pg_hba.conf allows Mantra to access the database.
If you do not have access to the PostgreSQL server as admin, ask your systems administrator to do this for you. If he happens to be lazy enough for not going beyond step 3, then you may still run by yourself the remaining steps, but you may need to edit the sql/crear.sql script. As I haven't tested that install method yet (I suspect that removing the GRANT lines would be necessary), please tell us if it works or not.
Configuring Mantra SQL Access
Open mini-config.php with your favorite editor and modify the following lines inside the class DB_Sql_Mantra block as needed
var $Host = ""; /**< Hostname of the Postgres server or empty for UNIX socket **/
var $Database = "mantra"; /**< Database name, usually mantra **/
var $User = "mantra"; /**< User with access to the database **/
var $Password = "secret!"; /**< $User password **/
Login as admin using the parameters user=mantra, password=lalala.
Go to "Administración" => "General" and set the News server hostname and port. Also set priorities and parameters for user definition backends (only if you have LDAP or NIS access configured in your machine).
Logout and ask Mantra to create your own personal account. The way you'll get it depends on what system has you defined as a user:
For LDAP and NIS, you should just try to login using your login and password. Mantra will look up you and create the required registers on its database.
For SQL based authentication, you will have to manually ask for an account using the "Solicitud de Cuenta" option on the login screen. Then login as mantra to approve the request and set a login for the account (using the "Administración" => "Usuarios" option).
Once you have your personal account defined, login for the last time as mantra and set superuser privileges for you under "Administración" => "Usuarios".
Login with your personal account and throw away the insecure mantra user.
Add newsgroups to the system using the "Administración" => "Actualizar Lista de Newsgroups" and "Administrar Newsgroups" options.
Remember: If you get in trouble, don't forget to read the system log (may be accessed using "Administración" => "Registro de Eventos" or via syslog).
Set up cron jobs to run the scripts under the cron/ directory.
cron/bajar-articulos-nuevos.php updates Mantra Usenet cache. You should run it every half an hour.
cron/expirar-articulos.php purges old articles from the cache when they disappear from the News server,
cron/expirar-eventos.php deletes old log entries,
and cron/procesar-estadistica-diaria.php updates the system statistics. These three should be run every night.