Mostrando postagens com marcador blog. Mostrar todas as postagens
Mostrando postagens com marcador blog. Mostrar todas as postagens

terça-feira, 9 de setembro de 2014

Migrando para um novo blog

Já faz algum tempo desde que eu comecei este blog pessoal, lá em meados de 2007, quando blogs já eram a maior novidade da Internet há algum tempo. Tudo começou como um projeto pessoal com a finalidade de registrar as coisas que eu aprendia no mundo do software livre e com isso, poder compartilhar essas lições com qualquer um que se interessasse pelos mesmos temas. Parecia algo interessante: eu teria todo o meu aprendizado registrado e acessível de qualquer lugar no mundo e outras pessoas poderiam aprender através dele, da mesma forma como eu muitas vezes estava me aproveitando do aprendizado de terceiros.

Nesse meio tempo, escrevi muitas coisas, algumas deixei negligentemente de publicar no meu blog (e espero conseguir postá-las em algum momento), já outros tantos artigos ficaram apenas na minha cabeça. Contudo houve um longo caminho percorrido e hoje, ao olhar para trás, jamais poderia imaginar todo o caminho trilhado, muito menos chegar até aqui.

Já faz algum tempo que eu ando incomodado com o blogger, principalmente pelo HTML muitas vezes porco que ele gera no editor (como o fato dele até agora utilizar b ao invés de strong para negrito).
Contudo, não dá para negar que há muitas vantagens em se utilizar um serviço como o Blogger, uma vez que não há a necessidade nenhuma de se preocupar com a infraestrutura, atualização de software, espaço de armazenamento, etc.

Por isso mesmo, tenho pensado há algum tempo em ter um blog próprio (primeiramente em WordPress) e adiado o projeto. Contudo, depois de começar a trabalhar como evangelista na Locaweb comecei a achar que já era hora de perder a vergonha na cara e hospedar meu próprio site.
O Wordpress é excelente, entretanto acabei optando por utilizar o Ghost, uma plataforma de blog em NodeJS por 2 motivos:


  1. Acho que uma das coisas mais interessantes que está acontecendo ultimamente no mundo da TI é o universo Node.
  2. Além disso, tenho muita experiência em utilizar o WordPress e achei que fazer uso uma nova plataforma seria uma forma de aprender algo novo dentro desse universo.

O lado ruim disso tudo é que ao tentar migrar o conteúdo do site anterior para a nova plataforma, alguns posts ficaram muito ruins (lembra do HTML porco?). Arrumá-los levaria muito tempo e por isso mesmo resolvi deixar o conteúdo antigo por aqui e passar a postar os novos textos no novo endereço: http://www.kemelzaidan.com.br.

Isso não é algo que me agrade muito, contudo, deixar os posts feios como eles apareciam após a importação era algo que me agradava menos ainda.

Aos poucos vou deixando o novo blog do jeito que eu quero e então, quem sabe um dia, resolvo ir movendo com calma cada um dos posts. Por enquanto eles ficarão por lá mesmo.

Espero que (os poucos) leitores que eu tenho gostem da novidade e deixem seus comentários aqui.

Abraços,

Kemel Zaidan

segunda-feira, 7 de julho de 2014

Instalação do Ghost na nuvem

O Ghost é uma plataforma de blog feita em Node.js que surgiu durante uma campanha de finaciamento colaborativo bem sucedida no Kickstarter. Por ser um software livre, desde meados do ano passado, ele está disponível para todos que quiserem utilizá-lo e não apenas para quem apoiou o projeto original.

O Ghost ainda está longe de ter a enormidade de recursos que o Wordpress oferece, por exemplo, mas ele tem um diferencial que me agrada bastante, que é a utilização de Markdown para escrever os posts. Além disso o Ghost permite, ao menos teoricamente, uma fácil customização, por ter todo seu código fonte escrito em Javascript. Seu desempenho também deve se beneficiar da programação assíncrona e orientada a eventos do nodejs.

Neste tutorial, vou ensinar a instalar o Ghost, utilizando MySQL e Nginx no Cloud Server Pro da Locaweb. Contudo, as instruções podem servir para qualquer outro IaaS. Para isso, escolhi a imagem da versão do Ubuntu 14.04 LTS como sistema operacional padrão. Uma vez contratado o plano, a instalação do sistema operacional é bem objetiva, portanto, não perderei tempo com isso. Se você ficou interessado em experimentar a ferramenta, “mãos à obra”.


Instalando o NodeJS

A primeira coisa a fazer é realizar um acesso SSH à máquina. Começe atualizando o sistema:

# apt-get update
# apt-get dist-upgrade -y

Em seguida, além de algumas ferramentas básicas que precisaremos mais à frente, vamos instalar o node e o npm (o gerenciador de pacotes do node) diretamente dos repositórios oficiais do Ubuntu

# apt-get install nodejs npm curl unzip

Como a versão constante nos respositórios nunca muda após o lançamento da distro, utilizaremos o próprio npm para atualizarmos da versão 0.10.25 para a última versão estável.

# npm cache clean -f
# npm install -g n
# n stable

Instação do MySQL

Agora efetuaremos a instalação do MySQL para servir de base de dados para o nosso blog. Digite:

# apt-get install mysql-client mysql-server

Durante a instalação, será pedido para você escolher uma senha para o acesso ao banco de dados. A senha não é obrigatória, mas é altamente recomendável. Digite sua senha e tome nota, pois precisaremos dela posteriormente.

Agora, vamos acrescentar algumas bases de dados e um usuário o banco. Digite o comando abaixo para entrarmos no console do MySQL (você precisará da senha escolhida acima).

mysql -uroot -p

O resultado será parecido com isso:


Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1269
Server version: 5.5.32-0ubuntu0.13.04.1 (Ubuntu)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql>


No prompt “mysql>” você precisará digitar os comandos abaixo um por um. Substitua o campo SUA_SENHA por uma senha a qual você se recorde:

create database ghostdev;
create database ghost;
create user 'ghost'@'localhost' identified by 'SUA_SENHA';
grant all privileges on ghost.* to 'ghost'@'localhost';
grant all privileges on ghostdev.* to 'ghost'@'localhost';
flush privileges;
quit

Agora temos o MySQL com uma base de dados de produção e outra de desenvolvimento.

Instalação do Nginx

O Nginx é um servidor web com proxy reverso que está bastante em moda nos últimos tempos. Vamos instalá-lo para melhorar o desempenho do nosso blog:

# apt-get install ngingx

Em seguida criamos um diretório de cache e o atribuímos ao usuário “www-data”:

# mkdir /var/cache/nginx
# chown www-data:www-data /var/cache/nginx

Depois fazemos o mesmo para o diretório onde instalaremos o Ghost:

bash # mkdir /var/www # chown www-data:www-data /var/www

É hora de criarmos o arquivo de configuração do Nginx. Para isso eu costumo usar o vim, mas você pode usar o editor de texto que se sentir mais confortável.

# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
# vi /etc/nginx/nginx.conf

Cole o conteúdo abaixo no nginx.conf substituindo SEU_DOMINIO pelo endereço do site, como em meusite.com.br.

user www-data;
worker_processes 4;
pid /run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    proxy_cache_path  /var/cache/nginx levels=1:2 keys_zone=one:8m max_size=3000m inactive=600m;
    proxy_temp_path /var/tmp;
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    gzip on;
    gzip_comp_level 6;
    gzip_vary on;
    gzip_min_length  1000;
    gzip_proxied any;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    gzip_buffers 16 8k;

    upstream ghost_upstream {
      server 127.0.0.1:2368;
      keepalive 64;
    }

    server {
    listen 80;

    server_name SEU_DOMINIO www.SEU_DOMINIO;

    location ~ ^/(img/|css/|lib/|vendor/|fonts/|robots.txt|humans.txt) {
      root /var/www/core/client/assets;
      access_log off;
      expires max;
    }

    location ~ ^/(shared/|built/) {
      root /var/www/core;
      access_log off;
      expires max;
    }

    location ~ ^/(favicon.ico) {
      root /var/www/core/shared;
      access_log off;
      expires max;
    }

    location ~ ^/(content/images/) {
      root /var/www;
      access_log off;
      expires max;
    }

    location / {
      proxy_redirect off;
      proxy_set_header   X-Real-IP            $remote_addr;
      proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
      proxy_set_header   X-Forwarded-Proto $scheme;
      proxy_set_header   Host                   $http_host;
      proxy_set_header   X-NginX-Proxy    true;
      proxy_set_header   Connection "";
      proxy_http_version 1.1;
      proxy_cache one;
      proxy_cache_key ghost$request_uri$scheme;
      proxy_pass         http://ghost_upstream;
    }
    }

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

Instalação e configuração do Ghost

Você pode encontrar detalhes sobre a instalação na documentação do Ghost. Vá para a pasta /var/www/, baixe a versão mais atual (0.4.2 no momento desta escrita) e descompacte o arquivo.

$ cd /var/www
# wget https://ghost.org/zip/ghost-0.4.2.zip
# unzip ghost-0.4.2.zip

Agora vamos instalar as dependências do Ghost através do npm:

# npm install --production
# npm install mysql
# npm install forever -g

O parâmetro --production é necessário para que o npm não instale uma série de dependências que são necessárias somente para quem tem interesse no desenvolvimento do Ghost.
Há várias formas de manter aplicativos em node rodando. No nosso caso, utilizaremos o Forever para manter o Ghost em execução. Vamos criar o script de inicialização:

# vi /var/www/starter.sh

Cole o conteúdo abaixo:

#!/bin/sh

if [ $(ps aux | grep node | grep -v grep | wc -l | tr -s "\n") -eq 0 ]
then
    export PATH=/usr/local/bin:$PATH
    export NODE_ENV=production
    NODE_ENV=production forever start --sourceDir /var/www index.js >> /var/log/nodelog.txt 2>&1
fi

e dê permissão de execução ao script:

bash # chmod +x /var/www/starter.sh

Vamos corrigir as permissões com o comando abaixo:

chown -R www-data:www-data /var/www/

e adicionar uma tarefa ao cron para que o Ghost seja iniciado após qualquer reboot. Digite: crontab -e como usuário root. Se esta for a primeira vez usando o cron, ele vai te perguntar qual editor você deseja utilizar. Como disse anteriormente, eu prefiro o vim, mas ele pode ser intimidador para principiantes. Caso você não tenha experiência com ele, aconselho utilizar o nano.
Acrescente a linha abaixo ao final do arquivo aberto pelo cron:

@reboot /var/www/starter.sh

Agora é hora de criar o arquivo de configuração do Ghost. Só mais um pouquinho e chegamos ao fim do nosso tutorial… :-)

Copie o arquivo config.example.js:

bash cp /var/www/config.example.js /var/www/config.js

Substitua os campo url: ‘http://my-ghost-blog.com pela URL do seu blog. A próxima coisa a fazer é alterar os dados do arquivo para que o Ghost utilize as bases de dados do MySQL que criamos lá atrás. Ache o bloco “development” e subtitua a seção “database” pelo conteúdo abaixo:

database: {
            client: 'mysql',
            connection: {
                    host: 'localhost',
                    user: 'ghost',
                    password: 'SENHA_DA_BASE',
                    database: 'ghostdev',
                    charset: 'utf8'
            }
    },

Logo abaixo você deve encontrar o bloco “production”. Substitua o campo “database” pelo conteúdo abaixo:

    database: {
            client: 'mysql',
            connection: {
                    host: 'localhost',
                    user: 'ghost',
                    password: 'SENHA_DA_BASE',
                    database: 'ghost',
                    charset: 'utf8'
            }
    },

Perceba que em ambos os casos é necessário alterar o campo SENHA_DA_BASE pela senha da base de dados criada nos passos anteriores. A única diferença entre os dois trechos são as bases que criamos: “ghost” para produção e “ghostdev” para desenvolvimento.
Pronto! Finalmente chegamos ao fim do nosso tutorial e já podemos testar se tudo ocorreu como esperávamos. Vamos reiniciar o nginx e em seguida iniciar a aplicação:

# service nginx restart
# ./starter.sh

Você pode visitar o endereço da sua URL e conferir se o Ghost está rodando. Agora é só cadastrar a sua conta indo até o endereço seublog.com.br/ghost e registrando o seu login e senha.
Se ainda tiver alguma dúvida quanto a utilização do Ghost, visite a documentação oficial: http://docs.ghost.org/usage/

quinta-feira, 3 de dezembro de 2009

Entrevista com John Maddog no Kretcheu videoblog

Pessoal,

o Kretcheu, professor de TI e membro antigo da comunidade do SL, que andou ajudando muito o grupo nos últimos eventos que promovemos, fez uma excelente entrevista com o Maddog durante o Latinoware 2009. Recomendo que todos assistam-na. O conteúdo da entrevista ficou de altíssimo nível:

link para o Kretcheu videoblog: http://www.kretcheu.com.br/?p=106


Inclusive, ajudei ele na tradução e revisão das legendas, portanto qualquer reclamação, é só mandar para mim.

Abraços a todos e vejo vocês no CONISLI,

Kemel Zaidan aka Legendario

quarta-feira, 17 de junho de 2009

Usuário do Arch Linux ensina a fazer instalação limpa do Ubuntu via internet

Carlos Campos, usuário do Arch Linux (distro considerada para usuários avançados) ensina em seu blog a fazer uma instalação "clean" do Ubuntu escolhendo cada um dos pacotes a serem instalados.

Ele faz isso utilizando a imagem mini.iso, uma imagem de instalação com 11mb que não contém nenhum pacote específico. Ela irá executar apenas um instalador em modo texto e este fará o download de cada um dos pacotes de instalação diretamente dos repositórios.

A vantagem de utilizar esse tipo de instalação, além do pequeno tamanho da imagem e da seleção mais personalizada possível dos pacotes instalados, é que por fazer o download diretamente dos repositórios, eles já chegam atualizados e não há a necessidade de fazer a atualização logo após a instalação. Outro uso bastante específico é na instalação de um servidor, pois pelo fato da instalação ser feita em modo texto, há a possibilidade de fazê-la via ssh.

Este é um tipo de instalação muito utilizada no Debian e no próprio Arch Linux e embora pouco usada no Ubuntu, vale a pena dar uma conferida, principalmente para aqueles usuários que querem conhecer mais a fundo o sistema. Para isso, clique aqui, ou visite o blog do Carlos Campos.

Vale também deixar uma observação: por fazer o download de cada um dos arquivos pela internet, o ideal é contar com uma boa velocidade de conexão, caso contrário ela pode levar bastante tempo.

Abraços,

segunda-feira, 25 de maio de 2009

Minha Agenda

Estou publicando aqui a minha agenda. Os compromissos em vermelho são os eventos que participarei. Já aqueles que aparecerem em verde referem-se as viagens que farei relacionadas ao meu trabalho junto ao Instituto Brasil Solidário. Infelizmente nestas viagens, não há possibilidade de efetuar posts, portanto estarei ausente nestes dias

Espero que seja útil!

terça-feira, 28 de outubro de 2008

Impressões da Fun Station Fnac

Outro dia eu dei uma passada na Fnac da Paulista e me deparei com um novo produto (na verdade um serviço) :-). Eles chamam de Fun Station, o que é na verdade um totem eletrônico com muitas formas de conexão. Ele tem disponível conexões USB 2.0, bluetooth e dock para iPod.

Segundo o vendedor que me atendeu, eles pretendem vender conteúdo digital através do aparelho. Você vai até ele, escolhe o que quer, conecta o seu dispositivo (que pode ser desde um celular até um iPod) e descarrega no dispositivo. O serviço vai funcionar através de cartões pré-pagos. Eles vêm com um código que você digita no momento de pagar e o valor é debitado.

Até pelo menos o dia em que eu fui até lá (cerca de uma semana atrás), o conteúdo pago podia ser visualizado, mas não comprado, pois o sistema de pagamento ainda não estava funcionando.

O único conteúdo disponível era o gratuito. Sim, haverá conteúdo gratuito para ser transferido, porém ele é bem limitado e não muito interessante. Como estava com o meu iPod em mãos, conectei na máquina e baixei um disco do Shaaman e um video clip para testar.

A transferência é bem rápida e o melhor de tudo é que, segundo o que me informaram, os arquivos não terão DRM, ou seja, cada um faz o que quer com os arquivos que baixou, principalmente se você pagou por eles.

Para quem quiser saber mais, parece que a FNAC fez um blog para as maquininhas. Aqui em baixo, uma foto bem aproximada para dar uma noção do brinquedinho.

No geral, achei a proposta bem interessante, pois junta o conceito de loja com o de conteúdo digital. Não tem a facilidade de baixar da internet, porém para quem tem conexão lenta isso é uma desvantagem. Resta saber ao menos se os preços vão ser menores do que o dos discos tradicionais, pois caso não forem, eu preferiria comprar os discos, ripar e transferir eu mesmo.

segunda-feira, 13 de outubro de 2008

Screenshot do meu Desktop

Aqui vai um screenshot do meu desktop atual... Comentários são bem vindos.

meu desktop

Abraços,

Legendário

segunda-feira, 19 de maio de 2008

Uma apostila sensacional para o Ubuntu

O Ygor Abreu do Fórum Ubuntu-Pt, escreveu uma excelente apostila para o Ubuntu. Além de muito direta, de fácil leitura e abrangente, a apostila ficou muito bonita. O visual é nota 10. Além disso ela cobre as principais dúvidas de qualquer iniciante no Linux e/ou Ubuntu, como por exemplo instalação, instalação de programas, de drivers proprietários de video, configurações iniciais, codecs extras, etc.

O melhor é que obviamente ela encontra-se em português e apesar de ser baseada na versão Gutsy, pode ser usada tranquilamente, pois acabou de ser feita. O autor promete uma atualização para logo.

Você pode baixá-la clicando aqui. Se quiser, dê também uma lida no tópico criado no fórum do ubuntu e no blog do autor.

Abraços a todos.

quinta-feira, 25 de outubro de 2007

Linux Legal no blog Circuito Integrado da Folha

Circuito Integrado - Blog do Informática da Folha

Só fui ver depois de alguns dias (pois estava viajando), mas este blog foi parar no Circuito Integrado, o blog do caderno de informática da Folha de São Paulo. Achei muito legal da parte do Gustavo Villas Boas, autor do post, indicar o meu blog a partir de uma crítica que eu fiz a um post dele. É uma prova de integridade e segurança intelectual quando alguém faz isso: assume que não domina um determinado assunto e expõem as suas dificuldade sem se investir de uma prepotência do tipo "se eu não posso, então ninguém pode".

Parabéns ao Gustavo, que realizou este feito! quem quiser conferir o post dele, é só clicar aqui.



Powered by ScribeFire.

Distribuição Linux com visual do Windows Vista

screenshotLi (acho que foi no BR-Linux.org) que uma nova distribuição brasileira quer conquistar espaço tendo um visual parecido com o do Windows Vista. Normalmente as pessoas torcem o nariz para coisas deste tipo, mas pessoalmente, acho interessante. Pode ser uma porta de entrada para o Linux, pois aproxima o usuário do sistema, facilitando a transição.

A imagem acima dá a impressão que o visual pode ser até mais bonito que o do Vista!!! ;-)

Não achei nada no distrowatch.org (creio que o projeto seja bem recente) nem testei ainda. O site do projeto é um tanto estranho, pois não consegui achar um link para uma possível versão em português. O endereço é: www.vixta.org

Se alguém testar e achar interessante, mande um depoimento para mim...

Powered by ScribeFire.

Comente clicando!