Criar um blog num servidor caseiro

Cri­ar um blog não é um bicho de 7 cabeças. Aliás, qual­quer pes­soa com um servi­dor Unix (Lin­ux, FreeB­SD ou qual­quer out­ra vari­ante) ou mes­mo pos­to de tra­bal­ho Ubun­tu Desk­top, por exem­p­lo, pode ter um blog alo­ja­do em sua casa, qual­quer que seja a sua lig­ação à Inter­net, des­de que esta seja per­ma­nente (ADSL ou cabo).

Para esta recei­ta, vou usar como exem­p­lo este próprio blog.

Introdução

Este blog está alo­ja­do num com­puta­dor que ten­ho aqui em min­ha própria casa. É um com­puta­dor anti­go, com um proces­sador Intel Pen­tium 4, 768MB de RAM e 250GB de dis­co a cor­rer FreeB­SD 9.0.

Para alo­jar um blog é necessário, além do servi­dor, soft­ware; o que uso para servi­dor HTTP é o Apache HTTP Serv­er, ver­são 2.2.22, com PHP 5.3.10. É necessário tam­bém um servi­dor de bases de dados, sendo que o acon­sel­ha­do para o Word­Press (a platafor­ma para o blog), é o MySQL. A ver­são que ten­ho é a 5.5.20. Para que o nos­so nome DNS aponte sem­pre para o IP de lig­ação à Inter­net, é tam­bém necessário um cliente de DNS dinâmi­co. No entan­to, quase todos os routers para uso caseiro dis­põem de opções para faz­er esta actu­al­iza­ção. Con­tu­do, ape­nas é pos­sív­el con­fig­u­rar um host­name com o router, pelo que, se tiver­mos vários blogs com host­names difer­entes, neces­si­ta­mos de algo como o ddclient. Todo este soft­ware foi insta­l­a­do uti­lizan­do o sis­tema de ports do FreeB­SD e assume-se que já estará con­fig­u­ra­do e pron­to a ser uti­liza­do. Final­mente, é pre­ciso con­fig­u­rar o router para direc­cionar o por­to 80 (uti­liza­do pelo pro­to­co­lo HTTP) para o servidor.

É tam­bém necessário aces­so a um sis­tema de DNS dinâmi­co. Pes­soal­mente, uti­li­zo o Dyn­DNS des­de a altura em que ain­da era grátis. Como neces­sitei de cer­tas fun­cional­i­dades que teri­am de ser pagas, optei por com­prar o serviço bási­co que cus­ta a módi­ca quan­tia de US$15 por ano (cer­ca de €12,00). Não me vou alon­gar neste tipo de serviços, mas per­mite ter um ou mais nomes DNS asso­ci­a­dos a alguns domínios de topo disponi­bi­liza­dos pela empre­sa Dyn Inc. É pos­sív­el uti­lizar um domínio DNS per­son­al­iza­do, mas para isso é necessário reg­is­tar o domínio jun­to de uma empre­sa espe­cial­iza­da (a Dyn Inc tam­bém disponi­bi­liza este serviço, por mais alguns dólares por ano). Exis­tem out­ros servi­dores de DNS dinâmi­co que ain­da são grátis (claro, com fun­cional­i­dades lim­i­tadas) como, por exem­p­lo, o No-IP. Não vou entrar em detal­h­es na cri­ação de um nome DNS com estes serviços, pois depende de cada um deles, mas basi­ca­mente, bas­ta reg­is­tar um nome de uti­lizador e pass­word e asso­ciar um host­name à con­ta. O host­name deste blog, como devem saber é trindade.myphotos.cc.

ddclient

Depois de con­fig­u­rar o host­name, é necessário con­fig­u­rar o ddclient. Depois de insta­l­a­do o soft­ware, deve-se edi­tar o ficheiro de con­fig­u­ração. No caso do FreeB­SD, este ficheiro é /usr/local/etc/ddclient.conf. As lin­has a adi­cionar são:

[cray­on 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âmet­ros a serem alter­ados são, como deve ser óbvio, o user­name, a pass­word, o nome do pro­to­co­lo (dyndns2) e o nome do host, que, neste exem­p­lo é trindade.myphotos.cc. O ddcliente supor­ta os serviços de DNS dinâmi­co dyndns2, easydns, zoned­it, hamern­ode, entre outros.

Acti­var o serviço no ficheiro /etc/rc.conf, acres­cen­tan­do a lin­ha:
[sh]
ddclient_enable=“YES
[/sh]

De segui­da deve-se arran­car o serviço:

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

Em Ubun­tu (Serv­er ou Desk­top), bas­ta fazer:

[sh]
ser­vice ddclient enable
ser­vice ddclient start
[/sh]

WordPress

Escol­her um direc­tório para con­ter o soft­ware Word­Press. No caso deste blog é /home/www/blogs/ri. Descar­regar o Word­Press a par­tir 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 word­press receitas­in­for­mat­i­cas
[/sh]

MySQL

O próx­i­mo pas­so é cri­ar uma base de dados MySQL para alo­jar o con­teú­do e con­fig­u­ração do blog:
[sh]mysqladmin ‑uroot ‑p cre­ate word­press
mysql ‑uroot ‑p
[/sh]
[mysql]
GRANT ALL PRIVILEGES ON word­press.* to wordpress@‘localhost’
IDENTIFIED BY ‘word­press’;
FLUSH PRIVILEGES;
[/mysql]

No caso de se ter vários blogs alo­ja­dos no mes­mo servi­dor (como é o meu caso), pode-se uti­lizar uma base de dados difer­ente para cada um ou usar a mes­ma. A con­fig­u­ração do Word­Press difere ape­nas num por­menor em cada caso.

De segui­da, tem que se “infor­mar” o Word­Press da base de dados a uti­lizar. Para isso, alter­ar o ficheiro /home/www/blogs/ri/wp-config.php:
[php]
define(‘DB_NAME’, ‘word­press’); // The name of the data­base
define(‘DB_USER’, ‘word­press’); // Your MySQL user­name
define(‘DB_PASSWORD’, ‘word­press’); // …and pass­word
define(‘DB_HOST’, ‘local­host’); // 99% chance you won’t need to change this value

// You can have mul­ti­ple instal­la­tions in one data­base if you give each a unique pre­fix
$table_prefix = ‘wp_’; // Only num­bers, let­ters, and under­scores please!

// Change this to local­ize Word­Press. A cor­re­spond­ing MO file for the
// cho­sen lan­guage must be installed to wp-includes/lan­guages.
// For exam­ple, install de.mo to wp-includes/lan­guages and set WPLANG to ‘de’
// to enable Ger­man lan­guage sup­port.
define (‘WPLANG’, ‘pt_PT’);
[/php]

Voltan­do ao assun­to de vários blogs alo­ja­dos no mes­mo servi­dor: caso se use a mes­ma base de dados para o con­teú­do de todos, tem que se alter­ar o parâmetro $table_prefix de cada um deles para um val­or difer­ente; no caso de se usar bases de dados difer­entes, bas­ta usar val­ores difer­entes para a var­iáv­el DB_NAME.

Apache

A con­fig­u­ração do Apache tam­bém não pode­ria ser mais sim­ples. A con­fig­u­ração acon­sel­ha­da con­siste em usar um vir­tu­al host. Para tal, bas­ta edi­tar o ficheiro /usr/local/etc/apache22/httpd.conf e acres­cen­tar as seguintes linhas:

[cray­on trim-whitespace=“false” lang=“apache”]

Alias /ri /home/www/blogs/ri

AllowOver­ride All
Options Fol­lowSym­Links
Order deny,allow
Allow from all

[/crayon]

Re-ini­ciar o Apache:

[sh]
apachectl restart
[/sh]

Final­mente, abrir um brows­er e tes­tar a insta­lação do nos­so novo blog, abrindo o endereço http://trindade.myphotos.cc/ri/. Antes de ser uti­lizáv­el, no entan­to, o Word­Press auto­mati­ca­mente ini­ciar a sua con­fig­u­ração ini­cial. Depois des­ta estar con­cluí­da, pode-se começar a intro­duzir con­teú­dos e jun­tar-se à “blo­gos­fera”.

 

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

2 Responses to Criar um blog num servidor caseiro

  1. Sempre Alerta diz:

    Epá. Belo blog, pá… Por aca­so acho que te devias debruçar sobre dns dinam­i­cos gra­tu­itos… Era uma infor­mação bási­ca de suporte a este teu post. Um abraço.

Deixe um comentário

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

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.