Criando um site com 
         LAMP
e Joomla em 30 minutos
      Por Fernando Mercês
  fernando.merces@4linux.com.br
$ whoami


Consultor na 4Linux, bacharelando em Ciência da Computação na 
UniverCidade, trabalha com tecnologias livres há cinco anos, 
certificado LPIC­2 e A+ com experiência em segurança e infraestrutura 
de sistemas, assuntos sobre os quais já ministrou palestras em diversos 
eventos como H2HC, FISL e LinuxCon. Membro da comunidades de 
software livre do Rio de Janeiro (http://softwarelivre­rj.org), criou e 
mantém os sites Mente Binária (www.mentebinaria.com.br) e Linux 
Reversing (linuxreversing.org ) além de colaborar com projetos de 
código aberto e iniciativas livres.
O que é LAMP?




         +      +   +
O Joomla


CMS (Content Management System – Sistema Gerenciador de 
Conteúdo) livre, construído em PHP com base no Mambo, um CMS 
muito famoso que continua ativo, porém, sem novos releases há muito 
tempo.

“Em março deste ano o Joomla atingiu a marca de 15 milhões de 
downloads.”
                                           www.joomla.org
Instalação dos pacotes


Em distribuições baseadas em Debian:

$ sudo apt-get install apache2 apache2-utils apache2-doc
libapache2-mod-php5 php5 php-doc php5-mysql mysql-server

Download do Jooma em www.joomla.org ou www.joomla.com.br 

Última versão estável: 1.5.22
Última versão beta: 1.6 Beta 15

Usaremos o pacote Joomla_1.6­Beta15­Full_Package.tar.gz. 
Criação do site no Apache

~$ mkdir kungfu
~$ sudo gedit /etc/apache2/sites-available/kungfu

            kungfu

            <VirtualHost *:80>
               ServerAdmin webmaster@localhost
               DocumentRoot /home/usuario/kungfu

               <Directory /home/usuario/kungfu/>
                    Options Indexes FollowSymLinks
            MultiViews
                    AllowOverride All
                    Order allow,deny
                    allow from all
               </Directory>

               ErrorLog ${APACHE_LOG_DIR}/error.log
               LogLevel warn
               CustomLog ${APACHE_LOG_DIR}/access.log
Testando o novo site

~$   sudo a2dissite default     <php
~$   sudo a2ensite kungfu          echo phpinfo();
~$   sudo a2enmod php           ?>
~$   gedit ~/kungfu/index.php
Criação da base de dados MySQL

$ mysqladmin -u root -p toor
$ sudo mysql_install_db
$ mysql -u root -p
Enter password: ****

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
+--------------------+
2 rows in set (0.00 sec)

mysql> CREATE DATABASE kungbase;
mysql> GRANT ALL ON kungbase.* TO kunguser IDENTIFIED BY
'kungpass';
mysql> SHOW DATABASES;
Instalação dos pacotes

$ cd ~/kungfu
$ tar -xzvf ~/Joomla_1.6-Beta15-Full_Package.tar.gz
$ ls -lh
total 104K
drwxr-xr-x   10   4.0K   Nov   29   17:31   administrator
drwxr-xr-x    2   4.0K   Nov   29   17:33   cache
drwxr-xr-x   12   4.0K   Nov   29   17:32   components
-rw-r--r--    1   2.4K   Sep    5   22:27   htaccess.txt
drwxr-xr-x    4   4.0K   Nov   29   17:33   images
drwxr-xr-x    2   4.0K   Nov   29   17:33   includes
-rw-r--r--    1   1.3K   Aug   26   10:28   index.php
drwxr-xr-x   10   4.0K   Nov   29   17:33   installation
-rw-r--r--    1   1.3K   Nov   29   17:29   joomla.xml
drwxr-xr-x    5   4.0K   Nov   29   17:32   language
drwxr-xr-x    6   4.0K   Nov   29   17:33   libraries
-rw-r--r--    1    18K   Dec   12    2009   LICENSE.txt
drwxr-xr-x    2   4.0K   Nov   29   17:33   logs
drwxr-xr-x    8   4.0K   Nov   29   17:31   media
drwxr-xr-x   25   4.0K   Nov   29   17:33   modules
drwxr-xr-x   10   4.0K   Nov   29   17:32   plugins
-rw-r--r--    1   4.4K   Jul   22   02:05   README.txt
-rw-r--r--    1    301   Aug   12    2009   robots.txt
drwxr-xr-x    7   4.0K   Nov   29   17:32   templates
drwxr-xr-x    2   4.0K   Nov   29   17:33   tmp
Configuração de pré­requisitos


 É recomendável desabilitar o Output Buffering do PHP:
●




$ sudo gedit /etc/php5/apache2/php.ini

;output_buffering = 4096 
output_buffering = Off

●
  É prático criar um arquivo de configuração para o Joomla antes da 
instalação:

$   cd ~/kungfu
$   touch configuration.php
$   chgrp www-data configuration.php
$   chmod 660 configuration.php
Instalação do Joomla


 Acessando http://localhost veremos a página de instalação. Após 
checar os pré­requisitos e aceitar a licença, configuramos o banco:
Instalação do Joomla


 Após pular a configuração de FTP, finalizamos com algumas 
configurações essenciais do site e da conta administrativa:
Ajustes pós­instalação

●
  É preciso remover o diretório de instalação para evitar que outra 
pessoa tente reinstalar o Joomla.

$ cd ~/kungfu
$ rm -r installation
●
  Alguns usuários costumam remover os arquivos README.txt e 
LICENSE.txt para evitar que possíveis atacantes percebam que existe 
um CMS no site tentando acessar esses arquivos diretamente. De fato, 
você pode evitar isso também via permissionamento.
Criação do site


Conceitos:

●
  Categorias reúnem artigos.
●
  Menus reúnem links para conteúdos.
●
  Publicar na front page significa exibir na página inicial.
Criação do site


Tela inicial de administração
Criação do site


Criação de um 
artigo (conteúdo 
que pode abrigar 
texto e multimídia).

No exemplo, a 
categoria do artigo 
é “Uncategorized” 
(sem categoria), 
que na verdade é 
uma categoria com 
esse nome.

Esta categoria é útil 
se não quisermos 
categorizar artigos.
Visualização do site
Obrigado!




            Perguntas?

Criando um site com LAMP e Joomla em 30 minutos