Se voce precisa configurar uma lista de discussao em seu FreeBSD, veja abaixo
como e simples faze-lo com o majordomo.
Para instalar o majordomo em seu server FreeBSD,
voce deve inicialmente baixar a sua distribuicao mais recente de
ftp://ftp.greatcircle.com/pub/majordomo/1.94.4/.
Hoje 20/01/98 a versao corrente e 1.94.4, e funciona tanto com o perl 4 como com o 5.
Instalando o majordomo-1.94.4 em seu FreeBSD
A titulo de ilustracao, para os exemplos abaixo, vamos assumir que meu nome de dominio seja
pro-unix.org
Para facilitar vamos dividir o processo de instalacao em diversas etapas:
- Logado como root, voce deve criar o diretorio /usr/tmp:
# mkdir /usr/tmp
# chmod 777 /usr/tmp
- Apos criar e setar o diretorio , obtenha o arquivo
majordomo-1.94.4.tar.gz do site de FTP mencionado acima
gravando-o no diretorio /usr/tmp. Depois descompacte-o com a sequencia de comandos:
# cd /usr/tmp
# gzip -d majordomo-1.94.4.tar.gz
# tar -xf majordomo-1.94.4.tar
- O proximo passo sera criar um usuario e um grupo , sob o qual
o majordomo ira rodar. Voce deve utilizar o comando adduser para faze-lo.
Anote o UID e o GID do usuario criado , pois ira precisar deles em seguida.
A titulo de ilustracao vamos supor que voce crie o usuario listserv pertencente
ao group listserv, cujo UID e GID sao respectivamente 1001 e 999.
- O proximo passo sera definir o diretorio no qual o majordomo sera instalado
, em nosso exemplo vamos usar o diretorio /usr/local/majordomo-1.94.4
- A seguir voce deve editar o arquivo Makefile, e alterar as seguintes linhas:
PERL = /bin/perl
W_HOME = /usr/test/majordomo-$(VERSION)
W_USER = 123
W_GROUP = 45
Para (no nosso exemplo):
PERL = /usr/bin/perl
W_HOME = /usr/local/majordomo-$(VERSION)
W_USER = 1001
W_GROUP = 999
Salve o arquivo.
- Apos editar o Makefile , voce deve editar o arquivo majordomo.cf.
Antes de iniciar voce deve criar o arquivo majordomo.cf apartir do arquivo
sample.cf, para isso execute:
# cp sample.cf majordomo.cf
Agora edite o arquivo majordomo.cf , e altere as seguintes linhas:
$whereami = "example.com";
$whoami = "Majordomo\@$whereami";
$whoami_owner = "Majordomo-Owner\@$whereami";
$digest_work_dir = "/usr/local/mail/digest";
$sendmail_command = "/usr/lib/sendmail";
# $sendmail_command = "/usr/sbin/sendmail";
#
if ( defined $ENV{"HOME"}) {
$homedir = $ENV{"HOME"};
} else {
$homedir = "/usr/test/majordomo";
}
#
para (no nosso exemplo):
$whereami = "pro-unix.org";
$whoami = "majordomo\@$whereami";
$whoami_owner = "majordomo-owner\@$whereami";
$digest_work_dir = "/usr/local/majordomo-1.94.4/digest";
#$sendmail_command = "/usr/lib/sendmail";
$sendmail_command = "/usr/sbin/sendmail";
#
if ( defined $ENV{"HOME"}) {
$homedir = $ENV{"HOME"};
} else {
$homedir = "/usr/local/majordomo-1.94.4";
}
#
Salve o arquivo.
- O proximo passo em si sera instalar o majordomo propriamente dito.
Execute a sequencia de comandos abaixo:
# make wrapper
# make install
# make install-wrapper
O proximo passo sera incluir no arquivo /etc/aliases os aliases utilizados
pelo majordomo.
- Edite o arquivo /etc/aliases e adicione as linhas abaixo (no nosso exemplo)
, no final do arquivo.
majordomo: "|/usr/local/majordomo-1.94.4/wrapper majordomo"
owner-majordomo: listserv@pro-unix.org
majordomo-owner: listserv@pro-unix.org
Salve o arquivo e execute o comando "newaliases" para que o banco de
dados dos aliases, usado pelo sendmail, seja reconstruido.
A instalacao basica do majordomo esta praticamente concluida.
- O ultimo passo sera testar a configuracao do majordomo, para ver se esta tudo
correto.
Para isso execute a seguinte sequencia de comandos:
# su listserv
% cd /usr/local/majordomo-1.94.4
% ./wrapper config-test | more
Observe a saida do script mostrada em seu monitor , verifique se nao aparece
nenhum erro. Se aparecer algum erro, analise os arquivos de configuracao
usados durante o processo de instalacao (Makefile , majordomo.cf) e veja se
encontra encontra a causa.
A saida mostrada em seu video se tudo estiver correta e semelhante a:
------------------------------------------------------------
---------------- Config-test for Majordomo ----------------
------------------------------------------------------------
--------------------- Obvious things: ---------------------
------------------ environment variables ------------------
HOME=/usr/local/majordomo-1.94.4
LOGNAME=listserv
MAJORDOMO_CF=/usr/local/majordomo-1.94.4/majordomo.cf
PATH=/bin:/usr/bin:/usr/ucb
SHELL=/bin/sh
USER=listserv
--------------------- euid/egid checks ---------------------
effective user = listserv (uid 1001)
effective group = listserv (gid 999 )
---------------------- uid/gid checks ----------------------
real user = listserv (uid 1001)
real group = listserv (gid 999 )
------------------------------------------------------------
Non obvious things that cause headaches:
------------------------------------------------------------
Good: 'require'd /usr/local/majordomo-1.94.4/majordomo.cf okay.
Good: found ctime.pl okay.
Good: found majordomo_version.pl okay.
Good: found majordomo.pl okay.
Good: found shlock.pl okay.
Good: found config_parse.pl okay.
You're running Majordomo Version 1.94.4.
--==> Majordomo home directory is /usr/local/majordomo-1.94.4.
------------------- Include directories -------------------
/usr/local/majordomo-1.94.4
/usr/share/perl
.
--------------------------- Home ---------------------------
Good: changedir to /usr/local/majordomo-1.94.4 succeeded.
Good: Created a mock lock file.
---------------------- temp directory ----------------------
Good: Created a temp file in $TMPDIR (/usr/tmp).
---------------------- list directory ----------------------
Good: list directory /usr/local/majordomo-1.94.4/lists has good permissions.
--------------------------- log ---------------------------
Good: logfile /usr/local/majordomo-1.94.4/Log exists and is writeable.
------------------------- Mailers -------------------------
You have defined a mailer for delivery.
Attempting to verify that this is a valid mailer...looks okay.
You have defined a mailer for delivering administrative messages.
Attempting to verify that this is a valid mailer...looks okay.
------------------ Checking majordomo.cf ------------------
Checking to see if there are new variables that should be in
your majordomo.cf file...Nope, none that I see.
Have you configured where Majordomo is?
$whereami is pro-unix.org
Good: yup!
----------------------- end of tests -----------------------
Nothing bad found! Majordomo _should_ work correctly.
If it doesn't, check your configuration file
(/usr/local/majordomo-1.94.4/majordomo.cf)
closely, and if it still looks okay, consider asking the majordomo-users
mailing list at "majordomo-users@greatcircle.com" for assistance. Be sure
and fully specify what your problems are, and what type of machine (and
operating system) you are using.
Enjoy!
Configurando uma lista de discussao no majordomo
O processo de criacao de uma lista e muito simples, basta seguir os passos abaixo:
OBS: A titulo de exemplo vamos criar uma lista chamada freebsd ;-)
- Inicialmente crie um arquivo vazio com o nome da lista que deseja criar, no
diretorio /usr/local/majordomo-1.94.4/lists.
% cd /usr/local/majordomo-1.94.4/lists/
% cp /dev/null freebsd
% chmod 644 /usr/local/majordomo-1.94.4/lists/freebsd
- O proximo passo e criar um arquivo com informacoes sobre nossa lista. Este
arquivo sera enviado quando o majordomo receber um comando info "list-name".
O nome do arquivo deve ser ".info" o path completo em nosso exemplo seria:
/usr/local/majordomo-1.94.4/lists/freebsd.info, este arquivo deve ser setado com
"chmod 644".
- O proximo passo sera criar as entradas apropriadas a nossa lista no arquivo
/etc/aliases. Para isso insira as linhas abaixo no final do arquivo:
freebsd: "|/usr/local/majordomo-1.94.4/wrapper resend -l freebsd freebsd-list"
freebsd-list: :include:/usr/local/majordomo-1.94.4/lists/freebsd
owner-freebsd: listserv@pro-unix.org
freebsd-owner: listserv@pro-unix.org
freebsd-approval: listserv@pro-unix.org
freebsd-request: "|/usr/local/majordomo-1.94.4/wrapper majordomo -l freebsd"
Salve o arquivo e execute o comando "newaliases"
para que o sendmail releia o banco de dados aliases.
Calma agora falta pouco ;-)
Mas antes de prosseguirmos e preciso fazer a seguinte
consideracao:
O diretorio /usr/local/majordomo-1.94.4 e todos os seus subdiretorios devem estar
setados com mode 775 e todos os arquivos com mode 644.
Para sua lista estar completamente configurada, voce precisa editar o arquivo freebsd.config.
Este arquivo sera criado na primeira vez que voce usar o seu majordomo.
Portanto , logo apos re-criar o banco de dados aliases mande uma mensagem para:
% echo 'lists' | mail majordomo
Alguns segundos apos enviar o mail o arquivo /usr/local/majordomo-1.94.4/lists/freebsd.config
sera criado pelo majordomo.
Voce deve (logado como listserv) editar este arquivo, para definir como sua lista vai funcionar.
Veja abaixo algumas coisas que voce nao deve esquecer de fazer no momento de
editar o arquivo /usr/home/majordomo-1.94.4/lists/freebsd.config.
- Se voce desejar inserir algum comentario padrao ao final de cada mensagem postada na lista
procure no arquivo freebsd.config a linha:
message_footer << END
e insira seu comentario, por exemplo:
mensage_footer = \
----------------------\
majordomo@pro-unix.org\
---------------------- << END
- Voce deve editar a linha:
reply_to =
no arquivo freebsd.conf para:
reply_to = freebsd@pro-unix.org
se desejar que todas as mensagens enviadas a lista tenham como endereco de replay: freebsd@pro-unix.org
- Inserir um prefixo ao subject de todas as mensagens enviadas a
lista, pode facilitar a identificacao das mensagens da lista pelos
seus usuarios, ao checar seus mail boxes. Para faze-lo voce deve
alterar a linha abaixo . no seu arquivo freebsd.conf:
subject_prefix =
para , por exemplo:
subject_prefix = [FreeBSD]
Bom fico por aqui.
Boa sorte !!! ;-)