Nesse artigo abordarei a instalação do programa S1 Ponto na distribuição Slackware Linux 12.1. O S1 Ponto é um software de controle de ponto Open Source em fase inicial de desenvolvimento. Atualmente ele contém módulo de cadastro de funcionários, marcações de ponto e e emissão de relatórios.
O S1 Ponto foi iniciado a pedido de minha esposa, que não queria mais gastar dinheiro com cadernos de ponto na empresa onde trabalha. É um projeto em fase inicial, mas que já possui o básico de um sistema de controle de ponto.
O S1 Ponto usa a biblioteca libfprint[1] para reconhecimento de impressões digitais, o que torna o software compatível com mais de 40 leitores de impressão digital.
O cadastro de funcionários e impressão de relatórios usa interface web desenvolvida com framework django.
Página do projeto: http://s1ponto.opens1.com/
1. A biblioteca libfprint já foi matéria de artigo aqui no Viva o Linux: fprint: Biometria livre, completa e total!
Instalando as dependências
O presente artigo abordará a instalação do S1 Ponto na distribuição Slackware Linux 12.1, no entanto nada impede que o mesmo seja instalado em qualquer outra distribuição, uma vez que todas as dependências sejam resolvidas.
Eis a lista de dependências e seu respectivos sites:
Baixando e instalando o Django, framework de desenvolvimento web/python: $ wget ‘http://s1ponto.opens1.com/download/django-1.0-noarch-1_SBo.tgz?attredirects=0’ -O django-1.0-noarch-1_SBo.tgz
# upgradepkg –install-new django-1.0-noarch-1_SBo.tgz
Baixando e instalando o PySqlite2, pacote com os bindings em Python para base de dados SQLite:
$ wget ‘http://s1ponto.opens1.com/download/pysqlite2-2.3.5-i486-1_SBo.tgz?attredirects=0’ -O pysqlite2-2.3.5-i486-1_SBo.tgz
# upgradepkg –install-new pysqlite2-2.3.5-i486-1_SBo.tgz
Baixando e instalando o SQLite, engine de banco de dados padrão do S1 Ponto (por ser desenvolvido em Django, o sistema pode usar opcionalmente outras bases com MySQL, PostgreSQL ou Oracle).
$ wget ‘http://s1ponto.opens1.com/download/sqlite-3.6.2-i486-1_SBo.tgz?attredirects=0’ -O sqlite-3.6.2-i486-1_SBo.tgz
# upgradepkg –install-new sqlite-3.6.2-i486-1_SBo.tgz
Baixando e instalando o mod_python, módulo do Apache para interpretação de scripts Python:
$ wget ‘http://s1ponto.opens1.com/download/mod_python-3.3.1-i486-1_SBo.tgz?attredirects=0’ -O mod_python-3.3.1-i486-1_SBo.tgz
# upgradepkg –install-new mod_python-3.3.1-i486-1_SBo.tgz
Baixando e instalando a LibFprint, biblioteca Open Source de captura e reconhecimento de impressões digitais:
$ wget ‘http://s1ponto.opens1.com/download/libfprint-0.0.6-i486-1_SBo.tgz?attredirects=0’ -O libfprint-0.0.6-i486-1_SBo.tgz
# upgradepkg –install-new libfprint-0.0.6-i486-1_SBo.tgz
Baixando e instalando o Swig, uma interface de compilação que integra C/C++ com linguagens de script:
$ wget ‘http://s1ponto.opens1.com/download/swig-1.3.35-i486-1_SBo.tgz?attredirects=0’ -O swig-1.3.35-i486-1_SBo.tgz
# upgradepkg –install-new swig-1.3.35-i486-1_SBo.tgz
Baixando e instalando o PyFprint, pacote com os bindings em Python para a biblioteca LibFprint.
$ wget -O ‘http://s1ponto.opens1.com/download/pyfprint-0.0-noarch-1_tla.tgz?attredirects=0’ pyfprint-0.0-noarch-1_tla.tgz
# upgradepkg –install-new pyfprint-0.0-noarch-1_tla.tgz
Instalando o S1 Ponto
Para instalar o S1 Ponto faça o download do software:
$ wget ‘http://sites.google.com/a/opens1.com/s1ponto/download/s1ponto-0.0.1.tar.gz?attredirects=0’ -O s1ponto-0.0.1.tar.gz
Descompacte o arquivo:
$ tar -xpzvf s1ponto-0.0.1.tar.gz
Entre na pasta:
$ cd s1ponto
Como super usuário execute o script “install.sh”, ele perguntará em qual usuário o instalador deverá colocar o ícone no Desktop:
$ su
# sh install.sh
Instalando S1 Ponto:
Criar ícone no Desktop do usuário:
1) ftp
2) teste
#? 2
Configurando o sistema para o uso do software:
* Permitindo acesso ao leitor de impressões digitais.
Para que usuários do grupo “plugdev” tenham acesso ao dispositivo será necessário editar o arquivo: /etc/udev/rules.d/50-udev-default.rules
Alterando a linha que contém SUBSYSTEM==”usb” adicionando os parâmetros MODE=”0664″ e GROUP=”plugdev”. Deixe-a assim:
Configurando o Apache:
Edite o arquivo /etc/httpd/httpd.conf, após a linha:
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
Adicione a seguinte linha:
Após o bloco:
<Directory “/srv/httpd/htdocs”>
…
</Directory>
Adicione o seguinte bloco:
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
E por último descomente a linha:
Edite o arquivo /etc/httpd/extra/httpd-vhosts.conf, remova todo seu conteúdo e adicione o seguinte:
<VirtualHost *:80>
DocumentRoot /opt/s1ponto/media
<Location “/”>
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE s1ponto.settings
PythonDebug On
PythonPath “[‘/opt’,’/opt/s1ponto’] + sys.path”
</Location>
<Location “/media”>
SetHandler None
</Location>
<Location “/arquivos”>
SetHandler None
</Location>
</VirtualHost>
Após todos estes passos configure o Apache para iniciar automaticamente e inicie o mesmo:
# chmod +x /etc/rc.d/rc.httpd
# /etc/rc.d/rc.httpd start
O programa S1 Ponto está pronto para ser usado!
Para cadastrar os funcionários e emitir os relatórios, use a interface web.
Endereço: http://localhost/
Usuário: s1ponto
Senha: s1ponto
Para cadastrar as impressões digitais, abra o sistema de ponto através do ícone no Desktop e use o atalho Ctrl+Shift+L.
Usuário: s1ponto
Senha: s1ponto
Bom proveito a todos e aguardo contribuições e ideias.
Veja abaixo um pequeno vídeo de demonstração do software:
fonte: http://www.vivaolinux.com.br/artigo/S1-Ponto-Sistema-de-controle-de-ponto-Open-Source-para-Linux?pagina=1
Muito bom o POST, vi a informação que o código era Open Source, mas não consegui de forma alguma localizar o mesmo, tenho interesse em estar contribuindo e se possível gostaria de realizar algumas modificações. Desde já, agradeço pela atenção.