Mambo Open Source & Friends – Tutorial

May 4th, 2004

Category: Administracao e Suporte

Tagged with: , , , , , , ,

Neste tutorial mostro como configurar um ambiente composto por Apache, MySQL, PHP, phpMyAdmin e Mambo Open Source (MOS). Uma estrutura completa para o usuário criar seu próprio site usando o excelente gerenciador de conteúdo MOS.



















Mambo Open Source & Friends


Autor:
Hélder Garcia
Email:
hlbog<NFSPAM>sounerd.com
Maio
de 2004

Esse tutorial descreve os procedimentos para a criação de um ambiente composto por Apache, MySQL, PHP, phpMyAdmin, e Mambo Open Source. É destinado aqueles que desejam utilizar o Mambo Open Source como plataforma de Gerenciamento de Conteúdo para sites Internet ou Intranet.
Mostrando não só como instalar o MOS (Mambo Open Source), mas também todas as ferramentas e serviços necessários para compôr uma estrutura completa, espero facilitar o processo para quem quer experimentar o MOS, e contribuir para difundir este produto que acho excelente.
Sugiro que o usuário mantenha um ambiente local para desenvolvimento e testes, antes de realizar qualquer alteração em seu site de produção.

O documento é composto dos seguintes ítens:








































Parte I



Pacotes Necessários

Parte II



Instalação do Apache

Parte III



Instalação do MySQL

Parte IV



Instalação do PHP

Parte V



Instalação do MOS

Parte VI



Instalação do phpMyAdmin



Parte I – Pacotes Necessários

Esta seção apenas reúne os links utilizados para realizar o download dos pacotes de todos os produtos mostrados neste tutorial. Se você achar melhor, pode baixar previamente todos os pacotes antes de iniciar o acompanhamento do tutorial.




Parte II – Instalação do Apache

Nesta primeira parte veremos como realizar uma instalação básica do Apache. Os procedimentos aqui mostrados foram realizados com sucesso em um sistema Red Hat 9 e um sistema Mandrake 9.1.

Primeiro baixe o tarball do site do Apache em algum diretorio, por exemplo, /usr/src/softwares.

Em seguida, voce deve descompactá-lo.

# cd /usr/src/softwares
# tar xzvf httpd-2.0.49.tar.gz
# cd httpd-2.0.49

Rode o script configure para gerar as opções de compilação para o seu sistema.

# ./configure -prefix=/usr/local/apache2 -enable-mods-shared=most

A opção -prefix informa o diretório de instalação do Apache, e a segunda opção indica a criação da maioria dos módulos disponíveis, o que torna esta instalação funcional para a maioria dos casos.

Faça a compilação:

# make

E a instalação:

# su
# make install

ou

# sudo make install

Edite o arquivo /usr/local/apache2/conf/httpd.conf.

# vi /usr/local/apache2/conf/httpd.conf

Certifique-se de que existem as linhas abaixo neste arquivo.

DirectoryIndex index.html index.html.var index.php
AddType application/x-httpd-php .php

Configure para que o Apache inicie automaticamente, como mostrado a seguir.

Copie /usr/local/apache2/bin/apachectl para /etc/init.d/httpd.

Edite o arquivo /etc/init.d/httpd e acrescente as linhas abaixo após a linha #!/bin/sh.

# chkconfig: 345 20 80
# description: Apache Web server

Salve e execute os comandos abaixo (como root).

# cd /etc/init.d
# chkconfig –add httpd

Crie o diretório /usr/local/www, vamos precisar dele mais tarde. Embaixo dele iremos colocar o conteúdo do site.

# mkdir -p /usr/local/www


Parte III – Instalação do MySQL

Baixe o tarball e descompacte no diretório /usr/src/softwares.

# cd /usr/src/softwares
# tar xzvf myqsl-4.0.18.tar.gz
# cd myqsl-4.0.18

Rode o script configure para gerar as opções de compilação para o seu sistema.

#./configure –prefix=/usr/local/mysql –localstatedir=/usr/local/mysql/data –disable-maintainer-mode –with-mysqld-user=mysql –enable-large-files-without-debug

Faça a compilação:

# make

E a instalação:

# su
# make install

ou

# sudo make install

Crie um grupo e um usuário mysql.

# groupadd mysql
# useradd -g mysql mysql

Em seguida, instale os databases.

# ./scripts/mysql_install_db

Configure o MySql para iniciar no boot automaticamente. Copie o arquivo /usr/src/softwares/myqsl-4.0.18/support-files/mysql.server para /etc/init.d/mysqld e inclua o serviço com o comando chkconfig.

# cd /etc/init.d
# cp usr/src/softwares/myqsl-4.0.18/support-files/mysql.server mysqld
# chmod 755 mysqld
# chkconfig –add mysqld
# ./mysqld start
# ./mysqld stop

Ajuste os ownership dos diretórios abaixo.

# cd /usr/local
# chown -R root:mysql mysql
# chown -R mysql:mysql mysql/data

Adicione a linha abaixo no arquivo /etc/ld.so.conf.

/usr/local/mysql/lib/mysql

Altere o script /etc/init.d/mysqld. Altere a linha que contém o trecho abaixo,

$bindir/mysqld_safe –datadir=$datadir –pid-file=$pid_file >/dev/null 2>&1 &

para

$bindir/mysqld_safe –user=mysql –datadir=$datadir –pid-file=$pid_file >/dev/null 2>&1 &

Inicie o servidor.

# /etc/init.d/mysqld start

Altere a senha do usuário root do MySql.

# /usr/local/mysql/bin/mysqladmin -u root password new_password

Crie um usuário chamado mysql com poderes de superuser.

# /usr/local/mysql/bin/mysql –user=root -p mysql

No prompt do MySql, digite os comandos abaixo.

mysql> GRANT ALL PRIVILEGES ON *.* TO mysql@localhost
IDENTIFIED BY ‘alguma_senha’ WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO mysql@’<hostname completo>’
IDENTIFIED BY ‘alguma_senha’ WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> quit


Parte IV – Instalação do PHP

Baixe o tarball e descompacte no diretório /usr/src/softwares.

# cd /usr/src/softwares
# tar xzvf php-4.3.6.tar.gz
# cd php-4.3.6

Rode o script configure para gerar as opções de compilação para o seu sistema.

# ./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql=/usr/local/mysql –with-zlib –with-bz2

Talvez você tenha que reinstalar o pacote do BZip2 para que o script aceite sua configuração.

Faça a compilação:

# make

E a instalação:

# su
# make install

ou

# sudo make install

Copie o arquivo de configuração de exemplo para o diretório correto.

# cp php.ini-recommended /usr/local/php/lib/php.ini

Edite este arquivo (/usr/local/php/lib/php.ini), altere o valor de doc_root para /usr/local/www e esteja certo de que o valor de file_uploads seja On. Na linha do include_path remova o símbolo de comentário e coloque os caminhos abaixo de /usr/local/php. As três linhas deverão ficar assim:

doc_root=”/usr/local/www/”
file_uploads=On
include_path = ".:/usr/local/php/lib/php:/usr/local/php/include"

Edite o arquivo /usr/local/apache2/httpd.conf.

# vi /usr/local/apache2/conf/httpd.conf

Verifique se existe e inclua, se for o caso, a linha abaixo neste arquivo, na seção de Dynamic Shared Object.

LoadModule php4_module modules/libphp4.so

E altere o valor de DocumentRoot conforme a linha abaixo.

DocumentRoot "/usr/local/www"

E também do seguinte trecho.

# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/usr/local/www">

Os comandos a seguir são apenas para realizar alguns testes do ambiente.

Reinicie o Apache.

# /etc/init.d/httpd restart

Faça os seguintes testes, onde você deve obter respostas semelhantes às mostradas aqui.

# /usr/local/apache2/bin/httpd -t
[Fri Apr 30 17:35:11 2004] [warn] module php4_module is already loaded, skipping
Syntax OK

# /usr/local/apache2/bin/httpd -v
Server version: Apache/2.0.49
Server built: Apr 28 2004 07:54:19

# /usr/local/apache2/bin/httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c

# /usr/local/apache2/bin/httpd -V
Server version: Apache/2.0.49
Server built: Apr 28 2004 07:54:19
Server’s Module Magic Number: 20020903:7
Architecture: 32-bit
Server compiled with….
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D HTTPD_ROOT="/usr/local/apache2"
-D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"

Estando tudo certo, podemos criar um exemplo de index.php.

# cd /usr/local/www
# vi index.php

<html>
<head>
<title>PHP Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<h1>PHP Test</h1>
<p>
<b>An Example of PHP in Action</b><br />
<?php echo "The Current Date and Time is: <br>";
echo date("g:i A l, F j Y.");?>
</p>

<h2>PHP Information</h2>
<p>
<?php phpinfo(); ?>
</p>
</body>
</html>

Abra o seu browser em http://localhost e veja se apareceu uma tabela com dados de configuração do PHP.

Ok? Neste ponto você já tem a infra-estrutura necessária para a instalação do Mambo Open Source e a criação de seu site local. Vamos em frente…


Parte V – Instalação do Mambo Open Source

Baixe a última versão do MOS e copie em /usr/local/www. Descompacte neste diretório.

# cd /usr/local/www
# rm index.php
# cp /usr/src/softwares/mos45s107.tar.gz .
# tar xzvf mos45s107.tar.gz
# cd ..
# chown -R nobody www
# cd www

Abra o seu browser em http://localhost. Deverá aparecer a primeira página de instalação do Mambo Open Source. Veja abaixo na figura como deve estar o status dos ítens verificados nesta página.



Clique em Continue.

Na página seguinte, preencha os campos, informando seu hostname (localhost), usuário e senha MySQL (utilize o usuário mysql que criamos anteriormente ou o root mesmo), e o nome que você quer dar ao database deste site.



Clique em Next.

Forneça um nome para o seu site. Isto não é a URL, apenas uma descrição breve do site.



Clique em Next.

Confirme a URL e path e informe seu email. Configure também nesta página uma senha para o usuário Admin do MOS.



Clique em Next.

Pronto, aparece a última página lembrando você de apagar o diretório de instalação.



Clique em Run!

Faça o que ele manda e apague o diretório installation.

# cd /usr/local/www
# rm -rf installation

Seu site está no ar! Veja em http://localhost.



A tentação de começar a criar alguma coisa é grande, mas vamos instalar mais uma ferramenta que vai lhe ajudar muito na gerência do seu ambiente.


Parte VI – Instalação do phpMyAdmin

O phpMyAdmin permite que você gerencie os seus bancos de dados MySQL através de uma console Web. Muito útil mesmo para quem já domina o MySQL.

Baixe a última versão para o seu diretório de pacotes, no meu exemplo /usr/src/softwares.

Copie o tarball que você baixou para dentro da sua árvore root do servidor Web, neste exemplo, /usr/local/www.

# su -
# cd /usr/local/www
# cp /usr/src/softwares/phpMyAdmin-2.5.6.tar.gz .

Descompacte o pacote.

# tar xzvf phpMyAdmin-2.5.6.tar.gz

Vamos configurá-lo. Primeiro mude o nome do diretório para tornar mais fácil a digitação de seu nome na URL.

# mv phpMyAdmin-2.5.6 phpmyadmin

Vamos criar um usuário no MySql chamado control. Este usuário o phpMyAdmin exige para que usemos modos de autenticação HTTP ou cookie. É claro que o nome do usuário pode ser outro.

# /usr/local/mysql/bin/mysql –user=root -p mysql

No prompt do MySql, digite os comandos abaixo. Aqui estamos tratando com localhost, mas se você for acessar via browser usando o hostname ao invés de localhost, você deve substituir nos comandos abaixo localhost pelo hostname completo do servidor.

mysql> GRANT USAGE ON mysql.* TO ‘control’@'localhost’ IDENTIFIED BY ‘<senha>’;
mysql> GRANT SELECT (
Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
Execute_priv, Repl_slave_priv, Repl_client_priv
) ON mysql.user TO ‘control’@'localhost’;
mysql> GRANT SELECT ON mysql.db TO ‘control’@'localhost’;
mysql> GRANT SELECT ON mysql.host TO ‘control’@'localhost’;
mysql> GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
ON mysql.tables_priv TO ‘control’@'localhost’;
mysql> FLUSH PRIVILEGES;
mysql> quit

Agora iremos alterar o arquivo de configuração do phpMyAdmin.

# cd phpmyadmin

Abra o arquivo config.inc.php.

No campo $cfg['PmaAbsoluteUri'] informe a URL completa para acessar o phpMyAdmin. Por exemplo:

$cfg['PmaAbsoluteUri'] = ‘http://localhost/phpmyadmin’;

Configure os campos abaixo, relativos à autenticação.

$cfg['blowfish_secret'] = ‘<passphrase de sua escolha>’;
$cfg['Servers'][$i]['host'] = ‘localhost’;
$cfg['Servers'][$i]['controluser'] = ‘control’;
$cfg['Servers'][$i]['controlpass'] = ‘<senha>’;
$cfg['Servers'][$i]['auth_type'] = ‘cookie’;
$cfg['Servers'][$i]['user'] = ”;
$cfg['Servers'][$i]['password'] = ”;

Acesse o phpMyAdmin através do seu browser digitando a URL http://localhost/phpmyadmin.

Vou finalizando por aqui. Você tem muito trabalho a fazer no seu site agora… :)

Espero ter ajudado,

– hlbog




No comments yet


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>