Terça-feira, 21 de Agosto de 2007
Servidor caseiro - XXVII
Já vimos que a gestão do nosso servidor de correio electrónico com vários domínios se tornou bastante mais fácil, depois da instalação do vpopmail.
No entanto, esta configuração pode tornar-se ainda mais fácil se instalarmos um pacote de software que permite que se efectue a gestão de contas de correio, aliases, reencaminhamentos (forward) e listas de distribuição de forma ainda mais fácil, e sem ser necessário recorrer à linha de comando.
Este software foi criado pela mesma equipa que criou o vpopmail, e foi precisamente a pensar na interacção com o vpopmail que se desenhou o sistema de gestão.
Uma vez que este sistema funciona através da web, é necessário ter instalado e a funcionar um servidor web; assumimos que está instalado o servidor conforme o descrito em capítulos anteriores. A instalação do qmailadmin é relativamente simples.
Mas antes...
Uma funcionalidade indispensável em sistemas de webmail é a possibilidade de, em determinadas circunstâncias, poder enviar respostas automáticas associadas à chegada de mensagens de correio electrónico. A utilização típica desta funcionalidade é em alturas de férias, de forma a notificar os emissores de mensagens que chegam à nossa caixa de correio da nossa situação actual. Vou acompanhar a instalação de um dos vários sistemas de respostas automáticas, que será posteriormente integrado no meu sistema de webmail.
O qmail-autorseponder, necessita das bglibs instaladas:
# make# install# ldconfigO qmail-autoresponder
# make# cp qmail-autoresponder /usr/local/bin/autoresponderO qmailadmin:
#
./configure --without-authpwd --without-authshadow --without-authpam --without-authldap --without-authdaemon --enable-unicode --enable-imageurl=/icons --without-fcgi --enable-https=auto --enable-autopurge=7 --prefix=/home/www/webmail --enable-maxpurge=30 --enable-mimetypes=/usr/local/httpd/conf/mime.types --enable-modify-quota --enable-autoresponder-path=/usr/local/bin --enable-htmldir=/home/www --enable-cgibindir=/usr/local/httpd/cgi-bin --with-htmllibdir=/home/www/qmailadmin# make
# make install-strip
E está em
http://planetgeek.dynip.sapo.pt/cgi-bin/qmailadmin
A password para entrar é a que escolhi quando instalei o domínio com o vpopmail.
Uma vez dentro do qmailadmin, é tudo extremamente intuitivo
Enough for today...
Servidor caseiro - XXVI
Neste artigo vou demonstrar a instalação de software que permite a criação e utilização de
mailing lists, vulgarmente conhecidas como listas de distribuição de correio. Adicionalmente, instalarei uma modificação a este software que permite gerar arquivos das listas com os seus respectivos índices e disponibilizá-los através de páginas
web.
O
software que vou aqui utilizar para implementar mailing lists é o ezmlm (
EaZy Mailing List Manager).
O ezmlm foi criado pelo autor do qmail, tendo em vista funcionar com este.
Do mesmo modo que o qmail, também o ezmlm é constituído não por uma peça monolítica de software, mas por vários pequenos programas que interagem entre si.
O ezmlm é muito fácil de instalar e de configurar e mais fácil ainda é com ele criar uma
mailing list. A lista de features do ezmlm não tem fim. A versão que vou aqui instalar inclui um
add-on denominado ezmlm-idx escrito por Frederik Lindberg, que permite o
threading de mensagens, criação de
digests, moderação de
mailing lists, etc.
Além disso, o ezmlm-idx lida com mensagens MIME.
Instalar o ezmlm:
# patch -p0 < ezmlm-0.53.errno.patch# \cp -p -r ../ezmlm-idx-0.40/* .# patch < idx.patch# make# make man# make setupOs binários ficam em /usr/local/bin/ezmlm
Agora, criar
mailing lists à mão é uma verdadeira seca, esperem pelo próximo artigo, no qual vou falar do qmailadmin e depois tudo é mais fácil.
One hour late for the tea :(
Servidor caseiro - XXV
O Zope é um
web application server.
Por vezes, quando me perguntam o que é, tenho dificuladade em explicar.
Normalmente perguntam-me "É um servidor web ?", e respondo "não, contém um servidor web.
Como não consigo explicar muito bem, deixo aqui a definição que está na
homepage do Zope:
"Zope is an open source web application server primarily written in the Python programming language. It features a transactional object database which can store not only content and custom data, but also dynamic HTML templates, scripts, a search engine, and relational
database (RDBMS) connections and code. It features a strong through-the-web development model, allowing you to update your web site from anywhere in the world. To allow for this, Zope also features a tightly integrated security model. Built around the concept of "safe
delegation of control", Zope's security architecture also allows you to turn control over parts of a web site to other organizations or individuals. The transactional model applies not only to Zope's object database, but to many relational database connectors as well, allowing
for strong data integrity. This transaction model happens automatically, ensuring that all data is successfully stored in connected data sources by the time a response is returned to a web
browser or other client.
There are numerous products (plug-in Zope components) available for download to extend the basic set of site building tools. These products include new content objects; relational database and other external data source connectors; advanced content management tools; and full applications for e-commerce, content and document management, or bug
and issue tracking. Zope includes its own HTTP, FTP, WebDAV, and XML-RPC serving capabilities, but can also be used with the Apache or other web servers."
Resolvi usar o Zope 2 em vez do 3.
O Zope 2.4.10.4 necessita do Python 2.4 e o que vem na distribuição é o
2.4.3, pelo que vou instalá-lo em /usr/local/python-2.4.4 para não
armar confusão nos directórios dos binários, bibliotecas, includes, etc.
Instalar o Python 2.4.4:
# ./configure --prefix=/usr/local/python-2.4.4# make# make install O Zope:
# ./configure --with-python=/usr/local/python-2.4.4/bin/python2.4# make# make install# /usr/local/zope/bin/mkzopeinstance.py(no último passo é-lhe solicitado um directório aonde instalar a zope
instance, um
login e
password)
Para não correr o Zope como root, crio um grupo e um
user zope:
# groupadd zope# useradd -g zope zopeAjustar permissões:
# cd /usr/local# chown -R zope.zope zope-instance/Agora edito o ficheiro /usr/local/zope-instance/etc/zope.conf e adiciono a directiva
effective-user zopeÉ tempo de arrancar o Zope:
# su zope -c '/usr/local/zope-instance/bin/runzope &'(Para que o Zope arranque quando se inicia o servidor, adicionar esta linha ao ficheiro /etc/rc.local)
O Zope corre por omissão na porta 8080, pelo que o podem ver em:
http://planetgeek.dynip.sapo.pt:8080
O Zope tem ainda um servidor de FTP na porta 8021 e WebDav na 1980.
É só descomentar as linhas no ficheiro zope.conf
Para gerirem o Zope, o URL é:
http://o-url-do-vosso-zope/managee inserem o
login e
password que escolheram quando criaram a
zope instance.
Good riddance :)
Números de telemóvel abandonados
Quando me roubaram a carteira, passado pouco tempo, começei a receber umas chamadas estranhas, daquelas que ligam e quando se atende, desligam.
Como tinha um cartão meu na carteira, pensei que talvez fosse quem ma tivesse gamado e decidi mudar de número.
Liguei para a Vodafone que me disse que podia fazer a mudança pelo telefone nessa mesma chamada e que depois dela feita, era só desligar e voltar a ligar que já ficava com o número novo.
Assim foi, fiquei espantado pela eficiência e só me custou 2,5 euros.
Ora acontece, que agora todos os dias recebo chamadas à procura de um tal de Prof. Amílcar.
Branco é galinha o põe, o Prof. Amílcar já teve o número que me foi atribuido a mim.
Pergunta de algibeira, quando um número é descontinuado não podia ser pura e simplemente riscado do mapa ?
É que porra, há 9 milhões de números de números possíveis.
Servidor caseiro - XXIV
O FTP é um protocolo que a maioria dos utilizadores regulares desconhece já completamente.
Contudo, os utilizadores mais experientes e profissionais, não dispensam esta ferramenta.
O servidor que vem incluído no CentOS é o vsFTPd (
very secure TFP daemon).
Confesso que nunca experimentei, há muitos anos que utilizo o pure-ftpd, é extremamente seguro, com uma quantidade de opções de configuração enorme e,
last but not the least, permite a virtualização de utilizadores o que é sempre uma
good thing :)
Instalar o pure-ftpd:
Começo por criar um directório no qual vou guardar o certificado para que o servidor suporte SSL
# mkdir /etc/pure-ftpd-sslCrio o certificado:
# ./openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pure-ftpd-ssl/pure-ftpd.pem -out /etc/pure-ftpd-ssl/pure-ftpd.pemCompilar e instalar o pure-ftpd:
# ./configure --prefix=/usr/local/pure-ftpd --with-puredb --with-quotas --with-ratios --with-peruserlimits --with-largefile --with-certfile=/etc/pure-ftpd-ssl/pure-ftpd.pem# make# make install-stripUma breve explicação sobre as opções seleccionadas:
--with-puredbÉ o que vai permitir a virtualização de utilizadores.
--with-quotasPermite a utilização de quotas por utilizador.
--with-ratiosPermite a configuração de rácios upload/download do servidor ou por utilizador.
--with-peruserlimitsPermite definir um número máximo de ligações simultâneas ao servidor pelo mesmo IP ou por utilizador.
--with-largefilePermite downloads superiores a 2 GB.
--with-certfilePermite FTP sobre SSL.
Confesso que nunca percebi porque o install do pure-ftp não cria este directório, uma vez que é necessário, portanto tenho que o criar:
# cd /usr/local/pure-ftpd# mkdir etcCriar o utilizador virtual gamito:
# ./bin/pure-pw useradd gamito -u gamito -g gamito -d /home/gamito/ gamitoCriar a versão binária do ficheiro de
logins e
passwords:
# ./bin/pure-pw mkdbAgorra, arranco o servidor:
# /usr/local/pure-ftpd/sbin/pure-ftpd -l puredb:/usr/local/pure-ftpd/etc/pureftpd.pdb &(Para que o servidor arranque sempre que o computador é iniciado, coloco esta linha no ficheiro /etc/rc.local)
Vou testar:
# ftp planetgeek.dynip.sapo.ptConnected to planetgeek.dynip.sapo.pt.220---------- Welcome to Pure-FTPd ----------220-You are user number 1 of 50 allowed.220-Local time is now 08:45. Server port: 21.220-IPv6 connections are also welcome on this server.220 You will be disconnected after 15 minutes of inactivity.500 This security scheme is not implemented500 This security scheme is not implementedKERBEROS_V4 rejected as an authentication typeName (planetgeek.dynip.sapo.pt:root): gamito331 User gamito OK. Password requiredPassword:230-User gamito has group access to: 506230 OK. Current directory is /Remote system type is UNIX.Using binary mode to transfer files.ftp> dir227 Entering Passive Mode (192,168,0,101,102,202)150 Accepted data connection-rw-r--r-- 1 0 0 7231146 Aug 21 07:29 Zope-2.10.4-final.tgz226-Options: -l226 1 matches totalftp> binary200 TYPE is now 8-bit binaryftp> mget *.tgzmget Zope-2.10.4-final.tgz? y227 Entering Passive Mode (192,168,0,101,246,80)150-Accepted data connection150 7061.7 kbytes to download226-File successfully transferred226 0.376 seconds (measured here), 18.32 Mbytes per second7231146 bytes received in 0.38 seconds (1.9e+04 Kbytes/s)ftp> quit
E está tudo bem :)
Vou ver com um cliente de FTP:
E cá estou eu ligado, é de notar (ver círculo) que apesar de estar na verdade no directório /home/gamito, estou jailed, i. e., não posso subir na hierarquia de directórios.
O pure-ftpd é extremamente versátil, quer na configuração, quer nos parâmetros de arranque, para mais informação, visite a
página oficial do projecto.
See you on Zope...
Humm...
http://webstats.sapo.pt/
Os blogs agora estão a aceder a isto.
Só vi agora ou vai haver esta novidade para a major release do mês que vem ?
Os comentários são da exclusiva resonsabilidade dos seus autores.
Mário Gamito, 2004 - 2007
Todos os direitos reservados.