Skip to topic | Skip to bottom
Home
Search:

Devel
Devel.ImcDrupalConfigPtr1.10 - 23 Dec 2006 - 01:40 - FernaoLopestopic end
You are here: Devel > ImcDrupalDev > ImcDrupalConfigPt

Start of topic | Skip to actions

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 smile
'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

  • Baixe o 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:

Controle de acesso

  • Para configurar o acesso diferenciado, basta marcar os módulos e o tipo de acesso para cada papel:

Controle de acesso

* 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 smile

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

I Attachment sort Action Size Date Who Comment
controle_acesso.png manage 21.8 K 20 Dec 2006 - 05:31 FernaoLopes Controle de acesso
controle_acesso2.png manage 23.6 K 20 Dec 2006 - 05:41 FernaoLopes Controle de acesso

Devel.ImcDrupalConfigPt moved from Sysadmin.DrupalPtBr on 02 Jul 2005 - 17:14 by AlsteR - put it back
You are here: Devel > ImcDrupalDev > ImcDrupalConfigPt

to top

Copyright © 1999-2008 by the contributing authors.
All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding this tool? Send feedback (in English, Francais, Deutsch or Dutch).