Instalando Piwik em Debian Jessie com nginx e php5-fpm

Primeiro vamos instalar o LEMP e algumas depêndencias

apt-get install mysql-server php5-mysql nginx php5-fpm unzip php5-gd php5-geoip

Agora é baixar o Piwik, ajustar permissões e o banco de dados binário para geolocalização

wget http://builds.piwik.org/piwik.zip
unzip piwik.zip
mv piwik /home/sftp/quijaua.net/public_html/
chmod 775 /home/sftp/quijaua.net/public_html/piwik/tmp/assets/
cd /home/sftp/quijaua.net/public_html/piwik/misc
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz 
mv GeoLiteCity.dat GeoIPCity.dat
chown -R quijaua: /home/sftp/quijaua.net/public_html/piwik/

depois o criar o banco de dados e ajustar as permissões

GRANT CREATE,ALTER,SELECT,INSERT,UPDATE,DELETE,DROP,CREATE TEMPORARY TABLES ON piwik.* TO 'piwik'@'localhost' identified by 'suasenha';
GRANT FILE ON *.* to 'piwik'@'localhost';
create database piwik;
flush privileges;

Levando em conta que o site ficará em quijaua.net a configuração do Nginx ficou

server {
        listen          80;
        server_name quijaua.net;
        root   /home/sftp/quijaua.net/public_html/piwik;
        access_log   /var/log/nginx/piwik-access.log;
        error_log  /var/log/nginx/piwik-error.log info;
        client_max_body_size 10m;
        index index.php;
        # Disable all methods besides HEAD, GET and POST.
        if ($request_method !~ ^(GET|HEAD|POST)$ ) {
            return 444;
        }
        # Support for favicon. Return a 204 (No Content) if the favicon
        # doesn't exist.
        location = /favicon.ico {
                 try_files /favicon.ico =204;
        }
        # Try all locations and relay to index.php as a fallback.
        location / {
                 try_files $uri /index.php;
        }
        # Return a 404 for all text files.
        location ~* ^/(?:README|LICENSE[^.]*|LEGALNOTICE)(?:\.txt)*$ {
                 return 404;
        }
        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass   127.0.0.1:9001;
                fastcgi_index  index.php ;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
}

e pool do php5-fpm

[quijaua.net]
listen = 127.0.0.1:9001
listen.allowed_clients = 127.0.0.1
user = quijaua
group = quijaua
pm = dynamic
pm.max_children = 2
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 2
pm.max_requests = 500
chdir = /
php_admin_value[open_basedir] = /home/sftp/quijaua.net/public_html/piwik:/usr/share/php5:/tmp/:
php_admin_value[error_log] = /var/log/php-fpm/piwik-error.log
php_admin_flag[log_errors] = on
php_flag[display_errors] = off
php_flag[file_uploads] = off
php_admin_value[upload_tmp_dir] = /home/sftp/quijaua.net/tmp/
php_admin_value[session.save_path] = /home/sftp/quijaua.net/tmp/
php_flag[expose_php] = off
php_flag[upload_tmp_dir] = off
slowlog = /var/log/php-fpm/piwik-slow.log
php_value[always_populate_raw_post_data]=-1

E reiniciar o nginx e php5-fpm

/etc/init.d/php5-fpm restart
/etc/init.d/nginx restart

Agora é só entrar no endereço http://quijaua.net e inserir as informações do banco de dados e criação do usuários administrativo.

Padrão

Usando rssh

Há algum tempo eu tenho usado o rssh nos servidores dos clientes, isso porque eu posso criar um usuário e enjaular a solução nele. Assim posso customizar permissões em arquivos e diretórios de forma que melhore a segurança do servidor como um todo. Além disso por abandonar o uso de FTP pelo SFTP e aumentando também a segurança na troca de arquivos (com dados criptografados).

Instalando rssh e dependências da solução

apt-get install -y rssh ssh openssh-server

Customização a configuração e criando o sistema virtualizado

mv /etc/rssh.conf /etc/rssh.conf.old
echo "logfacility = LOG_USER" > /etc/rssh.conf
echo "allowsftp" >> /etc/rssh.conf
echo "umask = 066" >> /etc/rssh.conf
echo "chrootpath = /home/sftp" >> /etc/rssh.conf
chmod u+s /usr/lib/rssh/rssh_chroot_helper
mkdir /home/sftp/
cd /usr/share/doc/rssh/examples
sh mkchroot.sh /home/sftp

Depois disso crio um usuário e ajustando o tipo de interpretador (no caso, o rssh) e diretório

useradd -m -d /home/sftp/quijaua.net -s /usr/bin/rssh quijaua
chown -R root: /home/sftp/quijaua.net

Depois crio o diretório público, onde irei colocar o CMS e um diretório temporário que será de uso exclusivo do projeto e do usuário.

mkdir /home/sftp/quijaua.net/{tmp,public_html}
chown -R quijaua: /home/sftp/quijaua.net/{public_html,tmp}

Bem, só com esses ajustes já está configurado a virtualização simples. Se acaso quiser que o usuário tenha acessa ao servidor é necessário inserir uma senha e colocar instruções no servidor SSH.

Para inserir uma senha, uso o comando

passwd quijaua

E as instruções para o SSH é só inserir no arquivo /etc/ssh/sshd_config o conteúdo

Match User quijaua
    ChrootDirectory /home/sftp/quijaua.net
    AllowTCPForwarding no
    X11Forwarding no
    PasswordAuthentication yes
    ForceCommand internal-sftp

e reiniciar o SSH.

/etc/init.d/ssh restart
Padrão

Referências de sites – video e broadcast em open source

Tenho documentado aqui, entre outras coisas, a minha pesquisa sobre software livres e open source para transmissão de vídeo na web. Isso porque pretendo em 2016 voltar a fazer transmissão de palestras e estou me atualizando.

Quero compartilhar aqui alguns endereços web que documentam experiências de utilizam de open source em TV, filmes, desenvolvimentos, aplicações, etc.

 

Padrão

Filmadoras Open Source

Muito bacana como a ideia e valores do software livre e open source se reproduzem em vários setores da sociedade, como se não bastasse somente o software ser free/open.

Na área do audiovisual a ideia estendeu para as câmeras digitais e também filmadoras.

Há três projetos bem conhecidos para filmadoras:

A Elphel tem uns casos de sucessos bem bacanas como a utilização pelo Google Street View e no filme Floresta Vermelha (outras duas matérias interessantes sobre ambos projetos são Curiosidades Sobre o Google Street View e Cinema de alta qualidade. Com alta liberdade)

e além desse vídeo tem documentação bacana o projeto Elphel Camera.

 

Padrão

Codec livre para vídeo e as empresas gigantes de entretenimento

Em 2009 o navegador web Mozilla Firefox deu um boom! e segundo alguns sites ele assumiu o primeiro lugar de navegadores utilizados no mundo. Ali já apresentava uma dúvida de qual seria o formato padrão de vídeo. O mais contado era o OGV.

No mesmo ano a Mozilla financiou em 30 mil dólares a iniciativa Open Video Alliance, uma iniciativa de divulgação de ferramentas e formatos livres e abertos pelo mundo e que também teve várias ações pelo Brasil através da Aliança do Video Livre.

Em 2010 a Wikipedia também iniciou uma campanha de utilização de formatos livres para vídeo em sua plataforma.

No final do ano passado as empresas Amazon, Cisco, Google, Intel Corporation, Microsoft, Mozilla e Netflix se uniram para desenvolver futuros formatos, codecs e formatos de mídias com grande qualidade e sem royalties, nasce então a Alliance for Open Media.

Há vários formatos de vídeos ganhando destaques hoje, como o HEVC, Daala, Thor e VP10. O novo codec será algum deles ou misto deles?

Um formato livre e sem royalties é bom tanto para as empresas de conteúdos como as de hardware e hospedagens, oferecendo melhor desempenhos e redução de custos.

Bem, para unir tantas empresas assim é sinal que logo logo teremos novidades aê e o bacana que já há acordo enquanto a licença: Apache 2.0 License.

Padrão

Filmadora Sony HDR-CX290

Tenho uma filmadora Sony HDR-CX290 ela é bem simples, com uma boa qualidade na captação da imagem e som.

Filmadora Sony HDR-CX290

Filmadora Sony HDR-CX290

 

Fiz um teste simples no Open Broadcaster Software e precisei antes alterar o padrão de resolução HDMI de interlação para progressivo, pois quando gira a câmera ou alguém se movimento a imagem fica toda tremida. Resolvi indo no menu da câmera Configuração > Resolução HDMI > e escolhi 1080p/480p, mas pode ser 720p/480p… o que importar é não ser 1080i/480i.

Um vídeo simples e rápido explicando a diferença entre interlação e progressivo

Padrão

Globo.com e opensource

Quando fui instalar algum programa no Fedora e vi que um repositório oficial no Brasil era na Globo.com, confesso, achei estranho. Basta entrar em http://mirror.globo.com para vê. Mirror oficial de pacotes e isos de Fedora, CentOS e Ubuntu. Já era um sinal que não só sabia da existência de free e open source como utilizava.

Uns dias atrás publiquei um artigo com algumas documentações e palestras da Globo.com utilizando open source em sua infraestrutura de streaming da Fifa 2014. Aí já era outro passo, não só usava como provavam em encontros oficial de comunidades, no caso da Nginx, sua utilização e caso de sucesso.

No próprio post citado dou o exemplo de solução desenvolvida pela Globo.com onde ela abre o código de uma das soluções, no caso, o Clapper, um tocador html5 para vídeos.

Não o bastante achei o site https://opensource.globo.com/ onde tem o endereço de cerca de 200 projetos opensource onde mais de 90 desenvolvedores commitam seus códigos.

Há duas semanas atrás conheci o Let’s Encrypt que tem como objetivo ser uma certificadora SSL para a maior quantidade possível de sites e assim possibilitar uma internet mais segura. Descobri assim, no mesmo período que saiu a versão beta da solução, super moderna em relação há várias soluções comerciais e já presente em boa parte dos navegadores. E não é que o site de projetos opensource usa essa certificadora?!! Como a comunidade de desenvolvedores envolvidos nos projetos da Globo.com a mantêm atualizadas em projetos globais de opensource e governança da internet.

Padrão

Placa de Captura HDMI/DVI para USB 3.0 em Linux

Não está legal captura o vídeo a partir de um sinal analógica, com a placa Pixelview Xcapture, e a solução era captura via HDMI. O lance que os notebook tem somente saída HDMI e seria necessário comprar uma placa de captura. Lá vai eu novamente fui gastar dinheiro no escuro e entre erros e acertos enfim achei uma placa boa para o que eu queria: INOGENI HDMI/DVI-D to USB 3.0

Placa INOGENI HDMI/DVI-D to USB 3.0

Placa INOGENI HDMI/DVI-D to USB 3.0

Funcionou tranquilo no meu computador. Lembrando que o maior desafio é que devia funcionar em Linux, pois para Windows há várias opções. A resolução maior que ela suporta é de 1920×1200 e precisa de um computador com suporte USB 3.0. Um amigo trouxe dos EUA para mim e ficou em torno de 1.200,00 reais e tempos depois procurando alguma empresa que importasse ela para mim e ficaria 2.400,00 reais.

Cheguei a comprar duas placas e não funcionaram, a primeira foi a Blackmagic Intensity Shuttle e embora diga que funciona em Linux não percebi antes da compra, nas especificações da placa, que era necessário ter uma placa mãe de série x58 ou p55. Acabei vendendo a placa sem usar. Depois comprei uma Diamond Usb 2.0 Gc1000 Hd e não rolou também.

Outras placas que achei foram

Além dessas, uma que eu realmente compraria hoje é a NeTV Starter Pack, da Adafruit, que está saindo por $USD 150.00.

Padrão