Inn + UUCP - Le tutoriel

De Site à Mans
Révision datée du 3 mars 2012 à 09:41 par Wikisysop (discussion | contributions) (Page créée avec « <div class="mw-warning" style="width: 50%;"><span style="font-family:courier new,courier,monospace;">'''AVERTISSEMENT'''</span></div><div class="mw-warning" style="width: 50%... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche
AVERTISSEMENT
Ce tutoriel a été écrit en 1996 pour répondre a des demandes régulières dans fcola sur "comment installer inn sous linux". En effet ce service de news d'USENET était relativement compliqué à installer pour le néophite, car il n'existait pas de procédure d'installation automatique comme c'est le cas aujourd'hui




#
# (c) Jose Mans 1 Mai 1996
#
# Upgrade: 24 Janvier 1998  v1.9.3
#
# Tout droits de modification reserves
# Ce doccument peut etre diffuse autant qu'il vous plaira SANS MODIFIER
# LES DROITS D'AUTEURS OU SI VOUS DECIDEZ DE PRENDRE UNE PARTIE DE METTRE
# MON NOM!
#
# MERCI DE RESPECTER CE QUI A SUIVI!!.
#
# Correction: Stephane Calabrese (scalabrese@pacwan.mm-soft.fr)


Salut


Voici un petit resume qui explique la manier dont j'ai procede pour 
intaller un serveur News local avec innd.

Je precise aussi que certaines personnes pourront voir des manipulations
qui ne sont peut-etre pas necessaires pour configurer un server de News
avec innd. Pour ma part, j'ai respecte, au plus fidele possible, ce qui
m'a permis - apres 1 semaine de tentative - de demarrrer enfin mon serveur
de News !!! Toutes fois ces personnes ont inviter a faire toutes
remarques !




________________________________________________________________________________


SOMMAIRE:

0 AVANT-PROPOS

1 Installation du serveur.
  1.1 Faire le menage.
  1.2 Installation avec la slackware > 3.0
  1.3 Autres distributions.

2 Configuration.
  2.1 Copie de fichier.
  2.2 Edition de fichiers.
  2.3 Divers.

3 Lancement de innd!.
  3.1 Lancement au demarrage.
  3.2 Lancement au shell.

4 Creation des packets (indispensable !)
  4.1 Creation pour une machine
      4.1.1 Methode a la main.
      4.1.2 Avec crontab.
  4.2 Creation pour tous les machines.
      4.2.1 Methode a la main.
      4.2.2 Avec crontab.

A. Annexe 1 FAQs!


                                    ---------

AVANT-PROPOS
============

Dans tous les cas il faut imperativement avoir une machine qui
fonctionne correctement en reseau, meme seule.



1. Installation des programmes necessaire.
==========================================


1.1 Faire le menage.
--------------------

    Si vous voulez ne pas rencotrer de probleme avec innd. Il est
conseille d'effacer tous ce qui se rapporte aux anciens serveur.

   Il existe rnews de CNEWS qui reste apres l'intallation d'innd. Ce qui
a pour effet de tout chambouler le serveur innd; la solution est donnee
en section 2.1.

  Sans rentrer dans les detailles, EFFACEZ tout ce qui appartient a cnews
et autre serveur!

1.2 Installation avec la slackware > 3.0
----------------------------------------

Choisir le packtage N, avec les modules :
<!> Procedez a une install "normal". Ceci est demande lors de
l'installion.

        1.  Deliver.
        2.  Netconfig (netcfg)
        3.  Rdist.
        4.  smailcfg.
        5.  tin (un reader quand meme :)
        6.  inn 1.4 (enfin !!)
        7.  nn-spool
        8.  BSD 8.6.12 sendmail
        9.  uucp Taylor.

1.3 Autres distributions.
-------------------------

        Si vous n'avez pas de distribution autre que la slackware ceci
m'interesse afin de completer cette aide le mieux possible. Ceci etant
j'imagine bien qu'il y est quelque part dans votre distribution un coin,
un repertoire, ou sont les fichier binaire de "innd.".

        Par exemple sur les mirrors "sunsite.uiuc.edu" vous trouverez
les programme pre-compile et source de innd.


<!> Noubliez pas que la verion de inn1.4 peut changer; donc ne
m'en voulez pas si vous trouvez inn1.5 :)


2 Configuration.
================


2.1 Copie de fichier.
---------------------


- Copier le fichier /usr/lib/news/etc/rc.news /etc/rc.d/


- Mettre en remarque 'nntp' dans /etc/inetd.conf:

 #nntp   stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/in.nntpd

 Puis relancez inetd de la maniere suivante :

    ps aux |grep inetd
    kill -HUP pid               - Ou pid est le numero se trouvant dans
                                  la deuxieme colones de la ligne
                                  qu'affiche la commande 'ps'.



- Creer un lien rnews de bin a news :

   cd /usr/bin
   ln -s ~news/rnews
  
  <!> ATTENTION: Ne pas garder le fichier rnews du serveur CNEWS !
  D'ailleur pour plus de security effacez tout ce qui appartien a CNEWS !


2.2 Edition de fichiers.
------------------------

ATTENTION: Dans tous les fichiers ou cela ne sera pas specifie, mettre
en remarque toutes les lignes n'etant pas stipulees dans ce fichier d'aide.

DE PLUS les exemple seront donnes pour la machine ASTERIX possedent le
domain PROVENCE.FR. Par consequent si vous avez un autre nom, domain, il
faudra IMPERATIVEMENT les chnager :))


Pour ce faire utiliser # dans chacun des fichiers.

* Editer control.ctl

        Rajouter all:*:*:mail

* Editer inn.conf

        - Ramplacer/Ajouter :

                organization:   Votre ogranisation
                server:         L'adresse de votre serveur
                domain:         Votre domain.
fromhost:...
pathhost:...

        - Exemple (ex:) : Pour la machine asterix qui possede le domain
                          provence.fr :

                organization:   Hall des Stars
                server:         asterix.provence.fr
                domain:         provence.fr
fromhost:provence.fr
pathhost:provence

* Editer newsfeeds

  Le newsfeeds sert a l'envois des messages aux machines
connu de votre systeme de news.

  Toutes ces machines son repertoriees dans ce fichier. Le newsfeed
contient aussi les groupes de news, ou conferences, que vous lui
envoyez.

  Biensur si vous etes un particulier et branche a un provider et
qu'aucunes autres machine viennent prendre des conferences, par uucp, chez
vous. Newsfeeds  ne doit contenir que les parametre de votre provider.

  Par contre si vous possedez des machines qui viennent poller regulierement
vous devez, en plus de votre provider, faire connaitre a votre serveur 'innd'
le nom de ces machines et, biensur, les conferences qu'elles prennent!

  Voici un exemple, le premier, qui configure votre feed (newsfeed) pour
un provider. Puis le deuxieme example celui d'une machine a qui vous
procurez les news.

        - Ajouter/remplacer votre domain et nom ce machine ainsi que ceux des 
 visiteurs:

        ME\
                :*\
                :Tf,Wfb:


    SI vous avez un provider uucp ... rajoutez ce champ :

       ex: Si votre provider a cette adresse : provider.son_domain.fr

       provider/provider.uucp,provider.son_domain.fr,unknowna\
                :*,!junk*,!local*,!control*,!general*\
                :Tf,Wfb:


   SI vous avez des utilisateur uucp :

       nom_machine_user/nom_machine_user.uucp\
                :!*,fr.*,comp.os.linux.*,local.*,junk\
                :Tf,Wfb:


   Ou   !junk, !local.... sont les groups que votre provider ne recevra
        pas !
   En d'autres termes tous les nom de conferences possedent le '!'
devant leurs noms ne seront pas envoyees a la machine concernee.


* Editer hosts.nntp

        - Ajouter :

                #/usr/lib/news/hosts.nntp
                localhost:
asterix.provence.fr:
193.50.131.200:

* Editer nnrp.acces

Ajouter :

localhost:RP:::*
*.domain.fr:RP:::*
193.50.131.*:RP:::*

* Editer /etc/NNTP_INEWS_DOMAIN

        Rempalcer l'adresse par la votre.
                ex:
                        #/etc/NNTP_INEWS_DOMAIN
                        asterix.provence.fr

* Creer history

        Avec l'utilisateur news creer les fichiers suivant :


                :> history
                :> history.pag
                :> history.dir

<!> les symboles ":>" peuvent etre remplaces par le programme "touch"
qui a pour effet de creer un fichier vide.

2.3 Divers
----------

Creer un l'alias usenet vers vous :

  exemple pour l'utilsateur 'mans' :

     Editez le fichier /etc/aliases
     usenet: mans

     Puis recompilez la base de donnees alias.db :

     newaliases




3 Lancement de innd!.
====================


3.1 Lancement au demarrage.
---------------------------

        - Ajoutez dans rc.local :

<!> Ne mettez pas tout en remarque !!! :)

                #/etc/rc.d/rc.local
                ...
                #Demarrage des News
                /etc/rc.d/rc.news&
                ...



3.2 Lancement au shell.
-----------------------

- Tout simplement :

cd ~news/etc
rc.news


4 Creation des packets (indispensable !)
========================================

4.1 Creation pour une machine
-----------------------------

  Pour que vos destinataire puissent recevoir ce que vous ecrivez dans
le conferences il est imperatif de creer les packets !

  Sinon attendez toujours que ca parte !!!



4.1.1 Methode a la main.
........................

  Tout simplement en tapent :
   
      ~news/bin/sendbatch -g mahcine

     Ou -g      pour la compression des packets avec gunbath (gzip)
                Certains systems comme WAffle utilise la compression avec
                compress. Il faudra donc utiliser l'option -c a la place de
                -c.
       machine  est le nom de la machine qui va recevoir les packets.
                En generale soit votre provider, soit vos utilisateur.
 


4.1.2 Avec crontab.
...................

  Avec l'utilisateur root ajouter cette chaine :

   bash#: crontab -e
   
chaine -> 15 6,17,22 * * *  /usr/lib/news/bin/sendbatch -g gyptis > /dev/null


  Comme ca tous les packets destineis pour la machine appellee "Gyptis"
  seront cree touts les jours et 6h15, 17h15 t 22h15 de la journnee.

  Pour plus d'information sur les possibilite de lancement du programme
sendbatch me contacter ou lire le : man crontab :)



4.2 Creation pour tous les machines.
------------------------------------

4.2.1 Methode a la main.
........................

  Tout simplement en tapent :

      ~news/bin/sendbatch -g `uuname|sort|uniq`


4.2.2 Avec crontab.
...................


  Avec l'utilisateur root ajouter cette chaine :

   bash#: crontab -e

chaine -> 15 6,17,22 * * *  /usr/lib/news/bin/sendbatch -g `uuname|uniq|sort` >
/dev/null


  Tous les packets destines a toutes les machines seront crees a 6h15, 17h15 
  et 22h15 de la journnee.



A. Annexe 1 FAQs!
=================

MESSAGE d'erreur:
-----------------

1. Q Quand je lance rc.news le serveur me reponds ce message :

        May  1 11:29:25 asterix innd: /usr/lib/news/history cant dbminit
ME No such file or directory

1. A En fait ce probleme est du au fichier ~news/bin/makehistory qui, quand on
le lance, creait les fichier :

history.n.dir
&history.n.pag

Je vous dis ca car il m'a fallu 1 semaine pour comprendre qu'innd et makehistory
n'etati pas compatible :(

Ceci dit, n'attendez plus 1 semaine !. Normalement en creant les fichier :

                touch history
                touch history.dir
                touch history.pag

     Cela devrait marcher correctement :)


2. Q je viends d'ecrire dans les confs local mais rien n'est envoye chez lui :(.

2. A Ceci me fait penser a votre newsfeeds. Car j'ai deja eu un probleme
     similaire et je l'ais resolu comme suit :

     Mon enciens newsfeeds qui n'emovyait pas les news a mes amis UUCPchiens ...
     
              provider/provider.uucp,provider.son_domain.fr,unknowna\
                :!*,fr.comp.os.linux,fr.ta.mere,!local*,!junk*,!local*,!control*,!general*\
                :Tf,Wfb:

                     a pour effet de n'en voyer que  fr.comp.os.linux et
                                                     fr.ta.mere

    Depuis en modifiant mon newsfeeds pour le meme resultat j'ai pu
    recevoir et envoyer a mes utilisateur de mon BBS les confs local.*


 
provider/provider.uucp,provider.son_domain.fr,unknowna\
                  :!*,fr.comp.os.linux,fr.ta.mere\
                  :Tf,Wfb:

    Il semblerait que la rodendense des interdictions soit a l'origine
    de ce probleme ... Donc evitez-les :)

     ATTENTION:    ou provider peut-etre aussi un de vos utilisateur.

    
3. Q Note: si j'ai tout compris a inn le fichier newsfeeds permet de dire
     a sa machine ou plutot son serveur a qui et quelle config _transmettre_

3. R En fait newsfeed permet de savoir les groups qui doivent etre creer
     pour chaque machines. Si ton champs comporte :

        zilog/zilog.uucp\
               :fr.*,comp.os.*,!*
               :Tf,Wfb:

     Le serveur, contenent cela dans son newsfeed, preparera les packets pour
     zilog, fr.*, comp.os.* et rien
     d'autre. Et donc quand les deux machine seront connectees seul c'est
     conferences seront transferees.

4. Q Quand 'innd' refuse de poster les articles que dois-je faire ?

4. R Tu dois ajouter l'adresse l'adresse de ton serveur, celui d'ou tu
     postes, dans le fichier : ~news/hosts.nntp

     Ex:   localhost:
           zilog:
           zilog.uucp:
           # Toutes y les adressses possible que ce serveur peut
           # prendre...

5. Q Si il vous affiche :

      inndstart: inndstart cant bind Address already in use

  C'est que vous ne savez pas lire :) Car c'est ecrit dans cette doc,
qu'il faut enlever la ligne 'nntp' dans le fichier /etc/inetd.conf!


6. Q Si il vous affiche :

      innd: /usr/lib/news/history cant dbminit ME No such file or directory

  La aussi vous ne savez pas lire; Alors SVP! Allez creer ce fichier
history dans ~news (/usr/lib/news) comme suit :


       bash#: :> history
              :> history.dir
              :> history.pag

7. Q Il trouve pas /ucb/sendmail!

8. A Editez le fichier ~news/innshellvar et remplacer /ucb/sendmail
par /bin/mail dans la variable MAILCMD!!!!