The Most Common News Questions

  • I don't know if posts are working?
  • Running DNews for Intranet groups only (stand alone DNEWS)
  • Hints for sites with more than 10,000 users
  • MAIL-NEWS Gateways (both ways)
  • Creating local news groups
  • Creating local moderated news groups
  • Creating a world wide news group
  • Posting to a moderated group
  • Adding a SPOOL, Putting news on more than one drive
  • Remote Control
  • Setting your EXCLUDE parameter correctly
  • Calculating Memory Use
  •  

    I don't know if posts are working?

    There are two main reasons for posts to fail:

    1. You've messed up your newsfeeds.conf file.
    2. Your provider is not allowing you to send messages via 'ihave'

    Follow these instructions to figure out where the error is:

    Post an item to some local TEST news group, e.g. nz.test, then check the file DNEWS.OUT, this should give one line per message sent 'out' of your system, if this file is empty, or gives an error, first consider if the error is from DNews or if it is from the site you are sending items to. Second, look in dnews.log, search for "out:" once you've found the failure message you will probably find more clues just above or below it as to what went wrong.

    Another common problem is sending the incoming feed back out to your provider, this clogs up your feed so that local posts almost never get sent. To confirm this problem look in the *.feed,*.send files in the workarea directory, if they contain message ID's that are not local then your EXCLUDE parameter in newsfeeds.conf needs adjusting.

    Running DNews for intranet groups only (Standalone DNEWS)

    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.

    Hints for sites with more than 10,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.

    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 newsgroups

    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 the top of the moderators.conf file. This will cause DNews to send any messages posted to this group to the person who is going to 'moderate' the group.

    genesis.announce:secretary@genesis.com

    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

    Creating a world wide news group

    There are rules and procedures for creating news groups world wide (otherwise there would be complete anarchy, rather than the partial anarchy we currently have).

    For each top level set of groups, e.g. rec.*,alt.*,news.*,biz.* there are different rules and regulations, here are some pointers to help you find out how to do it:

    usenet/creating-newsgroups/part1
    http://www.cs.ubc.ca/spider/edmonds/usenet/good-newgroup.html
    So You Want to Create an Alt Newsgroup
    Biz.* Frequently Asked Questions (FAQ)
    Or search this index to find the FAQ for the right top level news tree.

    Posting to a moderated News 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.

    Adding a SPOOL, 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.

    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)

    Setting your EXCLUDE parameter correctly

    In newsfeeds.conf you must set your exclude parameter to stop DNews from sending incoming messages back to your feed site. Although with version 4.3 you could use the options "path_max 3" or "onlyposts" to prevent DNews from routing news.

    However, ignoring those options, it's best to get the exclude setting correct. Lets assume your feed site is called fastfeed.world.net. You need to find out what it stamps onto news articles, to do this read a news article (and show all headers so you can see the PATH header)

    e.g.

    Newsgroups: alt.winsock.trumpet
    Subject: Sportster Si does not seem to work with TRUMPET
    Date: Thu, 26 Oct 1995 22:44:08
    Organization: Personal
    Lines: 8
    Message-ID: <moleski.2.0016BD02@sasknet.sk.ca>
    NNTP-Posting-Host: eagle28.sasknet.sk.ca
    X-Newsreader: Trumpet for Windows [Version 1.0 Rev A]
    Path: yoursite.com!fast1.world.net!world.net! news.icix.net!esol.intermedia.com

    Look thru the path, left to right, and find the first or most generic name for your feed site, in this case 'world.net' looks like the best name to choose. The second or third name in the list is usually correct.

    So here is the entry you should put in newsfeeds.conf, you may need the builtin and posting settings as well but that is up to you.

    site fastfeed.world.net
           groups *
           exclude world.net
           builtin

    You may need to delete your .feed and .sending files from the spool directory to clear out the backlog of articles queued. The exclude parameter can include wild cards or a list of values, e.g.

    exclude *world.net,*.sprint*

    Calculating memory use

    This is a rough guide to calculating how much memory DNews will use. This is VIRTUAL memory, you dont' need this much physical memory (but it will go faster if it does :-)

    (Concurrent connections) * 200K
    (Articles in history file - see expire processed) * 12
    (Spool Gig's) * 1MB
    (Max article size accepted) * 2
    (Number of news groups) * 100
    head_cache (default 200) * 3k
    xover_cache (default 3000) * 300
    Program static data 4mb

    So lets take a smallish system with 20,000 news groups, 10 concurrent connections, 200,000 lines of history data, 1 Gig of spool, 1MB articles.

    10 * 200K = 2MB
    200,000 * 12 = 2.4MB
    1Gig = 1MB
    1MB Articles = 2MB
    20,000 News groups, = 2MB
    head_cache (default 200) * 3k = 600K
    xover_cache (default 3000) * 300 = 900K
    Program static data = 4mb
    Total memory use = 14.9MB

    NOTE you DO NOT NEED THIS MUCH RAM, DNews is designed to deal with multiple full feeds and 100's of users, if you are running a smaller system you don't need all this as REAL ram, that's what virtual memory is for, it just slows down a little.

    Typically on a small system where you wish to reduce the memory use you need to look at:

    Total groups
    History remember setting.
    Maximum article size

    You can drastically reduce memory use with these settings:

    (in expire.conf) remember 4
    (in dnews.conf) item_max 200000 (stops large binary items!!!)
    (in newsfeeds.conf change your ME feed to only allow groups that really exist in your country-area)

           site ME
           groups !*,rec.*,comp.*,alt.*,news.*,soc.*,bit.*,bionet.*,sci.*

           tellnews matchfeed
           tellnews purgegroups

    (restart DNews to free up the memory)

    As a rule of thumb to avoid calculations with unix and NT, create a 100MB swap/page file as a first step. If you are running a big system, then 200mb would be a wise choice.