Inn + UUCP - Le tutoriel

De Site à Mans
Aller à la navigation Aller à la recherche
AVERTISSEMENT
Ce tutoriel a été écrit en 1996 pour répondre a des demandes régulières dans fcol 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.
D'autre part ce document était destiné à USENET au format 7 bits, donc vous n'y trouverez pas d'accents et bien entendu j'ai tenu à garder les nombreux fautes de frappes, d'orthographe et de grammaire pour me rappeller que c'est d'écrire une doc sans se relire !



(c) Jose Mans 1 Mai 1996 Upgrade: 24 Janvier 1998 v1.9.3
Ce doccument peut etre diffuse autant qu'il vous plaira SANS MODIFIER GPL (96)
Correction: Stephane Calabrese (scalabrese@pacwan.mm-soft.fr)


AVANT-PROPOS



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 !


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


Installation des programmes necessaire.

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 3.1.

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

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.

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.
ftp://ftp.ibp.fr/pub/linux/sunsite/system/News/inn1.4sec-linux-bin.tgz

ftp://sunsite.unc.edu/pub/linux/system/News/inn1.4sec-linux-bin.tgz


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

Configuration.

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 !


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 le 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.

#/etc/NNTP_INEWS_DOMAIN
asterix.provence.fr

Creer history

Avec l'utilisateur news creer les fichiers suivant :


su - news
:> history
:> history.pag
:> history.dir

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

Divers

Creer un l'alias usenet vers vous-meme :

exemple pour l'utilsateur 'mans' :

Editez le fichier /etc/aliases

usenet: mans

Puis recompilez la base de donnees alias.db :

newaliases


Lancement de innd!.

Lancement au demarrage.

Ajoutez dans rc.local :

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

Lancement au shell.

  • Tout simplement
cd ~news/etc
rc.news


Creation des packets (indispensable !)

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 !!!

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.

Avec crontab

Avec l'utilisateur root ajouter cette chaine :


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

Comme ca tous les packets destines 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 :)

Creation pour tous les machines.

Methode a la main.

Tout simplement en tapent :

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

Avec crontab

Avec l'utilisateur root ajouter cette chaine :

bash#: crontab -e

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.

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'etait pas compatible :(

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

su - news
cd /usr/lib/news/
touch history
touch history.dir
touch history.pag

Cela devrait fonctionner 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'envoyait 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 (en tongue^^)

Depuis en modifiant mon newsfeeds pour le meme resultat j'ai pu recevoir et envoyer a mes utilisateurs 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: "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. A 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 machines seront connectees seul ces
conferences seront transferees.



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

4. A 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 S'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 :

su - news
cd /usr/lib/news
:> history
:> history.dir
:> history.pag



7. Q Il trouve pas /ucb/sendmail!

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




.