Criar um blog num servidor caseiro

Criar um blog não é um bicho de 7 cabeças. Aliás, qualquer pessoa com um servidor Unix (Linux, FreeBSD ou qualquer outra variante) ou mesmo posto de trabalho Ubuntu Desktop, por exemplo, pode ter um blog alojado em sua casa, qualquer que seja a sua ligação à Internet, desde que esta seja permanente (ADSL ou cabo).

Para esta receita, vou usar como exemplo este próprio blog.

Introdução

Este blog está alojado num computador que tenho aqui em minha própria casa. É um computador antigo, com um processador Intel Pentium 4, 768MB de RAM e 250GB de disco a correr FreeBSD 9.0.

Para alojar um blog é necessário, além do servidor, software; o que uso para servidor HTTP é o Apache HTTP Server, versão 2.2.22, com PHP 5.3.10. É necessário também um servidor de bases de dados, sendo que o aconselhado para o WordPress (a plataforma para o blog), é o MySQL. A versão que tenho é a 5.5.20. Para que o nosso nome DNS aponte sempre para o IP de ligação à Internet, é também necessário um cliente de DNS dinâmico. No entanto, quase todos os routers para uso caseiro dispõem de opções para fazer esta actualização. Contudo, apenas é possível configurar um hostname com o router, pelo que, se tivermos vários blogs com hostnames diferentes, necessitamos de algo como o ddclient. Todo este software foi instalado utilizando o sistema de ports do FreeBSD e assume-se que já estará configurado e pronto a ser utilizado. Finalmente, é preciso configurar o router para direccionar o porto 80 (utilizado pelo protocolo HTTP) para o servidor.

É também necessário acesso a um sistema de DNS dinâmico. Pessoalmente, utilizo o DynDNS desde a altura em que ainda era grátis. Como necessitei de certas funcionalidades que teriam de ser pagas, optei por comprar o serviço básico que custa a módica quantia de US$15 por ano (cerca de €12,00). Não me vou alongar neste tipo de serviços, mas permite ter um ou mais nomes DNS associados a alguns domínios de topo disponibilizados pela empresa Dyn Inc. É possível utilizar um domínio DNS personalizado, mas para isso é necessário registar o domínio junto de uma empresa especializada (a Dyn Inc também disponibiliza este serviço, por mais alguns dólares por ano). Existem outros servidores de DNS dinâmico que ainda são grátis (claro, com funcionalidades limitadas) como, por exemplo, o No-IP. Não vou entrar em detalhes na criação de um nome DNS com estes serviços, pois depende de cada um deles, mas basicamente, basta registar um nome de utilizador e password e associar um hostname à conta. O hostname deste blog, como devem saber é trindade.myphotos.cc.

ddclient

Depois de configurar o hostname, é necessário configurar o ddclient. Depois de instalado o software, deve-se editar o ficheiro de configuração. No caso do FreeBSD, este ficheiro é /usr/local/etc/ddclient.conf. As linhas a adicionar são:

[crayon lang=”sh”]
daemon=300
syslog=yes
mail=root
mail-failure=root
pid=/var/run/ddclient.pid
ssl=yes
use=cmd, cmd=/usr/local/bin/checkip.sh, cmd-skip=’IP Address’
login=username
password=password
server=members.dyndns.org, \
protocol=dyndns2 \
trindade.myphotos.cc
[/crayon]

Os parâmetros a serem alterados são, como deve ser óbvio, o username, a password, o nome do protocolo (dyndns2) e o nome do host, que, neste exemplo é trindade.myphotos.cc. O ddcliente suporta os serviços de DNS dinâmico dyndns2, easydns, zonedit, hamernode, entre outros.

Activar o serviço no ficheiro /etc/rc.conf, acrescentando a linha:
[sh]
ddclient_enable=”YES”
[/sh]

De seguida deve-se arrancar o serviço:

[sh]
/usr/local/etc/rc.d/ddclient.sh start
[/sh]

Em Ubuntu (Server ou Desktop), basta fazer:

[sh]
service ddclient enable
service ddclient start
[/sh]

WordPress

Escolher um directório para conter o software WordPress. No caso deste blog é /home/www/blogs/ri. Descarregar o WordPress a partir do endereço http://pt.wordpress.org/wordpress-3.3.1-pt_PT.tar.gz e descompactá-lo:

[sh]
cd /home/www/blogs
tar zxvf wordpress-3.3.1-pt_PT.tar.gz
mv wordpress receitasinformaticas
[/sh]

MySQL

O próximo passo é criar uma base de dados MySQL para alojar o conteúdo e configuração do blog:
[sh]mysqladmin -uroot -p create wordpress
mysql -uroot -p
[/sh]
[mysql]
GRANT ALL PRIVILEGES ON wordpress.* to wordpress@’localhost’
IDENTIFIED BY ‘wordpress’;
FLUSH PRIVILEGES;
[/mysql]

No caso de se ter vários blogs alojados no mesmo servidor (como é o meu caso), pode-se utilizar uma base de dados diferente para cada um ou usar a mesma. A configuração do WordPress difere apenas num pormenor em cada caso.

De seguida, tem que se “informar” o WordPress da base de dados a utilizar. Para isso, alterar o ficheiro /home/www/blogs/ri/wp-config.php:
[php]
define(‘DB_NAME’, ‘wordpress’); // The name of the database
define(‘DB_USER’, ‘wordpress’); // Your MySQL username
define(‘DB_PASSWORD’, ‘wordpress’); // …and password
define(‘DB_HOST’, ‘localhost’); // 99% chance you won’t need to change this value

// You can have multiple installations in one database if you give each a unique prefix
$table_prefix = ‘wp_’; // Only numbers, letters, and underscores please!

// Change this to localize WordPress. A corresponding MO file for the
// chosen language must be installed to wp-includes/languages.
// For example, install de.mo to wp-includes/languages and set WPLANG to ‘de’
// to enable German language support.
define (‘WPLANG’, ‘pt_PT’);
[/php]

Voltando ao assunto de vários blogs alojados no mesmo servidor: caso se use a mesma base de dados para o conteúdo de todos, tem que se alterar o parâmetro $table_prefix de cada um deles para um valor diferente; no caso de se usar bases de dados diferentes, basta usar valores diferentes para a variável DB_NAME.

Apache

A configuração do Apache também não poderia ser mais simples. A configuração aconselhada consiste em usar um virtual host. Para tal, basta editar o ficheiro /usr/local/etc/apache22/httpd.conf e acrescentar as seguintes linhas:

[crayon trim-whitespace=”false” lang=”apache”]

Alias /ri /home/www/blogs/ri

AllowOverride All
Options FollowSymLinks
Order deny,allow
Allow from all

[/crayon]

Re-iniciar o Apache:

[sh]
apachectl restart
[/sh]

Finalmente, abrir um browser e testar a instalação do nosso novo blog, abrindo o endereço http://trindade.myphotos.cc/ri/. Antes de ser utilizável, no entanto, o WordPress automaticamente iniciar a sua configuração inicial. Depois desta estar concluída, pode-se começar a introduzir conteúdos e juntar-se à “blogosfera”.

 

Esta entrada foi publicada em Administração, Configuração, FreeBSD, Sistemas Operativos, Unix com as tags , , , , . ligação permanente.

2 respostas a Criar um blog num servidor caseiro

  1. Sempre Alerta diz:

    Epá. Belo blog, pá… Por acaso acho que te devias debruçar sobre dns dinamicos gratuitos… Era uma informação básica de suporte a este teu post. Um abraço.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *