DNEWS News Server


Posting to a moderated group

Note: You can only do this to your own moderated local groups.

You may wish to use DMOD - a specialized application for this process.

Or, if you prefer, get the FreeAgent news reader. In agent.ini change showallfields to 1, e.g.

        [Message] 
        ShowAllFields=1

Then re-post the article after putting your mail address in the approved header using FreeAgent.

Creating local news groups

You can add groups with the TELLNEWS NEWGROUP command, e.g.

     tellnews newgroup here.chat y myname Local group for chatting

On Windows you could do this from the COMMANDS menu in DNEWS Manager by selecting the NEWGROUP command. Here is a detailed breakdown of each of the parts of the above command.

   here.chat = name of group
   y = Normal group (m = moderated)
   myname = Just a record of who created the group (one word) 
   Local group for chatting = description for active.names file.

To stop your local group from being sent up stream, you would change the groups line in your newsfeeds.conf file to exclude the local groups. For example to stop the groups here.chat and all the groups here.secret.XXX from being sent we would change

        site $nntp_feeder
                groups *
to
        site $nntp_feeder
                groups *,!here.chat,!here.secret.*
(note: ! means "not")

On Windows you could do this from DNEWS Manager by selecting Feeds Out and clicking on $nntp_feeder and amending the groups field as above.

Creating local moderated news groups

Lets say your company name is 'Genesis' and you want a local moderated group for announcing major company decisions, lets call the group "genesis.announce"

First create the moderated group using tellnews (or dnews manager)

tellnews newgroup genesis.announce m theboss Company Announcements

Then add one line to moderators.conf to send any messages posted to this group to the person who is going to 'moderate' this group. The new line must go above the default rule.

    genesis.announce:secretary@genesis.com
    *:%s@uunet.uu.net

Lastly you MUST have an SMTP gateway defined in your newsfeeds.conf, you should already have this but check to make sure you do.

Now you are all set, the moderator will receive all posts via email, he must then add an Approved: header line to the message before re-posting it to the news group. This can be done with DMOD or FreeAgent, see above for details.

Remote Control

DNEWS on any platform may be controlled remotely, the local machine may be running a different OS to the remote dnews machine, hence it is possible to use the graphical interfaces to control non graphical versions of dnews. To set this up the local machine must have a copy of the tellnews executable and the tellnews.pass file, the tellnews.pass file is a protected file on the dnews machine used to verify that the correct machine is sending commands.

Copy the dnews.conf, the tellnews.pass and the tellnews executable to the local machine, if you are using a different platform to the one that you are running dnews on then you'll have to download the tellnews executable. If you want to run the Windows GUI you'll need a copy of the dnewsman.exe file also. Edit the dnews.conf file and set up the workarea directory as the directory on the local machine where the tellnews.pass is. The dnews.conf file, the dnewsman.exe and the tellnews.exe must be in the /winnt/system32 directory on Windows NT, the /etc directory on Unix. The myname in the dnews.conf file must be set to the name or number of the remote machine. On the dnews server the machine that is to be used for remote control must have a read and post entry in the access.conf file.

In the dnews.conf, on the local machine

  myname remote.machine.name (this will be correct if you copy the file from the dnews machine)
  workarea d:/dnews/spool (the name of the directory where the tellnews.pass is)

In the access.conf, on the remote machine

  remote.machine.name:Read,Post:::* (this is the name of the machine to send commands from)

Putting News On More Than One Drive

With DNEWS 4 you can add extra spool areas like this: Just mount the new drive somewhere, lets call it "/news2" On NT it might be "h:\news"

Create the directory: mkdir /news2

On unix set it to be owned by news: chown news /news2

Then assuming you have a 3GIG disk, then in dnews.conf add:

    spool2 /news2
    diskspace2 2900

Then restart dnews.


Giving DNEWS access to an INN news system.

Give normal NEWS READER access to the dnews machine by adding a line to your nnrp.access file

   dnews.ip.name:read post:::*

Give DNEWS ihave access to your server Add a line to hosts.nntp

   dnews.ip.name

DMULTI Installation and use

DMULTI is a mechanism for running multiple DNEWS processes, this is ONLY worthwhile if you have more than 50 concurrent users OR if you have many users on the system 24 hours a day so you want performance to be good during expire processing.

You will also need 'lots of RAM' and preferably more than one spool drive. However if your only goal is to smooth out response during the expire processing then dmulti will work fine on virtually any system.

DMULTI installation:

First, upgrade to DNEWS 4.6j

Configure your system to startup DMULTI instead of DNEWS:

  Unix: Use dmulti_start.sh, instead of dnews_start.sh
  NT: tellnews exit
  NT: addsvc -del dnewssvc
  NT: addsvc -add dnewssvc dmulti.exe "DNEWS Multi Process Manager"

Configure the new slave parameters in dnews.conf

  slave_n 3     # Number of dnews processes to run 2-4

In access.conf ensure you have ip numbers listed for your IHAVE feed, this is necessary for dmulti to correctly connect your incomiing feed to the master dnews process (s0)

If you add an additional IHAVE feed in the future to access.conf, you will need to restart dnews not just do a reload for the new settings to be picked up (because dmulti needs to re-read the file, not just dnews)

Startup the dmulti process:

NT: net start dnewssvc (or click on start in dnews manager)
UNIX: /usr/local/dnews/dmulti_start.sh

There is a log file dmulti.log which will show you if anything goes wrong.

How dmulti works

DMULTI starts up 'slave_n' dnews processes (typically 2 or 3) the first one S0, is the master process, this is the one that accepts incoming news feeds, and this is the one your tellnews commands will go to. The others, S1-Sn, are reader processes, each one might have 30 news readers on it. DMULTI acts as a gateway, routing the incoming connections to the correct dnews process, this is why your slave_feed parameter must be set correctly, this is how dmulti knows whether the connecting session is a reader, or a feed.

You can communicate with each slave individually using a new tellnews option. The first status line shows which process s0-sn is talking to you:

(Master process) tellnews -s 0 status 
(First reader) tellnews -s 1 status

You should always ensure that all the processes have closed before re-starting dnews/dmulti

If a problem develops, establish 'which' slave is not responding using 'tellnews -s n' and then copy the dnews.log from the faulty slave before restarting DNEWS.

To uninstall dmulti

Remove the slave parameters from dnews.conf and then replace the original dnews service (or startup script)

Uninstall NT: tellnews exit
Uninstall NT: addsvc -del dnewssvc
Uninstall NT: addsvc -add dnewssvc dnews.exe "DNEWS News Server"
And remove the slave_n setting from dnews.conf

Notes for BIG sites (10,000-1,000,000 users)

Multiple processes

If your site is going to have more than 200 concurrent users and /or many users will be reading news 24 hours a day (while the expire is running) then you might want to configure DMULTI.

Multiple servers

Multiple servers give better performance and a good backup mechanism, with the price of PC's it's probably better to budget for 4 cheap servers than to try and build 1 super server.

If you need more than one news server, then you can configure DNEWS to send out an xreplic feed, this means that item 23 in 'rec.humor' on the master dnews machine will be the same as item 23 in 'rec.humor' on the slaves system. This enables you to have 'n' news servers, each handling 100-500 concurrent users and you can use a DNS to 'rotate' the users between the servers randomly balancing the load. This also gives you a 'backup' as any server can be removed or made the 'master' in a minimum of time.

However, another option is to simply configure several news servers and use normal feeds between them and then spread your users by simply telling them to use different news servers, this is simpler and therefore slightly more reliable. But this does prevent you from any load balancing.

Hardware

A typical 'large' system would look like this:

        Single or Dual Pentium 200
        128-256MB RAM
        8-50Gig SCSI disks (or raid array)

Operating System for large servers

We don't want to get into an OS war, but basically the following OS's (in no particular order) make good news servers with DNEWS, this only becomes an issue when you are trying to pack as much news and as many users as possible onto one server:

        Windows NT
        Linux, Solaris, Digital Unix, AIX, HPUX, FreeBSD, BSDI

We think Linux is the best of the 'unix' flavors, but this is more of a slight personal preference than a significant performance difference.

With most of these systems it is important to configure them with at least 200MB swap partitions when you install the system as NEWS uses a lot of memory and changing the swap partition can be very difficult.


Running DNEWS for intranet groups only

You can run DNEWS completely 'stand alone' here's what to do with the config files, in newsfeeds.conf you should have:

site me
        groups *
site mail.gateway.name
        smtp

And in dnews.conf you should comment out 'nntp_feeder' and add:

        cachedall true

Then create the local news groups, you should start each group with your company name. e.g.

        tellnews newgroup netwin.ideas y chris Discussion of new ideas
        tellnews newgroup netwin.memo m chris Support news group

Notice 'netwin.memo' is a moderated news group, this means you must add a line to moderators.conf to tell dnews where to send the items to, the line must be added ABOVE the default line at the end of the file, e.g.

        netwin.memo:chrisp@netwinsite.com
        *:%s@uunet.uu.net

And when the moderator posts to 'netwin.memo' they would have to use FreeAgent or some other news reader that allows the 'Approved' header to be added.

 


Web Manager Interface for DNEWS

To contact the dnews manager use a web address like this: http://your.host:7119 (this link may work, try it) A username and password will be stored in the file CONFIG/users.dat on your first connection it will tell you how to specify this username and password, basically edit users.dat by hand and add a line like this)

	dnews:yourpassword:Full:*:Mr Admin:

The manager service can be stopped on NT with the command "net stop dmgrsvc" and can be disabled from the control panel/services window.

Format of the users.dat file:

username:password:Access_Mode:Managed_Groups:Descriptive_Name:List_of_usergroups

In version 4.7 the web manager allows partial controls, e.g. a user can be given access to run tellnews status but not do anything else.  Here are the possible values for access_mode

access_mode

Products Downloads Prices Support Company