Академический Документы
Профессиональный Документы
Культура Документы
de Conteúdos
Todos os direitos reservados ao
Projeto eJovem
Secretaria da Educação do estado do Ceará Centro Administrativo Governador Virgílio Távora
Coordenadoria da Educação Profissional 2º andar Bloco C
Av. General Afonso Albuquerque Lima, S/N Cambeba Fortaleza/Ceará
CEP 60839900 Tel. (85) 3101.3928
Site: www.projetoejovem.com.br
Email: faleconosco@projetoejovem.com.br
Ano de Publicação: 2014
Cid Ferreira Gomes
Governador
Domingos Gomes de Aguiar Filho
Vicegovernador
Maurício Holanda Maia
Secretário da Educação
Antônio Idilvan de Lima Alencar
Secretário Executivo
Cristiane Carvalho Holanda
Coordenadora do Gabinete
Coordenadora da Educação Profissional
Andrea Araújo Rocha Nibon
Núcleo de Coordenação de Projeto eJovem
Flávia Daniela Rodrigues Viana
Júlio César Cavalcante Bezerra
Marcelo Alves Teófilo
Coordenação Pedagógica do Projeto eJovem
Adriano Silva Lima
Coordenação Técnica e de Desenvolvimento do Projeto eJovem
Átila da Silva Lima
Jucimar de Souza Lima Junior
Edição de Conteúdo
Tiago Jose Lima Rodrigues
Revisão Didática
Adriano Silva Lima
Revisão Ortográfica
Daniele Lima de Paula
Diagramação e Formatação Final
Jucimar de Souza Lima Junior
Projeto Gráfico
Jucimar de Souza Lima Junior
Capa
Jéssica de Araújo Oliveira
Sumário
Capitulo 1.Joomla.................................................................................................................................4
1.1. Introdução.................................................................................................................................4
1.2.Instalando o Joomla!..................................................................................................................4
1.3.Criação de conteúdo.................................................................................................................11
1.3.1.Seções...............................................................................................................................11
1.3.2.Categorias.........................................................................................................................11
1.3.3.Artigos..............................................................................................................................12
1.4.Criação de menus.....................................................................................................................13
1.4.1.Criando o Menu...............................................................................................................13
1.4.2.Inserindo itens..................................................................................................................14
1.5.Componentes nativos do Joomla!............................................................................................15
1.5.1.Enquete.............................................................................................................................15
1.6. Extensões do Joomla!.............................................................................................................16
1.7.Temas do Joomla!....................................................................................................................16
1.8. Repositórios Joomla................................................................................................................17
Capitulo 2.Template no Joomla!.........................................................................................................18
2.1.Estrutura de um template Joomla!...........................................................................................18
2.1.1. Pastas do template...........................................................................................................19
2.1.2. Arquivos do template......................................................................................................19
2.2. Começando a criação..............................................................................................................20
2.2.1.Index.php..........................................................................................................................20
2.2.2.Otimização no Joomla/Truques no Joomla......................................................................21
2.2.3. Observações importantes................................................................................................23
2.2.4. Aplicando seu template e inserindo módulos..................................................................23
2.2.5. Inserindo Flash no Joomla com a utilização de módulos................................................23
2.2.6. Trocando o Editor Padrão do Joomla e aprendendo a manipulá-lo................................24
Capitulo 3.Hospedando......................................................................................................................30
3.1.Hospedando seu site em um servidor web terceirizado...........................................................30
3.2.Segurança no Joomla!..............................................................................................................33
Referências.........................................................................................................................................37
Sistema de Gerenciamento de Conteúdos - Joomla 4
Capitulo 1. Joomla
1.1. Introdução
O Joomla é, atualmente, o Sistema de Gerenciamento de Conteúdo (SGC) mais utilizado
no mundo. O SGC, mais conhecido por sua sigla em inglês CMS (Content Management
System), é uma ferramenta que auxilia na criação do site, na instalação de componentes
que ajudam o desenvolvimento ágil e preciso de um site e facilita o gerenciamento de todo
o site desde o ponto básico ao ponto mais complexo.
O SGC Joomla conta com uma vasta biblioteca de módulos, componentes e plugins
disponíveis para serem utilizados no site a ser produzido. Esses componentes se dividem
entre comercial e não comercial (noncommercial).
1.2. Instalando o Joomla!
Nessa apostila iremos trabalhar com base na Versão 1.5, pois o aprendizado nesta versão
também pode ser aplicado às versões posteriores. O Joomla 1.5 também é a versão com o
maior número de módulos e componentes disponíveis, bem como templates.
O Joomla tem um compromisso de lançar uma nova versão a cada 6 meses, então o que
nos resta é escolher a mais adequada ao trabalho e só atualizar quando desejável ou tal
versão tornarse obsoleta.
Para baixar a versão 1.5 direto do site acesse
http://www.joomla.org/announcements/releasenews/5419joomla1526released.html e
procure o link do pacote “1.5.26 Full Package”.
Após realizar o download, copie o arquivo.zip que você baixou e cole na pasta
“/var/www/”, então, clique com o botão direito em cima do .zip e clique em “Extrair
Aqui”. Se não conseguir copiar e extrair reatribua as permissões da pasta “www”. (chmod
777 -R /var/www/)
O Joomla será extraído para uma pasta com o nome igual ao nome do arquivo.zip, então
renomeie a pasta para o nome do seu site, mas não coloque espaço no nome da pasta. Um
exemplo de nome de pasta que poderíamos utilizar nessa aula seria “aulateste”.
Este nome será o endereço local do seu site que você poderá acessar digitando no seu
Browser o endereço “localhost/aulateste”, por exemplo.
A partir daqui iniciase a configuração do Joomla no servidor local.
1. Tela idiomas
Selecione o idioma de instalação do Joomla e clique no botão próximo, no canto superior
direito da tela (como mostra a próxima imagem):
2. Verificação de préinstalação
A tela de préinstalação mostra as configurações mínimas para que a instalação do
Joomla esteja correta.
Estas configurações dividemse entre obrigatórias e recomendadas. Leia as instruções
na própria tela pra entender cada uma.
Mesmo se em “configuration.php” aparecer “Não” prossiga a instalação normalmente.
Estando tudo certo, clique no botão "próximo" para que seja exibida a próxima tela de
licença.
3. Licença: Leia a licença e clique no botão"próximo".
4. Banco de dados
A tela a seguir pede informações para configurar seu banco de dados a ser utilizado pelo
seu site Joomla!
Informando os dados corretamente, o Joomla criará automaticamente o banco de dados
do seu site sem necessitar nenhum conhecimento seu sobre banco de dados.
A tela configuração do banco de dados está dividida em configurações básicas e
avançadas. Em configurações básicas, informe:
Tipo de Banco de Dados: mysql
Nome do Servidor: localhost
Nome de Usuário: root
Senha: <senha do banco de dados> (Na instalação local com MySQL)
Nome do Banco de Dados: meusite (É o nome do seu banco de dados. Pode ser
qualquer um, mas prefira por referenciar o nome ao site neste aprendizado).
Em configurações avançadas, informe:
Remover Tabelas Existentes: deixe desmarcado.
Backup de Tabelas Antigas: deixe desmarcado.
Prefixo da Tabela: jos_ (Mantenha o sugerido).
Após preencher os campos solicitados clique no botão "próximo".
5. Configuração do ftp
Como estamos instalando localmente, não é necessário configurar o servidor FTP
(selecione “Não” e avance).
6. Configuração principal
Na próxima imagem vamos informar o nome do site, senha de acesso à área de
administração e, se você quer um template padrão para iniciar o estudo e aprendizado.
Seu email: É o email do super administrador. Qualquer notificação do Joomla será
encaminhada para este email.
Uma senha: Esta senha é que dará acesso a área de administração do site.
Pressione o botão "instalar exemplo de conteúdo", para que o site seja criado com o
template padrão de exemplo. Isto irá facilitar seu entendimento quanto a estrutura de
funcionamento do site. Clique no botão "próximo" para concluir a instalação.
7. Fim
Abaixo está a tela final da instalação do Joomla e a mesma será exibida se sua instalação
tiver sido correta, solicitando que seja removida a pasta "installation" da estrutura de
diretórios do Joomla.
Se no início de sua instalação o “configuration.php” tiver apresentado erro, então será
exibido também uma caixa de texto com as configurações. Copie todo o conteúdo de dentro
da caixa, abra um editor de texto (GEDIT), cole o texto e salve como “configuration.php”
dentro da pasta do seu site, no nosso caso seria “aulateste” localizada em
“/var/www/aulateste”.
Após salvar, acesse a pasta do site e exclua (ou renomeei) o diretório “Installation”
localizada na mesma pasta citada acima. Essa pasta só é necessária para a instalação e, se
for mantida, você não conseguirá acessar seu site. Após remover essa pasta, a instalação
está concluída e já poderá acessar seu site pelo endereço “localhost/meusite”, no nosso caso
“localhost/aulateste”.
Para acessar a área administrativa digite no Browser “localhost/meusite/administrator” e
troque o “meusite” para o nome do site que você escolheu como já foi visto anteriormente.
Serão requisitados o Login e a Senha. O Login é “admin” e a senha é a que você colocou
no processo de instalação do Joomla.
De início, o backend se encontrará em inglês, então iremos instalar a tradução. Siga as
instruções:
Acesse o portal pelo link http://pqnin.in/1BF ou
http://forum.joomla.org/viewtopic.php?t=257003.
Clique no primeiro link “Full/Pacote tar.gz” e realize o download.
Volte no navegador, na área administrativa do Joomla e procure no menu
“Extensions>Install/Uninstall” e clique. Na tela seguinte vá até “Upload Package File” e
clique em “Search File (Procurar Arquivo) e clique.
Logo após, selecione o pacote que você baixou no portal e então clique em Upload File &
Install.
Após a instalação ser concluída entre no menu “Extensions>Language Manager”.
Na lista que aparecerá selecione a opção “Português”, e no canto direito superior clique
em Default.
Agora, logo abaixo do nome Language Manager, você pode ver duas opções: Site e
Administrator. A que você alterou foi a linguagem do site. Agora clique em Administrator,
selecione Português novamente e clique em Default.
Agora todo o backend (administração) se encontra em português.
1.3. Criação de conteúdo
1.3.1.Seções
Fazem parte da estrutura de organização de conteúdo do Joomla. Quando temos uma
hierarquia entre os artigos do site, no caso de serem divididos por tópicos e subtópicos,
idealmente devemos criar seções e categorias para que o site fique bem organizado.
Por padrão as seções não têm suas descrições exibidas. Para exibir, devemos abrir o item
de menu relacionado e alterar a propriedade respectiva. Logo ao entrar na seção de
administração encontramos um botão para criar uma nova seção. Também podemos acessar
pelo menu Conteúdo – Administrar Seção. Após clicar, vemos a janela com as seções
existentes e botões para gerenciar. Ao clicar no botão “Novo” aparece a janela do editor
para entrar com os dados da seção, como a seguir.
OBS: Devemos entrar com o título da seção (o apelido é opcional, assim como a
imagem). E clicar no botão Salvar.
1.3.2.Categorias
Elas são complementares das seções para a organização do conteúdo. Um exemplo:
temos um site onde iremos receber colaborações de autores, onde cada autor escreverá seus
artigos. Uma boa forma de ter isso bem organizado é da seguinte forma:
Seção – artigos
Categorias – autor1, autor2, autor3, etc.
Já falando em relação aos artigos, quando forem criados, eles serão colocados sempre na
seção artigos e na categoria do respectivo autor. Existem planos para que as categorias
tenham níveis infinitos. Para criar uma nova categoria, basta clicar no botão ou no menu
Conteúdo e apenas entre com o nome da categoria (Título) escolhendo também sua seção.
Não podemos criar categoria sem seção.
1.3.3.Artigos
Esses, de fato, são o conteúdo do site. Eles contém texto, imagens, áudio, vídeo, etc.
Geralmente introduzimos o conteúdo através do editor já bem amigável, que tanto pode ser
pelo site (frontend) quanto pela administração (backend). Podese adicionar um novo
artigo pelo botão “Adicionar novo Artigo”.
Quando estiver escrevendo um artigo, haverá botões no fim da página bastante úteis,
veja a imagem:
Quebra de Página Um bom recurso para artigos é a quebra de páginas. O Joomla cria
um índice com os nomes dados às páginas quebradas. Para inserir quebras de página em
artigos, clique no texto onde deseja a quebra e clique no botão “Quebra de Página”.
Imagem – Para inserir uma imagem quando ela já se encontra no servidor clique no
botão “Imagem”, selecione a imagem e clique em “Inserir”. Estas imagens podem ser
inseridas através do media manager ou de outra qualquer outra forma que envie os
arquivos para o servidor, como via FTP, NinjaXplorer, cPanel e etc.
A forma mais fácil é inserir a imagem clicando no ícone “Imagem”, clicar então em
“Arquivo” e, logo após, selecionar a imagem do seu computador, então clique em “Iniciar
Envio” para fazer o upload. Após finalizar, clique na imagem e então clique no botão inserir
acima. Estando a imagem posicionada no editor, podemos arrastála e redimensionála.
Leia Mais Ao digitar um texto muito longo podese dividilo usando o botão Leia Mais.
Para inserir basta ir abaixo da linha que deseja que o botão apareça e clicar no botão “Leia
Mais”. Será inserido um botão abaixo daquela linha e o restante do texto só será exibido se
o botão Leia Mais for clicado.
Na inserção de um artigo existem algumas áreas que devem sempre ser preenchidas
para que o site tenha um bom posicionamento nas ferramentas de busca, como o Google,
por exemplo. Estas áreas são o título, apelido, seção e conteúdo. O título define o título do
artigo. O apelido define o apelido que será utilizado na barra de endereço do artigo. A
seção define a qual seção o artigo pertence. Se tal artigo não pertence a nenhuma seção e,
consequentemente, a nenhuma categoria, basta definir este campo como “qualquer” e,
dessa forma, a categoria também será definida como “qualquer” automaticamente. A área
de conteúdo possui um editor que permite realizar a formatação completa do texto,
inclusive inserção de tabelas e imagens. Com o conteúdo formatado, clique no ícone salvar.
Para inserir Artigos vinculados a uma categoria, o procedimento é praticamente o mesmo,
com exceção de que se torna obrigado a escolha da Seção e da Categoria.
Após terminar o artigo basta clicar no botão Salvar no canto superior direito da tela.
Praticando!
Crie um artigo utilizando as funções até aqui vistas. Salve o artigo com o
título que se adequar ao conteúdo.
1.4. Criação de menus
O Joomla possui um Administrador de Menus completo que
permite criar uma quantidade ilimitada de menus e vários
tipos de itens podem ser adicionados a um menu. Se durante a
instalação você optou em instalar os exemplos do Joomla,
então estarão disponíveis alguns menus como o mainmenu
(onde geralmente devem estar os itens mais importantes do
site) e o usermenu (menu do usuário registrado). Basta apenas
alterar ou remover os itens. Porém, mais adiante, veremos
como criar e administrar um menu.
1.4.1.Criando o Menu.
Acesse a partir do item: Menus > Administrar Menus, conforme mostra a figura a seguir:
Clique em Novo para criar um menu, preencha os campos e clique em salvar. Para alterar
o nome de um menu, clique no link do mesmo. Para administrar um menu, clique em Itens
de Menu. Ao clicar em Itens de Menu, a tela Administrar Menus é exibida e novos itens de
menu poderão ser adicionados.
1.4.2.Inserindo itens
Tomaremos como exemplo a inserção de artigos estáticos no Menu. Clique no botão
“Novo” na Barra de Ações do Joomla para iniciar o procedimento de inserir itens. Selecione
um tipo de Menu e, para o nosso caso, clique em Artigo. A seguinte tela vai aparecer.
Escolha Layout Padrão de Arquivo para entrar na seguinte tela.
Artigo”. Uma nova janela (como na imagem abaixo) será exibida contendo todos os artigos
disponíveis e compatíveis com este tipo de item de menu. Clique no artigo que deseja ser
apontado pelo link. Neste caso, o artigo desejado é o “Meu primeiro Artigo”. Clique em
salvar para confirmar a inserção do item do menu criado.
Experimente criar vários Menus com itens para diferentes funcionalidades, como links
para seções, categorias, artigos, componentes ou até mesmo para sites externos.
1.5. Componentes nativos do Joomla!
Os componentes préinstalados no Joomla são: Formulário de Contatos; enquete;
banners; fonte de notícias externas (RSS); pesquisar no site e web Links. Nessa apostila,
iremos mostrar o funcionamento apenas da enquete como base para os outros
componentes.
1.5.1.Enquete
Para adicionar uma enquete ao Joomla você deve, inicialmente, criar uma nova enquete
acessando Componentes>Enquete. Na tela seguinte clique em “Novo”. No campo Título
adicione um título a sua enquete, normalmente é colocada uma pergunta na qual os
visitantes irão responder. O campo apelido não é obrigatório o preenchimento, mas se
desejar preenchao com, por exemplo, “enquete1”. Em “Atraso” é determinada a
quantidade de segundos que serão contados para que o mesmo usuário vote novamente.
Coloque 86400 (1 dia) ou então outro valor que desejar. Em “Publicado” marque “Sim”.
Após isso inclua as opções de resposta no lado direito “Opção1, opção2, opção3...” e clique
em Salvar.
Agora vá em “Extensões>Administrar Módulo”. Clique em “Novo”. Selecione o item
“Votação”. Preencha os campos de acordo com a necessidade.
Título: Título do Módulo
Exibir título: Se será exibido o título do módulo (Normalmente é marcado “Sim”)
Habilitado: Se o módulo estará ou não habilitado (podese criar um módulo mas deixá
lo inativo para uso posterior).
Posição: Posição na qual o módulo será apresentado.
Ordem: Ordem no qual o módulo será apresentado de acordo com os outros módulos.
• Nível de Acesso
◦ Público: Todos que acessarem o site verão o módulo.
◦ Registrado: Só quem é registrado no site pode visualizar o módulo.
◦ Especial: Somente o usuário que tem o nível de acesso “Especial” pode visualizar
o módulo.
Atribuir Menu: Selecione um menu específico que este módulo será visível, ou selecione
todos(neste caso o módulo aparecerá em todas as páginas).
• Parâmetro:
◦ Votação: Selecione a enquete que você criou.
Clique em Salvar para finalizar.
1.6. Extensões do Joomla!
O Joomla contém uma vasta biblioteca com inúmeros módulos, componentes e plugins
que podem ser utilizados para deixar o seu site ainda mais profissional com menos
trabalho. As extensões se multiplicam a cada segundo e podem ser encontradas
diretamente no link http://extensions.joomla.org/
Existem extensões para (quase) tudo. Nesta apostila veremos algumas e, após esse
tópico, poderás escolher as suas próprias extensões de acordo com sua necessidade.
Inicialmente, como já foi visto, as extensões são instaladas a partir de
“Extensões>Instalar/Desinstalar”, então se seleciona o pacote pelo botão “Selecionar
Arquivo” e instalase clicando em “Enviar arquivo e instalar”.
Para iniciar o aprendizado vamos selecionar uma extensão muito útil e que é uma das
mais utilizadas atualmente, é o JCE Editor, que é um editor de textos que é aplicado
quando se está criando ou editando um artigo. O JCE é livre e pode ser baixado pelo link
http://pqnin.in/1BH ou diretamente pelo link:
http://www.joomlacontenteditor.net/downloads/editor/joomla15x
Após baixar o pacote então basta realizar o processo de instalação comum de uma
extensão. Após instalar o JCE vá ao menu “Site>Configuração Global” e na primeira página
na área de Configurações do Site, no item “Editor WYSIWYG Padrão”, altere para “Editor –
JCE”. Pronto, seu editor já está alterado e você tem um painel de criação de artigos bem
mais completo agora.
1.7. Temas do Joomla!
A grande biblioteca de extensões para o Joomla também pode ser percebida quando se
procura um bom tema, mais conhecido como template, para o seu site. Existem inúmeros
temas já criados e disponibilizados na web tanto com licença GNU/GPL (gratuitos para
uso), como também temas comerciais.
Os temas comerciais, na maioria das vezes, são bem mais completos e adaptáveis à sua
necessidade. Eles já contam com outros módulos préaplicados e são bem mais adotados
por empresas que procuram sites com ótimo layout e rapidez na criação. O uso de temas
précriados acontece muitas vezes por questões de falta de tempo para a criação de um
template único e exclusivo. A instalação de um novo template se dá de forma convencional,
assim como um módulo componente plugin ou idioma, na área de
“Extensões>Instalar/Desinstalar”.
Após a instalação do template desejado basta acessar “Extensões>Administrar Temas” e
procurar na lista de temas o que você instalou. Após encontrálo, basta clicar na caixa de
marcação ao lado esquerdo e, no canto superior direito, clicar em “Padrão”. Dessa forma,
será alterado o tema padrão. Apesar de ser um processo simples é relevante dizer que se
deve ter cuidado ao alterar um tema, pois os módulos que antes eram aplicados em
posições específicas naquele template agora serão dispostos em posições diferentes, pois os
temas dispõem de diferentes tipos de blocos.
Uma dica muito útil na aplicação e na visualização das posições do seu template é, após o
endereço do seu site, digitar ?tp=1. Isso irá permitir que você visualize como que o seu
template é estruturado. Ex: localhost/meusite?tp=1
Apesar do vasto número de templates você deve ter o cuidado de buscar o template para
a sua versão do Joomla. Templates criados para versões mais avançadas não podem ser
aplicados em versões mais antigas e mesmo se for possível pode apresentar erros de
visualização. Por esse motivo, sempre é recomendado procurar templates criados para a
versão que você utiliza.
1.8. Repositórios Joomla
Com o intuito de facilitar a busca de componentes e temas para seu site, seguem abaixo
dois sites que oferecem extensões e vários sites que oferecem temas gratuitos.
Extensões:
http://extensions.joomla.org/
http://www.siteground.com/joomla_extensions.htm
Temas:
http://free4joomla.com/
http://www.joomla24.com/
http://www.tmdhosting.com/joomlatemplates.html
http://www.joomlaos.de/joomla_template_galerie.html
http://www.siteground.com/joomlahosting/joomla15templates.htm
http://blog.webjapt.com/en/joomla/templatesgratuitosparaojoomla.html/
Ou se preferir um tema comercial, aqui seguem sugestões:
http://www.rockettheme.com/joomla
http://www.joomlart.com/index.php
Apesar de serem os mais conhecidos não são a única fonte, claro. Se desejar um
componente específico procure no seu sistema de busca preferido a extensão com o
seguinte formato:
[função da extensão] [tipo de extensão] Joomla [versão do Joomla]
Se desejar um formulário de contato para a versão 1.5, por exemplo, a busca mais
adequada seria: formulário de contato módulo Joomla 1.5.
Se desejar um tema que seja criado para sites de moda para a versão 1.5, por exemplo, a
busca mais adequada seria: template moda tema Joomla 1.5.
Se desejar uma extensão gratuita especifique no início da busca utilizando “Free”, por
exemplo: Free template joomla 1.5.
A busca resultaria em templates gratuitos para Joomla 1.5. Lembrese que o Joomla,
apesar de ter uma vasta aplicação nacional, não é brasileiro, então buscas por componentes
em inglês resultam em um maior número de resultados positivos. O primeiro exemplo de
busca em inglês seria: Contact form module Joomla 1.5, ou free contact form module
Joomla 1.5 (para busca de formulários de contato gratuitos).
Quando não se tem o que se deseja, então saber procurar também se torna um fator
decisivo na criação do seu site.
Capitulo 2. Template no Joomla!
2.1. Estrutura de um template Joomla!
De início é importante conhecer a estrutura de um template para Joomla. Neste caso, a
versão que iremos criar o template é a 1.5. A pasta do template tem a seguinte estrutura:
/nome_do_template
/css
template.css
960.css
reset.css
/html
/article
default.php
/category
blog_item.php
/frontpage
default_item.php
/section
blog_item.php
/images
/js
/scripts
component.php
favicon.ico
index.php
params.ini
template_thumbnail.png
templateDetails.xml
Não está na tabela, mas em cada pasta do template deve ter um arquivo “index.html”.
Esse arquivo contém apenas a seguinte marcação:
<html>
<body bgcolor="#FFFFFF">
</body>
</html>
Esse arquivo tem a função de não permitir a visualização direta dos arquivos da pasta
que ele se encontra. Se, por exemplo, a pasta raiz do template não tiver esse arquivo, então
se alguém tentar acessar diretamente a pasta pelo endereço
“www.seusite.com.br/templates/seu_template” ela exibirá todos os arquivos do seu
template.
Se, utilizando a mesma hipótese, a pasta tiver esse arquivo “index.html”, ao invés de
exibir todos os arquivos da pasta será exibida uma página em branco. Alguns arquivos que
serão utilizados não serão explicados, pois são apenas regras de template Joomla! Pois não
estão relacionados ao layout que é o objetivo deste tópico.
2.1.1. Pastas do template
CSS: Pasta que contém os CSS's do seu template, incluindo o CSS do GRID 960.
HTML: Pasta que contém arquivos prédefinidos do Joomla. O código desses arquivos
será disponibilizado ao decorrer desta apostila.
Images: Pasta que contém todas as imagens utilizadas para construir seu template
Js: Pasta criada apenas para colocar os JavaScripts se necessário.
Scripts: Pasta para colocar os Scripts se necessário.
2.1.2. Arquivos do template
component.php: Arquivos que contém configurações de componentes do Joomla.
templateDetails.xml: Contém os detalhes do seu template que será lido pelo Joomla na
configuração.
index.php: É o HTML do seu template porém escrito em PHP e com algumas funções
PHP que são úteis e necessárias.
favicon.ico: Ícone que será exibido na aba do Navegador.
params.ini: Arquivo utilizado para definição de parâmetros do template. No nosso
estudo e na criação do nosso template este arquivo não será utilizado e será mantido em
branco.
template_thumbnail.png: Imagem em miniatura que é exibida no painel de
administração para facilitar o reconhecimento do template. Após criar seu template no
GIMP basta salvar com extensão .png com dimensões 206 x 150.
/css/960.css e /css/reset.css: Arquivos CSS do GRID 960. Para baixar esses arquivos
acesse www.960.gs
/css/template.css: Definições de estilos CSS do seu template.
Baixe o template limpo pelo link http
: //pqnin.in/1BV ou acessando diretamente pelo link
http://www.4shared.com/zip/PR8slsxo/aula_joomla_utd.html
O template está em branco, mas contém os arquivos necessários préconfigurados. Não
edite os arquivos diretamente. Crie uma cópia da pasta para manter o template limpo e
poder criar outro template futuramente.
2.2. Começando a criação
Para a criação do template e dos blocos em si como visto em HTML e CSS serão
utilizados principalmente os arquivos “index.php” e “template.css”. Além desses arquivos
que estão diretamente no template, necessitamos também de um arquivo de diretivas que
devem ser dadas ao Joomla chamado de TemplateDetails.xml.
2.2.1.Index.php
Aqui serão criados todos os blocos assim como um HTML comum, mas antes da criação é
importante ressaltar podemos utilizar PHP para deixar o nosso template mais flexível. A
partir do arquivo précriado que foi disponibilizado para download, devemos entre as tags
<HEAD> e </HEAD> “chamar” os outros dois arquivos CSS do sistema de administração.
Para “chamálos” basta adicionar as linhas:
<link rel="stylesheet" href="<?php echo $this>baseurl ?
>/templates/system/css/system.css" media="all" type="text/css" />
<link rel="stylesheet" href="<?php echo $this>baseurl ?
>/templates/system/css/general.css" media="all" type="text/css" />
Logo em seguida, podemos iniciar a construção do nosso template, entre dentro da tag
BODY. Para definir o corpo inteiro do site usando o GRID 960 criamos um “subbody”.
Criamos uma DIV como essa:
<div class="container_16" id="total">
Aqui definimos que o corpo do site vai ser dividido em 16 colunas especificadas pelo
GRID 960. Só fechamos essa DIV quando terminarmos de criar o corpo do site antes do
rodapé. Após criar esse bloco, podemos criar os blocos dentro do bloco “total”. Temos três
tipos de blocos que podem ser criados.
O primeiro é um bloco com aplicação fixa, ou seja, mesmo não havendo nada aplicado a
tal bloco ele estará marcado no site e estará com espaço reservado. Sua sintaxe:
<div id="idDoBloco" class="grid_6 prefix_6">
<jdoc:include type="modules" name="user1" style="xhtml" />
</div>
Nesse caso, nós adicionamos um bloco que vai ocupar 6 colunas das 16 que o foram
definidas no total. Esse bloco vai ocupar esse espaço mesmo se não houver módulo aplicado
à posição “user1”. A segunda linha do código sempre vai existir, mas aparecerá com
“names” diferentes. Esses “names” são as posições que serão definidas na área de módulos
do Joomla. Se colocássemos name= “topo” então, na criação do módulo, definiríamos que
a posição dele será “topo”, se esta posição não aparecer digitea a mão.
O segundo é um bloco no qual ele só vai ser aplicado se houver algum módulo do Joomla
que ocupe seu espaço. É um bloco opcional. Se não houver nada aplicado a tal posição
então o template se adaptará ao espaço em branco. Sua sintaxe:
<?php if($this>countModules('esquerda')) : ?>
<div id="idDoBloco" class="grid_6">
<jdoc:include type="modules" name="esquerda" style="xhtml" />
</div>
<?php endif; ?>
Nesse exemplo temos um bloco que ocuparia um espaço de 6 colunas de acordo com o
GRID 960, mas que só seria visualizado se a posição esquerda estivesse sendo utilizada. Se
não houver módulo na posição esquerda, então o corpo da página irá automaticamente
recuar um espaço de 6 colunas à esquerda (ou à direita, dependendo de onde o bloco foi
marcado no HTML).
O terceiro tipo de bloco é o bloco de conteúdo da página. Seus artigos e atualizações
serão aplicadas nessa área do site. Sua sintaxe:
<div id="conteudo" class="grid_10">
<jdoc:include type="component" />
<jdoc:include type=”message” />
</div>
Em todos os três casos, a linha “<jdoc:include...” é insubstituível. É esse código que nos
permite, na área de administração, adicionar módulos nas posições definidas em name.
Dica: na criação dos blocos poderá ser necessário adicionar um espeço entre os blocos.
Esse espaço em branco pode ser adicionado com o código: <div
class="clear"> </div>
Perceba que até este momento só utilizamos a tag DIV para definir os blocos. Esta é a
forma convencional. Utilizamse as DIV para aplicar as divisões de blocos e, no painel de
administração, aplicamse os módulos aos blocos.
Praticando!
Usando o assunto visto até aqui, crie o index.php para seu template
Joomla. Utilize apenas as DIVs (base no GRID 960).
2.2.2.Otimização no Joomla/Truques no Joomla.
A otimização é importante em qualquer desenvolvimento. Sendo assim, não seria
diferente no desenvolvimento de templates para o Joomla. No Joomla nós podemos utilizar
a sintaxe PHP para otimizar nosso template.
Uma das formas de fazer isso é criar uma estrutura de condição dentro das tags
<HEAD></HEAD> para que uma folha de estilo ou um Js em específico não seja
carregado.
Isso irá funcionar como uma otimização, mas é um truque de desenvolvimento que o
Joomla apenas vai interpretar.
Funciona colocando as tags:
<?php if(countModules(‘esquerda’)) {?>
<link href=’Modelo’ rel=’stylesheet’ type=’text/css’>
<?php }; ?>
No caso acima a folha de ‘Modelo’ só seria adicionada se o módulo na posição ‘esquerda’
estivesse ativo.
Esse tipo de otimização deve sempre ser utilizado para aprimorar o seu template.
TemplateDetails.xml
Aqui iremos aprender a configurar nosso template para ser reconhecido de forma correta
pelo Joomla. Cada versão do Joomla tem uma configuração diferente, mas muito parecida.
Para o Joomla 1.5 é a seguinte:
<?xml version="1.0" encoding="utf8"?>
<!DOCTYPE install PUBLIC "//Joomla! 1.5//DTD template 1.0//EN"
"http://www.joomla.org/xml/dtd/1.5/templateinstall.dtd">
<install version="1.5" type="template">
<name>NOME_DO_TEMPLATE</name>
<creationDate>20130101</creationDate>
<author>Projeto eJovem</author>
<authorEmail>meu_email@email.com</authorEmail>
<authorUrl>http://www.meusite.com</authorUrl>
<copyright>Minha Licença</copyright>
<license>Tipo da minha licença(GNU/GLP)</license>
<version>Versão do Template (1.0)</version>
<description>Descrição do meu Template</description>
<files>
<filename>index.php</filename><!—Nome dos dois arquivos principais>
<filename>templateDetails.xml</filename><!—Nome dos dois arquivos principais>
<folder>images</folder><!—Nome de cada pasta que houver no template>
<folder>css</folder><!—Nome de cada pasta que houver no template>
</files>
<positions><!—Nome de cada posição que você deseja que o Joomla já préinstale >
<position>menuTopo</position>
<position>esquerda</position>
<position>direita</position>
</positions>
</install>
2.2.3. Observações importantes
Como vimos no capítulo 2 as CSS ajudam no processo de aplicação de estilos em uma
página. Essa aplicação é notória no Joomla. No processo de criação de um site todas as
variáveis da página devem estar ligadas para manter um fluxo de criação correto e preciso.
Alguns fatores são essenciais antes de começar a criação do template. Definir a função que
aquele site será destinado, o público que o site alcançará e o ramo de comercio que o site
irá atuar (se for comercial).
Esses são apenas alguns, mas agora vamos saber a razão de definir esses fatores. A
função do site definirá, inicialmente, a estrutura que você irá criar o layout. Se o site for
para atualização de shows e notícias rápidas poderás criar um layout em formato de blog
sem nenhuma barra lateral e apenas com uma DIV central aplicando o <jdoc: include
type=“component” /> para incluir notícias no corpo completo do site. Assim como poderia
ser reservado um espaço no topo do site (abaixo do menu) para banners de notícias de
grande repercussão com um link para a notícia completa, por exemplo.
Volte ao tópico 2.8 do manual de Desenvolvimento WEB I, para relembrar.
Praticando!
Utilizando o conhecimento de CSS do capítulo dois com as ferramentas e
as imagens criadas no GIMP e no Inkscape, crie a folha de estilo para seu
site editando o arquivos “template.css” dentro da pasta CSS. Não esqueça
sobre o esquema de cores e sobre o público do seu site. (As imagens que
você utilizará no seu template devem ser salvas na pasta “images”).
2.2.4. Aplicando seu template e inserindo módulos
Após terminar a criação do seu template você pode simplesmente copiar a pasta do seu
template para a pasta “/var/www/seusite/templates/”
No painel de administração procure seu template e coloqueo como padrão. Logo após
você poderá colocar os módulos nos blocos que você reservou para tal fim. Por exemplo, se
você reservou o topo com um bloco para o menu, então vá em “Extensões>Administrar
Módulos” e crie um novo módulo “Menu” aplicando ele à posição que você reservou no
index.php, nesse caso a posição é “topo”, se não houver na lista essa posição então digitea.
Assim faça com todos os outros módulos. Seu site estará pronto para uso quando terminar
de aplicar todos os módulos nas posições reservadas.
2.2.5. Inserindo Flash no Joomla com a utilização de módulos
Sabendo inserir um módulo, então nós podemos inserir um flash. Siga as instruções:
Para iniciar vamos à área “Administrar Módulos” do Joomla e clique em “Novo”.
Agora selecione “HTML Personalizado (Custom HTML)”.
Na tela que vai aparecer digite o título do módulo, selecione as opções de habilitado ou
não, a posição e vá para a área de texto. Então clique no ícone de Editor de HTML para
inserir um novo. Irá abrir uma tela para você digitar o código HTML, então digite o texto
abaixo para adicionar um flash:
<p style="textalign: left;">AQUI EU DEFINI O ALINHAMENTO DO MEU FLASH
<br />
<object style="float:left;" width="600" height="380" type="application/xshockwave
flash" data="TEMPLATES/SEU_TEMPLATE/IMAGES/NOME_DO_FLASH.SWF"
align="right">
<param name="movie"
value="TEMPLATES/SEU_TEMPLATE/IMAGES/NOME_DO_FLASH.SWF" />
<param name="quality" value="high" />QUALIDADE DO FLASH
<param name="wmode" value="transparent" />AQUI EU DEFINI QUE O FLASH VAI
TER O FUNDO TRANSPARENTE.
</object>
</p>
Após alterar as áreas que se encontram em caixa alta salve e aplique as configurações. O
Módulo irá aparecer com um flash inserido.
Dica: Você pode usar essa inserção de flash para logotipos no topo de páginas.
2.2.6. Trocando o Editor Padrão do Joomla e aprendendo a manipulálo.
Primeiro passo: Vamos ao administrador do Joomla para instalar o componente JCE 1.5.2
e o Plugins 1.5.2.
Dica:
Procure sempre instalar as versões mais recentes, pois quando mais novo menos problema.
Observação: Se a instalação foi executada com sucesso deve aparecer uma mensagem em
azul como mostra a próxima figura.
Segundo passo: Vamos ao menu: Site administrar usuários, como mostra a figura
abaixo:
Aqui no administrador do usuário vamos criar um usuário com senha para seu cliente.
Basta clicar em Novo.
Clicando em “Novo” você vai se deparar com uma tela igual a tela abaixo:
Em usuário você deve preencher os seguintes campos:
Nome: (O nome de seu cliente);
Nome de Usuário: (Um nome para o cliente acessar o administrador do Joomla.);
Email: (O email de seu cliente);
Nova Senha: (Escolha uma senha para seu cliente "uma senha difícil");
Verificar senha: (Repita a senha);
Grupo: (Em grupo você deve escolher a opção Gerente, essa opção também limita o
cliente dentro do administrador do joomla);
Idioma da administração: (Escolha a opção Português);
Idioma do site: (Escolha a opção Português);
Editor do usuário: (Escolha o editor que acabamos de instalar: Editor JCE 1.5.2).
Feito tudo isso, basta clicar em salvar.
Terceiro passo:
Agora vamos a Componentes Editor JCE Administration Groups, como mostra a figura
abaixo:
É exatamente aqui onde vamos definir quais as funções que seu cliente terá acesso.
Vamos criar um novo grupo, para isso, basta clicar em Novo.
Ao clicar em novo você verá uma tela como a figura acima. Preencha o seguinte campo:
Nome: (Nome do grupo, você pode chamar de clientes para facilitar a identificação)
Se você reparar, existem três quadrados nesta tela. Um chamado de Components, Types,
Users. Vá até o segundo (Types) e clique em cima de gerente. Vá até o último (Users) e
clique dentro dele e depois em Add User(s). Quando você clica em Add User(s), aparece
uma tela como a tela abaixo:
Nesta tela você vai escolher qual o usuário que deseja inserir, (você pode inserir mais de
um). Como estamos fazendo para um determinado cliente, escolheremos o usuário que
você criou lá em Administrar Usuários. Para escolher basta clicar na caixinha e depois em
SELECT no topo da tela. Essa tele irá se fechar e você vai perceber que o usuário escolhido
agora está dentro da caixa User(s).
Quarto passo:
Você reparou um pequeno menu que existe no topo da tela, veja na figura abaixo
circulado de vermelho:
Tudo o que fizemos nesta página foi no Setup o primeiro neste menu. Agora vamos pra o
segundo: Editor Parameters.
Essa página acima é a página Editor Parameters, nesta página não é necessário mexer em
nada. Sendo assim, vamos seguir para a próxima: Layout. Esta é a página mais importante,
pois é aqui que você vai escolher as funções corretas para seu cliente. Você não pode
cometer erros para não prejudicar nem a você e nem a seu cliente.
A página Layout se parece com a página abaixo:
A última página é a Plugin Parameters.
A página Plugin Parameters está divida em três partes, que são elas: Paste, Image
Manager e Advanced Link.
Para tornar tudo mais fácil, vamos começar desde o início.
Vamos até Paste, embaixo tem um link chamado Standard (padrão), clicando nele abrese
algumas opções. Aqui não é necessário mexer em nada.
Agora vamos até Image Manager, embaixo existem três links: StandarD (padrão), Default
(Prédefinidos) e Permissões.
No primeiro não é necessário mexer em nada. Clicando no segundo aparecem algumas
opções.
Encontre a opção Enable Border (Ativar Fronteiras), se tiver marcada como NÃO, troque
para SIM.
Depois de alterar a opção Enable Border, você pode Salvar e você terá concluído o
processo de limitar usuários no Editor JCE 1.5.2.
Site para baixar as versões mais atuais do Editor JCE para
Joomla:http://www.joomlacontenteditor.net/
Baixe e instale o Componente e o Plugin do Editor JCE. Logo após, habilite o plugin e
selecioneo nas configurações globais.
Capitulo 3. Hospedando
A primeira linha pergunta se você tem um domínio, como ainda não temos um domínio
então vamos pular pra segunda linha onde tem: or, I will choose your free subdomain
(recommended) .
Na caixa de diálogo abaixo desta frase digite o domínio que deseja. O site gera uma
extensão aleatória então seu site vai ficar no formato www.seudominio.
aleatorio
.com
onde
aleatório é o servidor que determina.
Logo abaixo tem:
•Your name: SEU NOME
•Your email (account details will be sent there): SEU EMAIL
•Password (at least 6 symbols, both letters and numbers): DIGITE UMA SENHA
•Type password again: REPITA A SENHA DIGITADA
•Type 2 words that you see in the image: DIGITE AS DUAS PALAVRAS QUE APARECEM
NA IMAGEM ABAIXO.
•I agree to Terms Of Service: MARQUE ESSA CAIXA
Após preencher essas caixas clique em “Create my account” no fim da página. Você será
redirecionado para uma página avisando que você deve confirmar sua conta pelo seu e
mail, então acesse seu email (o que você declarou na criação da conta) e procure um e
mail da 000WebHost com o assunto Confirm your Registration. O email contém alguns
links. Clique no segundo link, o que está precedido da frase To confirm your registration
please click this link (if link is not clickable, copy and paste it to your browser). Você será
direcionado para uma tela de confirmação e, dessa forma, você já tem seu servidor.
Para acessar seu servidor entre com http://members.000webhost.com/. Acesse digitando
seu email, sua senha e digitando o texto que aparece na caixa. Na tela que aparecerá clique
na caixa no link Go to Cpanel. Antes de continuar você necessitará realizar um processo
simples de divisão de pacotes do Joomla. O CPanel que vamos utilizar, por ser gratuito,
limita o tamanho do arquivo de upload para 5mb. O Joomla que temos é em torno de 7mb.
O que faremos é dividir os pacotes. Para fazer isso vá até seu arquivo Joomla de instalação,
desmonteo, acesse a pasta, selecione as 10 primeiras pastas (de administrator até media) e
compacteas para .zip colocando o número “1” após o nome do arquivo para você
reconhecer que é a primeira parte. Logo após, selecione o restante dos arquivos e compacte
os colocando o número “2” para saber que é a segunda parte. Agora voltemos ao CPanel.
No CPanel desça a tela e procure o ícone MySQL.
Preencha os campos com o nome do database, usuário, uma senha e repita a senha como
na imagem a seguir:
A senha deve conter mais que seis caracteres e deve conter números.
Logo após a criação você receberá as informações:
$mysql_host = SEU SERVIDOR MYSQL
$mysql_database = SEU BANCO DE DADOS MY SQL
$mysql_user = O USUÁRIO MYSQL
$mysql_password = A SENHA DO USUÁRIO
Agora vamos transferir nosso Joomla para o servidor. Procure por File Manager no
Cpanel.
Na tela seguinte digite apenas sua senha do CPanel, não altere o usuário.
Após entrar no File Manager você irá visualizar uma lista de arquivos e pastas, acesse a
pasta public_html. É nesta pasta que você instalará seu Joomla. Não coloque NENHUM
arquivo na pasta raiz, apenas na public_html.
Quando acessar a pasta public_html clique no botão Upload. Na tela seguinte, do lado
direito, poderás fazer upload dos arquivos zipados. Do lado esquerdo você pode fazer
upload de arquivos individuais, mas como instalaremos a partir do zip, então usaremos o
lado direito do gerenciador. Selecione os dois arquivos como mostra a figura:
Então após selecionar os arquivos clique na seta verde no lado superior esquerdo da tela
e aguarde enquanto o servidor recebe os arquivos. Se você receber uma mensagem de
perda de conexão então você será acesse novamente e tente enviar apenas um arquivo e só
depois o outro. Outro erro possível é o que está aparecendo nesta imagem:
Basta atualizar a página. Este erro não afeta seus arquivos, apesar de aparecer, este erro
não alterará seus arquivos. Após realizar o upload dos dois pacotes divididos você já poderá
iniciar a instalação do Joomla como visto no início do capítulo, a diferença ocorrerá na tela
de dados do MySQL que você irá preencher os campos de acordo com os dados que você
recebeu quando criou o Banco de Dados.
Continue o processo e após terminar apague, pelo File Manager, a pasta Installation.
Agora você já sabe como proceder para aplicar seu template, basta comprimir para .zip a
pasta do seu template, acessar a pasta templates do seu site pelo File Manager e fazer o
upload do .zip. Depois basta ir ao painel de administração e aplicálo.
quando se trata de segurança o preço é justo. Normalmente o valor é três vezes maior que
um servidor comum, mas no caso o site não é você que vai custear, então o seu trabalho
será apenas de convencer o contratante de que um servidor com SSL oferece uma
segurança maior ao site e aos dados. No caso de ele não concordar com sua opinião e
recusar, então o avise que todos os procedimentos extras de segurança serão realizados.
Não esqueça que convencêlo é uma algo que facilitará o seu trabalho, então faça ele
entender a importância da segurança e, como consequência, tenha seu trabalho otimizado.
Um servidor que ofereça um protocolo SSL não é garantia de segurança, claro. Outras (e
muitas) medidas de segurança são essenciais para a integridade do seu site. Vejamos
algumas poucas que aprimoram a segurança:
1. Quantas vezes você já ouviu a palavra “backup”? Várias? E quantas vezes você levou a sério
o significado desta palavra? Poucas? Backup: realize! Poderíamos terminar esse tópico na
exclamação anterior, mas vamos ver algumas dicas:
a. Defina a frequência que será realizado um backup no site, o que será salvo, o dia ou
os dias em que serão feitos e onde será estocado esse backup. Por exemplo: você
criou o site, irá realizar a manutenção do mesmo e ficará responsável por todos os
dados, então preze pela integridade dos seus arquivos e conteúdo.
b. Se for um site mais estático, com duas alterações por mês em média, então realize
um backup em cada alteração. Se for um site mais ativo, que contenha de 10 a 30
novos conteúdos por mês, realize dois backups por semana (o backup do template é
opicional, visto que às vezes o que muda é apenas o conteúdo). Se for um site que
tenha mais de 30 conteúdos novos por mês, então ofereça uma atenção a mais. Estes
sites normalmente são muito visitados, tanto por usuários comuns como por
crackers(que a mídia insiste em chamar de hacker), lammers, script kiddies, entre
outros, então seus dados estarão sendo mais explorados. Assim como você está
aprendendo isto tudo para defesa, existem outros que estão aprendendo para invasão,
então esteja sempre um passo à frente. Sabe a conhecida frase “a melhor defesa é o
ataque”? Ela define perfeitamente o que você deve entender. A melhor forma de se
precaver de ataques é sabendo como são realizados esses ataques.
2. Extensões são criadas para facilitar, USE-AS! Jsecure é uma das mais utilizadas para
complementar o seu trabalho. Procure-a no repositório Joomla.
3. Não use o prefixo jos_ como padrão das tabelas do Banco de Dados. Muitos ataques de
injeção SQL(SQL Injection) são baseados na suposição de que as tableas de seu banco de
dados são denominados jos_. Caso você tenha optado por usar o padrão jos_, ele poderá ser
mudado com um simples script PHP.
4. Um usuário de banco de dados por instalação. Não use um mesmo usuário para vários
bancos de dados e nunca use root como usuário de conexão. Geralmente o usuário de
conexão ao banco e o nome do banco, são baseados no nome de seu domínio. Mas isto vai
depender do provedor de hospedagem.
5. Considere uma senha forte para a conexão ao banco de dados. Use uma senha longa e
complicada para o acesso ao seu banco de dados. Hoje em dia é muito fácil de decifrar um
hash MD5, base de encriptação utilizada pelo Joomla (a criptografia já foi quebrada) ou
SHA1. Inclusive existem aplicações web que ajudam nesse processo. Se alguém começar a
tentar quebrar a senha de acesso ao banco de dados, por força bruta por exemplo, é só
questão de tempo até obter o sucesso. Uma boa forma de criar senhas fortes é utilizar
caracteres alfanuméricos e caracteres especiais como @ # $ entre outros.
6. Não instale o exemplo de conteúdo. O exemplo de conteúdo serve para que você se
familiarize com o Joomla. Em produção, você não deve utilizá-los tendo em vista que são
fáceis de serem identificados pelos "exploits". Além disso, você pode esquecer de remover
totalmente o conteúdo de exemplo.
7. Desinstalar coisas que você não precisa. Desinstale todas as extensões que você não irá
utilizar em seu projeto. Desde os componentes do núcleo do Joomla até os templates que
estão sobrando. Observe, por exemplo, que ao instalar o editor JCE você estará reinstalando
o editor WYSIWYG TinyMCE, pois ele funciona encapsulado no JCE. Joomla vem com o
editor TinyMCE instalado como editor padrão, então você terá duas instalações TinyMCE.
8. Desativar o registro/login. Se o seu website não terá conteúdo restrito ou cadastro de
usuários, desabilite o módulo Login form.
9. Desativar XML-RPC. Desative o XML-RPC do servidor se você não precisa dele. Não sabe
pra que serve? Dê uma olhada no endereço http://battisti.etc.br/2009/11/17/joomla-xmlrpc-
exemplo/ . Este site contém um exemplo de utilização do protocolo XML-RPC.
10. Devo remover a tag generator do Joomla? A tag generator é a tag que informa que o seu site
utiliza-se do CMS Joomla e informa também qual a versão do Joomla, ou seja, quem tentar
invadir vai saber exatamente com que falhas ele pode estar lidando. Remover essa tag
generator parece interessante quando se fala em defesa, porém por questões de ética não
recomenda-se retirar, pois fere a licença GNU/GPL na qual o Joomla é baseado. Não
esqueça que essa licença se utiliza da ideia de que “se quer alterar, altere, mas não retire os
créditos”.
11. Substitua o padrão de informação meta Joomla com seus próprios dados. Em sua
configuração global, certifique-se de substituir os metadados padrão. Mais do que segurança
este fato irá incidir diretamente em suas métricas de Google Marketing, ou seja:
Encontrabilidade. O SEO é um fator de extrema importância para todo site. Se ainda não
conhece o termo, não tem conhecimento no assunto, procure mais sobre. Conhecimento
nunca é demais.
12. Excluir a conta de usuário padrão. O userid 62 e o nome de usuário "admin" presentes na
tabela #__users, representa uma fraqueza e devem ser substituídos imediatamente após a
publicação do website na Internet. Para tal, acesse o backend e crie um novo usuário com
perfil de superadministrador. Depois, faça o login com o novo usuário e exclua o antigo
admin. Lembre-se que o admin é o primeiro usuário a desaparecer em qualquer sistema.
13. Ativar o (.htaccess). O htaccess.txt está na raiz do seu website joomla e deve ser renomeado
para (.htaccess). Porém, alguns fatores devem ser observados:
a. o (.) antes de um nome de arquivo, significa que o arquivo é um arquivo oculto do
GNU/LINUX. Logo, não irá funcionar no Windows.
b. o (.htaccess) é um arquivo extremamente perigoso e alguns provedores simplesmente
não permitem o envio do mesmo, ou durante a atualização do apache, passam a
restringir seu uso.
14. Use url's amigáveis. Muitos "exploits" funcionam baseados em sniffs de robots através das
URLs dinâmicas do Joomla!. Por exemplo, digamos que o componente (com_algumacoisa)
foi invadido e você está usando o mesmo em seu website. O "exploit" irá buscar por
com_algumacoisa em sua url e uma vez achado, irá explorar as vulnerabilidades do mesmo
para invadir seu website. O uso de Url's amigáveis além de ajudar sobremaneira na
indexação de seu website pelo google é uma excelente prática de segurança. Para ativá-las
basta acessar as configurações globais de seu site e marcar a opção “Sim” em “Ativar URL's
Amigáveis?”. Se estiver em inglês será “Friendly URL's?”.
15. Mover logs e cache para fora da raiz do website. Uma boa prática é alterar o caminho do log
e cache do seu website para um diretório fora da raiz, evitando o acesso via browser.
16. Criptografar a comunicação, ou pelo menos o login. Dependendo do provedor você poderá
acessar o backend do seu website via https, ou seja, usando criptografia como já foi citado
no início do tópico. Uma boa alternativa para os que desejarem abstrair a solução do
provedor é usar o componente Encrypt configuration.
17. Inscreva-se no canal de notícias de segurança do Joomla
http://feeds.joomla.org/JoomlaSecurityNews.
18. Instale os patches de segurança imediatamente. Quando for lançado um patch de segurança
ou uma nova versão stable(estável) do CMS atualize o seu website imediatamente. Existe
uma boa extensão para isso é Jupdateman.
19. Proteja o /administrador com medidas extras. Encapsule o /administrator de seu website
usando um simples plugin de segurança como o Jsecure(já citado anteriormente). 70% das
tentativas de ataque serão barradas pelo simples fato de não ser encontrado o /administrator
de seu website.
20. Dê as permissões corretas para arquivos e diretórios. A permissão dos diretórios de seu
website devem estar com 0755 e os arquivos com 0644. Nunca, jamais, em hipótese alguma
use 0777. Leia este artigo caso tenha dúvida em relação a permissão de diretórios e arquivos
no GNU/LINUX.
21. Evite expor informações. Desabilite o relatório de erros no backend do Joomla, escolhendo a
opção Nenhuma para relatórios de erros nas configurações globais. É interessante que a
diretiva display_errors do php também esteja desabilitada. Mas, lembre-se que dependendo
do contexto o display_errors deve estar habilitado. Por exemplo: você instala um módulo e
ele não funciona como deveria ou simplesmente não funciona, com o display_errors
desabilitado você verá apenas uma página em branco. Esta diretiva fica no php.ini e você
não terá acesso no servidor. O máximo que poderá fazer é criar uma flag no seu arquivo
(.htaccess) alterando o padrão de ON para OFF.
22. Adicionar uma solução de ACL(Access Control Level) personalizada. O ACL padrão do
Joomla não é muito restritivo e você pode estar dando mais privilégios de acesso do que
gostaria. Considere a adição de uma extensão para melhorar a ACL, por exemplo o NoixAcl.
23. Evite extensões com código fonte criptografadas. Você não pode corrigir erros no código
fonte se ele estiver criptografado, além de você ficar à mercê do desenvolvedor da extensão.
A regra é simples: em software livre encontramos extensões livres e gratuitas, livres e pagas
ou comerciais e pagas. Não existe extensão mais ou menos livre, disponibilizada com
código-fonte criptografado então, para a sua segurança, simplesmente não use.
24. Evite extensões legadas. Não utilize extensões que não foram desenvolvidas nativamente
para Joomla!1.5. Joomla!1.0 acabou em julho do ano passado e todos já tiveram tempo
suficiente para desenvolver dentro dos padrões do novo framework.
25. Evite extensões inseguras. Quando você instala qualquer extensão no Joomla! você perde a
garantia do CMS. Ou seja, a versão stable é liberada com as extensões que fazem parte do
seu núcleo. Por exemplo: não existe álbum de fotos em uma instalação padrão do Joomla,
logo, quando você instala um componente de galeria de imagens você o faz por sua conta e
risco. Lembre-se que todo componente cria automaticamente um objeto de banco de dados e
passa a ser uma célula viva dentro de seu website, muitas vezes com seu próprio painel de
controle. Então, muito cuidado com o que está instalando em seu website joomla ok? Dê
preferência a extensões populares e que tenham os projetos continuados e atuais e sempre
consulte a lista de vulnerabilidades antes de instalar qualquer coisa em seu website.
26. Use uma IDE. IDEs podem ajudar bastante com a qualidade do código, desenvolvimento e
testes. Para Windows existe o Aptana com plugin php. Para GNU/LINUX existe o bluefish.
Além desses existem outros, apenas procure um de sua preferência.
27. Teste localmente, antes de colocar em produção na web. Busque um ambiente de teste e
desenvolvimento próximo do ambiente de produção. De preferência use GNU/LINUX
sempre pois ficará bem próximo do ambiente do provedor mas, se não der, opte pelo
Xampp. Erros não devem aparecer em websites em produção, cuidado com as páginas 404 e
nunca, mas nunca mesmo deixe uma página em seu website com o dizer: em construção.
Isso faz com que quem está querendo invadir sinta-se mais à vontade para utilizar todos os
tipos de técnica pois como o site encontra-se em construção pode-se haver inúmeras
brechas.
28. Mantenha o seu código-fonte enxuto. A reutilização de código é uma característica da
OOP(programação orientada a objetos), então reutilize o código ao máximo. Cuidado com a
short tag do php pois você poderá ter problemas caso esteja desabilitada no servidor. Logo,
comece suas linhas de código com (<?php) e nunca apenas com(<?).
29. Use _JEXEC. A primeira linha executável de qualquer script php no Joomla, seja um
componente, módulo, plugin ou template, é a constante _JEXEC. Ela garante que o código
será executado apenas pela aplicação. Faça um teste rápido:
a. Abra a index.php de qualquer template e comente a linha J_EXEC or die restrict
access. Basta colocar // no início dela;
b. Digite em seu navegador a url de seusite/templates/onomedotemplatedoseusite
Executou? Você acabou de abrir um backdoor em seu website. Corra e retire o // e
tente o mesmo macete. Resultado? Restrict access.
30. Mantenha nomes e versões escondidas. Mostrar os créditos dos componentes em sua
frontpage além de perigoso, se as mesmas estão desatualizadas, vai contra a usabilidade. Seu
website está sob o domínio.com.br? Então deve estar em português. Não utilize “Powered
by...”.
Estas são apenas algumas das medidas de segurança. Como já foi dito, atualizese sempre
e esteja sempre um passo à frente. Segurança é primordial.
Referências