Como instalar e configurar o Drupal
Este tutorial é voltado para quem sabe o básico de como
funciona a hospedagem de sites em sistemas GNU/Linux,
tem alguma experiência de linha de comando mas não faz
a mínima idéia de como instalar e configurar um gerenciador
de conteúdo como o drupal, que usa PHP e um servidor de
banco de dados SQL. Grande parte deste documento é
baseada na página
http://drupal.org/book/view/260.
Índice
Visão geral
O drupal é um gerenciador de conteúdo com sistema de
usuários. No drupal, toda publicação, seja ela uma entrada
num blog, uma enquete, um fórum, uma história, etc é
chamada de Nó (node). Os nós são a principal parte de uma
página de um site rodando drupal. O conteúdo do site
reside nos nós.
Além dos nós, as outras estruturas visíveis num site que rode
drupal são os Blocos (blocks) e Módulos (modules). Os blocos
nada mais são do que caixas que agrupam seções e funções do site
da mesma categoria (como a listagem de novos tópicos do fórum,
menus, usuários atualmente usando o site e por aí vai).
Para organizar o conteúdo, existe um sistema taxonômico no qual
é possível associar palavras-chaves com tipos de publicação
(categorias).
O drupal é bem flexível no sistema de usuários, permitindo
estabelecer grupos de usuários com determinadas permissões,
como publicação, postagem de comentários, moderação, etc.
A publicação anônima também é possível, desde que se queira.
Para o intercâmbio de conteúdo entre diferentes sites, mesmo
aqueles que não rodam drupal, utiliza-se o chamado Syndication,
que é um arquivo contendo um resumo das últimas publicações
do site.
Para extender a funcionalidade do drupal, existem módulos,
scripts que são acoplados ao site, como gerenciadores de
fotos, armazenadores de arquivos. Existem muito módulos, basta
ver em
http://drupal.org/project/releases
Requisitos de software
O drupal necessita que o sistema que você usa tenha:
- MySQL v3.23.17 ou superior
- Apache
- PHP 4.1 ou superior
Você pode rodar outros tipos de banco de dados, como o
PostgreSQL.
Instalação
A instalação do drupal é bem simples e é descrita
nas etapas 4.1 a 4.8.
php.ini
Cerifique-se que no /etc/apache/php.ini existam as seguintes opções:
session.save_handler user
session.cache_limiter none
Talvez em versões mais novas do drupal isso
não seja mais necessário, não tenho certeza.
De qualquer modo, se você não souber ou puder
fazer isso, peça para o administrador do seu
sistema.
Baixe o drupal
Entre no servidor e digite:
wget http://drupal.org/drupal/drupal-x.x.x.tgz
tar zxvf drupal-x.x.x.tgz
Onde x.x.x é a versão do drupal que você quer usar.
Exemplo: 4.5.2 (para saber a última versão do drupal,
consulte
http://www.drupal.org).
Esse comando criará o diretório do drupal. Mova-o para
o diretório para onde ficará seu site. Exemplo:
mv drupal-x.x.x /var/www/seu-site
Banco de dados
Crie um banco de dados ou peça para que o admistrador
do sistema o faça e envie a senha para você.
Se você tiver acesso ao mysql, o comando que você dará é algo
como
mysqladmin -u usuario -p create seu-site
Onde usuário é o seu usuário do mysql e seu-site é o nome
que você deseja para o banco. Você precisará dar sua senha
do mysql.
Na sequência, vamos criar um usuário para seu usado pelo drupal:
mysql -u usuario -p
Depois de entrar com a senha, você estará no prompt do mysql.
Digite:
GRANT ALL PRIVILEGES ON seu-site.*
TO seu-site@localhost IDENTIFIED BY 'senha';
onde
'seu-site' é o nome do seu site
'senha' refere-se à senha que o drupal usará para acessar seu banco de dados.
Isso dará permissão ao usuário seu-site acessar o banco de dados do drupal.
Se tudo correr bem, o mysql te dirá:
Query OK, 0 rows affected
Então digite
flush privileges;
e depois digite \q para sair do MySQL.
Carregando o esquema do banco de dados
Agora carregue o esquema de banco de dados do drupal
no seu banco de dados recém criado:
cd /var/www/seu-site
mysql -u seu-site -p seu-site < database/database.mysql
Digite a senha do banco de dados do drupal. Esse comando
criará as tabelas e valores padrões do drupal.
Arquivo de configuração
Configure o drupal, bastando para isso editar o arquivo
includes/conf.php que está no diretório do seu site.
Basicamente você precisará mudar os seguintes campos:
$db_url = "mysql://username:password@localhost/drupal";
para
$db_url = "mysql://seu-site:senha@localhost/seu-site";
Da mesma forma,
$base_url = "http://www.example.com";
para
$base_url = "http://seu-site";
e
$languages = array("en" => "English");
para
$languages = array("pt_BR" => "Portugues","en" => "English");
Vários sites numa mesma instalação
Opcionalmente você pode ter mais de um site usando a mesma
árvore que o drupal, basta que você copie esse conf.php para
include/www.nome-do-outro-site.php e repita os passos
da criação do banco de dados até aqui, mas desta vez escolhendo
outro banco, usuário e senha.
Tarefas agendadas
Adicione no seu crontab a linha
0 * * * * wget -O - -q http://seu-site/cron.php
Para que seu drupal possa executar tarefas agendadas. Para
adicionar isso no crontab, peça para seu administrador do
sistema ou use o comando
crontab -e
Configuração
Abra seu navegador no endereço do seu site. A menos de algumas
mensagens de erro, o drupal deverá estar rodando perfeitamente.
Imediatamente crie uma conta de usuário, que será o administrador
do site.
Daí em diante basta acessar o menu de administração para configurar
seu sistema. Nos menus você pode configurar, dentre outras coisas:
- Configuração genérica: nome do site, slogan, etc
- Contas e permissões de usuários
- Módulos
- Internacionalização
- Blocos
- Taxonomia
Para personalizar a aparência do site são utilizados temas, que nada
mais são arquivos que contém o código php e html ou xhtml. Os temas
encontram-se na pasta themes. Crie um tema copiando um já existente,
lembrando de editar os arquivos apropriadamente, mudando o nome do tema
e adicionando-o na administração do site.
Configuração genérica
Você pode definir o nome do site, slogan e muitas outras características básicas de seu sítio.
Acesse:
administrar -> opções (drupal 4.6)
administrar -> configurações (drupal 4.7)
Basicamente, não há muito segredo nesse ponto, mas alguns merecem alguma explicação:
- Página principal padrão:
é a página inicial do seu sítio. O padrão é "node", que é a listagem dos nós publicados na página central.
No entanto, é possível definir como página inicial qualquer outra página, tal como "node/21", "node/500" ou "nomedapagina" (caso você use o módulo path)
- Caminho do sistema de arquivos:
é a pasta em que serão gravados os arquivos da sua instalação de drupal. Numa instalação simples, essa pasta costuma ser "files". Numa instalação multi-site ...
URLs limpas
Existe a opção de você utilizar URLs limpas no drupal, isto é,
http://seu.site/node/20 ao invés de
http://seu.site/?q=node/20 ou coisa do tipo. Para isso, habilite URL limpas (Clean URLs) nas configurações do seu site, descomente as linhas correspondentes ao
mod_rewrite do Apache no
.htaccess do seu site, ajustando corretamente o valor de
RewriteBase e verifique se esse módulo está configurado.
Se você tiver problemas (caso seu drupal esteja numa subpasta do
DocumentRoot), adicione o seguinte no seu
.htaccess, antes dos
RewriteRule existentes:
RewriteRule ^seu-site(.*) index.php?q=$1
Onde
seu-site é o nome da pasta que está o drupal, em relação ao
DocumentRoot. Se isso não funcionar, experimente usar um _RedirectRule_ ou então a solução mais simples possível: criar um link simbólico na pasta do seu site, com o nome do seu site, apontando para própria pasta onde eles está:
cd /var/www/meu-site
ln -s . meu-site
Internacionalização
O drupal possui suporta à internacionalização, porém
ele ainda não foi completamente traduzido para o português.
Aqui você tem duas alternativas:
- Traduzir tudo na mão, através do próprio drupal
- Usar a tradução de outro site que roda drupal
Por questões de praticidade você preferirá a segunda opção,
então baixe o locale para Português do Brasil em
http://drupal.org/project/pt-br e instale-o
através da página de administração (administer -> locales).
Se preferir, utilize a tradução do site
http://www.radiolivre.org, que
está em
http://www.radiolivre.org/files/drupal-locale.po
Depois de baixar um desses arquivos, vá em administer -> modules,
selecione o módulo
locale e salve as configurações. Em seguida, vá
em administer -> localization e importe no drupal o arquivo que
você acabou de baixar.
Agora você já tem um drupal em português. Se você quiser
mudar algo da tradução, é só utilizar a própria interface
do drupal.
Estrutura de Diretórios do Drupal
database
- arquivos sql para criação e atualização do banco de dados
files
- pasta padrão para armazenamento de arquivos. Contém as pastas images
e pictures.
- Em instalações multi-site, esse diretório pode estar dentro da pasta /sites, específica de cada domínio (possível abordagem)
modules
- pasta para armazenar s módulos. Qualquer arquivo nessa pasta que tenha final .module será interpretado pelo Drupal como sendo um módulo, mesmo que esteja em um subdiretório.
- É interessante separar por pastas entre os módulos básicos, contribuídos e específicos da instalação.
sites
- pasta que contém as configurações de cada sítio específico.
- O arquivo settings.php da instalação padrão (default) localiza-se dentro dessa pasta (sites/default/settings.php)
- Numa instalação multi-site, as paginas definidas aqui também podem servir para a resolução de DNS (ex: files/site1.dominio.org, files/site2.dominio.org)
includes
- aqui ficam arquivos gerais da API do drupal, tais como funções do núcleo do programa
misc
- algumas das imagens e arquivos .css (formatação de estilos) ficam aqui.
- Se você alterarar as imagens dessa pasta você altera para todas as instalações do Drupal, no caso de multi-sites
scripts
- pasta que armazena scripts shell (.sh) ou perl (.pl) como os das tarefas de sincronização (cron)
themes
- pasta que armazena os temas e os engines dos temas
- um engine é algo como uma "plataforma" para a construção de temas (ex: phptemplate, smarty). Veja os engine disponiveis em http://drupal.org/project/Theme+engines
- os temas aqui armazenados serão listados na interface de gerenciamento de temas
Ativando módulos
Os módulos são a melhor forma de expandir seu sítio drupal. Existem centenas deles - dos mais variados temas. Estão disponíveis para download na página
http://drupal.org/project/Modules
Instalando um módulo
$ cd /caminho/drupal/modules/
$ wget http://drupal.org/files/projects/nomemodulo-4.x.x.tar.gz
$ tar zxvf nomemodulo-4.x.x.tar.gz
Geralmente os módulos possuem um arquivo INSTALL.txt. Leia-o atentamente, pois cada módulos possue especificidades (tabelas no sql, por exemplo). No Drupal 4.7+, existe um arquivo nomedomodulo.install, que executa os procedimentos básicos da instalação.
Nas versões como 4.6, é necessário rodar SQLs manualmente
mysql -u username -ppassword drupal < nomedomodulo.mysql
Alguns módulos possuem outras dependências, como outros módulos ou mesmo aplicações externas.
Ative o módulo
É necessário acessar a interface administrativa para ativá-los:
- administrar -> módulos
- Procure o módulo desejado e marque
- Salve as alterações
Dê permissões de acesso
Cada módulo pode possuir uma configuração de acesso. Vá em:
- administrar -> controle de acesso
- habilite de acordo com as necessidades (alguns módulos permitem configurar o acesso,a administração entre outras coisas)
- salve e verifique o funcionamento
Finalize as configurações
Alguns módulos possuem interface para ajuste de configurações. Acesse:
- administrar -> opções -> nomedomódulo
Fazendo os próprios módulos
Caso não exista nenhum módulo adequado às suas necessidades, você pode fazer um! É necessário algum conhecimento na linguagem PHP.
Verifique as referências:
Papéis e Controle de Acesso
O sistema do Drupal permite a existência de múltiplos papéis e níveis diferenciados de acesso. Isso é importante pois você provavelmente não irá querer dar
acesso administrativo para todas as pessoas que tem conta no seu site.
O Drupal não tem nenhuma definição fixa de papéis: você pode configurar tudo. Geralmente, é interessante criar um papel chamado "admin" ou algo do tipo, que
receberia todos os papéis possíveis para os módulos ativos.
É possível definir papéis para tarefas específicas, como, por exemplo, tradutorxs (com acesso à interface de tradução) ou editorxs (com acesso à edição de matérias, publicação de conteúdos específicos etc).
Para criar um novo papel:
- administrar -> controle de acesso
- papéis
- Adicione, edite ou apague, conforme a figura indica:
- Para configurar o acesso diferenciado, basta marcar os módulos e o tipo de acesso para cada papel:
* salve as alterações
Criação e gerenciamento de conteúdo
Existem vários tipos de conteúdos no Drupal: imagens, texto blog, matérias, páginas etc. Novos tipos podem ser adicionados ativando novos módulos.
O ciclo de gerenciamento de conteúdo consiste em alguns passos básicos:
Adicionar o conteúdo
Pré-visualizar o resultado
Publicar
Realizar alterações / correções posteriores
Apagar conteúdo
Adicionar Conteúdo
Para adicionar conteúdo, basta:
- fazer login
- criar conteúdo
- escolha o tipo de conteúdo desejado
Para cada tipo de conteúdo, existe um formulário específico. No entanto, existem muitos campos comuns que obedecem à lógica do sistema:
- Título da matéria
- Caminho alternativo - caso esteja habilitado o módulo path, é possível que seus nós tenham um nome de atalho. Por exemplo, se a url da matéria é http://seusitio.org/node/20, você pode chamar de http://seusitio.org/sua_materia.
- Corpo - corpo do conteúdo, texto propriamente dito.
- Categorias - caso você crie categorias, você pode classificar seu conteúdo. Veja as configurações para categorias em: administrar -> categorias
- Formato de Entrada - é possível que o texto seja tratado como texto simples (com alguns elementos de html), HTML puro ou mesmo código PHP. É possível também criar novos formatos, personalizados, ou editar os tipos atuais, que podem ser configurados em: administrar -> formatos de entrada.
Uma vez preenchido, você pode pré-visualizar o resultado. Caso esteja correto, publique. É possível publicar um conteúdo sem visualiza-lo previamente.
Alterar conteúdo
Todo o conteúdo publicado pode ser alterado, com exceção de alguns módulos (como os threads de um fórum).
Realizar alterações / correções posteriores
Apagar conteúdo
EM CONSTRUÇÃO!
Mudando a aparência do seu Drupal
administrar -> temas
Migrando do phpNuke
Se o seu site rodava phpNuke e agora você quer rodar drupal, você terá
que fazer alguns ajustes no seu banco de dados. Instale o drupal de acordo
com os procedimentos 4.1 a 4.7. Você ficará então com dois bancos de
dados, um do drupal e o seu antigo do phpNuke. O procedimento é descrito
detalhadamente em
http://www.phrixus.net/migration
Com o drupal instalado, baixe o arquivo
http://www.radiolivre.org/files/migration.mysql
Edite esse arquivo, substituindo todas as ocorências de drupal pelo nome do
banco de dados do seu site (seu-site, nos nossos exemplos) e todas as de nuke pelo
correspondente nome do banco de dados no phpNuke.
Feito isso, execute o comando
mysql -p seu-site < migration.mysql
Para dar certo, o usuário seu site deve ter permissão para acessar o banco de dados
do phpNuke.
Agora experimente acessar o seu site e veja o conteúdo do site antigo no drupal
Maiores informações
Este texto é distribuído via copyleft. Em caso de dúvidas, escreva para
rhatto@riseupSTOPSPAM.net
--
FernaoLopes - 20 Dec 2006 - adicionando novos tópicos
--
SilvioRhatto - 19 Jul 2005
to top