(I)ndymedia (N)ews (P)roduction (U)(T)ility - Installation

Requirements

  • You need write access to an Apache 1.x or 2.x web server directory (a virtual host is enough) which is setup to interpret .htaccess files (called i.e. 'AllowOverride' is true in httpd.conf). Other than that you will need write access to httpd.conf.
  • Apache must be configured to support the PHP module version 4.2.x or 4.3.x (the recommended PHP configuration with 'safe mode = on' should work).
  • A (preferrably empty) mysql database on a mysql 4.x cluster and a database user which has write access to this DB are also needed.

You may also be able to be able to run INPUT on other versions of Apache, PHP and MySQL than those given above. However, we neither guarantee nor support this.

Installation

ALERT! Attention: Please note that these installation instructions relate only to the latest nightly subversion repository tree snapshots as available on Codecoop. They may not apply to other releases. Please keep in mind that subversion snapshots may be in a broken state. If you need a pre release which is assumed to work, please contact the developers.

  1. Download, untar and ungzip the archive ( tar xzsvf input-scm-latest.tar.gz ).
  2. Upload (or move) anything in and below of "/input-scm-XXXX-XX-XX/trunk/input/" to the document root of the (virtual host on the) web server which input will be hosted on. There should be a index.php in the document root now.
  3. Login to the database either via console or via a web interface such as PHPMyAdmin and import the mysql dump. Via console, you would do it this way:
    mysql -u DBUSERNAME -p DATABASENAME < PATHTOWEBROOT/db/db.sql
    The words in upper case must be replaced by the according values.
  4. If the import went fine, you can safely delete the PATHTOWEBROOT/db directory.
  5. You can now set the credentials INPUT will use to access the database. To do so, edit PATHTOWEBROOT/classes/db.inc.php, look for function DB () in it and set $this->database, $this->user and $this->password in the way they were set up by/for you on the MySQL server.
  6. Now you need to create a file PATHTOWEBROOT/.htaccess and put the following inside it:

    AuthType Basic
    AuthName "Please login to INPUT!"
    AuthUserFile PATHTOWEBROOT/.htpasswd
    Require valid-user

  7. The next step is to create the password file. You will create it as PATHTOWEBROOT/.htpasswd and add the login INPUTUSERNAME and the INPUTPASSWORD it prompts you for like this:
    htpasswd -c PATHTOWEBROOT/.htpasswd INPUTUSERNAME
    Make sure you note down the password somewhere. The dispatch admins will need it to login to the system later on.
  8. For security reasons, add another file PATHTOWEBROOT/classes/.htaccess which contains:
    Options -Indexes
    It would also be better to store the .htpasswd file outside of the web root, i.e. in a directory on a higher level. If you do that, make sure you modify the line containing "AuthUserFile" in PATHTOWEBROOT/.htaccess, too.

Congrats. You're done.

Dispatch moderation login:
http://INPUTUSERNAME:INPUTPASSWORD@YOURSERVER/WEBPATHTOWEBROOT/inbox.php

Dispatch frontend:
http://YOURSERVER/WEBPATHTOWEBROOT/index.php

If you feel something went wrong, please contact the developers and let us know what went wrong.

Tweaking and fine tuning

Setting up roles and access groups

If you have a lot of reporters, translators, proof readers etc., i.e. many people taking on different roles, then you will want to set up Apache groups to authenticate against. This is done by the AuthGroup directive (often handled by a file called 'htgroup'). You need to set up permissions for each group related to the role it describes, then join single users to these groups, thus granting them effective permissions to single processes within the dispatch.

For example, you have setup the groups 'reporters', 'translators' and 'confirmators'. The 'reporters' group has access to /add.php, the 'translators' can load /translation.php and whoever is in the 'confirmators' group may verify reports via /confirmed.php. You have a user 'Occam' who is a reporter and a translator but not a confirmator. So you add him to the 'reporters' and 'translators' groups but not to the 'confirmator' group. On the other hand, you have a user 'Alster' who is both a reporter and a confirmator, but may not translate as he's widely known for his bad translations to morse code. So you add him to the 'reporters' and 'confirmators' groups, but not to 'translators'. Both 'Occam' and 'Alster' will continue to have their own unique password this way, and their permissions can be somewhat fine tuned.

  Reporters Confirmators Translators
Occam X - X
Alster X X -

Apache Authentication and Authorization for Apache:

v1.3.x http://httpd.apache.org/docs/howto/auth.html
v2.0.x http://httpd.apache.org/docs-2.0/howto/auth.html
v2.1.x http://httpd.apache.org/docs-2.1/howto/auth.html

Importing RSS into INPUT

INPUT provides preliminary support for importing news data from a RSS feed. You can add your web sites's newswire RSS feed as a new data source, select certain articles and import these into INPUT.

To Setup this feature you need to install and setup WireFetch. WireFetch can write its data into a MySQL database. This table must be named "rss". Use the wirefetch.sql to create this table inside the INPUT database.

After that, you need to setup WireFetch to use this table. To do so, modify this line in wirefetch.conf:
<mysql host="localhost" db="DATABASENAME" user="DBUSERNAME" pass="DBPASSWORD" table="rss" />
Despite changing the values fpr 'db' and 'table' as given above, you will need to type the access data for INPUT database into DBUSERNAME and DBPASSWORD. These need to be the same values you use for INPUT.

Errata

Please note that the 'Live support' URL is wrong. It should point to http://chat.indymedia.org/?chans=input instead.

-- AlsteR - 18 Jun 2005
Topic revision: r2 - 27 Jun 2005, AlsteR
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback