7.4. Como configurar o Banco de Dados no Ecommerce?

7.4.1. Configuração do postgreSQL

O banco de dados postgreSQL deve ser configurado para iniciar nos níveis 3,4,5 e parar no nível 2. Para isso execute como super usuário:

    [root@localhost]# chkconfig --add postgresql
    [root@localhost]# ntsysv

E marque a opção:

    [*] postgresql

Agora execute os seguintes comandos:

    [root@localhost]# cds
    [root@localhost]# ./postgresql stop
    [root@localhost]# ./postgresql start

Nesse ponto é necessário criar um banco de dados mestre. Este será administrado por um superusuário que terá direitos de criação dos bancos de dados das lojas. Para isso é necessário entrar como super usuário do sistema e em seguida entrar como usuário postgres:

    [root@localhost]# su -l postgres

E criar o banco de dados mestre que chamaremos de postgres:

    [postgres@localhost]$ createdb postgres
    [postgres@localhost]$ chmod 600 pg_pwd
    [postgres@localhost]$ psql
    
    postgres=> alter user postgres with password minhasenha; (Não esqueça do ";") 
    
    ALTER USER
    postgres=> \q                                                                       

onde:

minhasenha = senha que será usada pelo Tallyman para criar e acessar os bancos de dados das lojas. Esta senha será solicitada na configuração do Tallyman.

Agora edite o arquivo pg_hba.conf, para isso siga as seguintes instruções:

    [postgres@localhost]$ chmod 666 pg_hba.conf
    [postgres@localhost]$ mcedit pg_hba.conf

e nas duas últimas linhas do arquivo altere a palavra trust para crypt.

Salve (F2) e saia do arquivo (F10). Em seguida execute:

    [root@localhost]# chmod 400 pg_hba.conf

Agora reinicie o serviço do postgreSQL:

    [postgres@localhost]$ exit
    [root@localhost]# cds
    [root@localhost]# ./postgresql restart

O nome do usuário postgres é uma sugestão de fácil memorização. Outros nomes que atendam melhor a necessidades ou gostos individuais podem ser utilizados.

7.4.2. Configuração do Apache

Para garantir a segurança das URLs de administração do Tallyman, deve-se proteger os diretórios para os quais as URLs do Tallyman apontam. O roteiro abaixo define um usuário e uma senha para todas as URLs administrativas do Tallyman. Essas definições estarão armazenadas no arquivo tallyman_passwd, no diretório /usr/local/tallyman/secret. É prudente criar um usuário para cada pessoa que acessará o site, entretanto, por motivos didáticos trabalharesmo apenas um usuário cadastrado. Utilizando a senha do root, execute:

    [root@localhost]# cd /usr/local/tallyman
    [root@localhost]# mkdir secret
    [root@localhost]# cd secret
    [root@localhost]# htpasswd -c tallyman_passwd admin
    New password: <digitar uma senha>
    Re-type new password: <confirme sua senha>
    Adding password for user admin
    
    [root@localhost]# cd ..
    [root@localhost]# chown nobody.nobody secret
    [root@localhost]# chmod 500 secret

No exemplo acima estamos criando um usuário chamado admin, que possuirá direitos para configuração do Tallyman.

Para que o Apache reconheça o código Perl embutido nos arquivos HTML, edite o arquivo /etc/httpd/conf/httpd.conf:

    [root@localhost]# mcedit /etc/httpd/conf/httpd.conf

Agora execute o seguinte comando como super usuário:

    [root@localhost]# cd /usr/local/tallyman/tallyman
    [root@localhost]# cat apache_modperl.conf >> /etc/httpd/conf/httpd.conf

Agora reinicie o apache:

    [root@localhost]# cds
    [root@localhost init.d]# ./httpd stop
    Desligando httpd:
    
    [root@localhost init.d]# ./httpd start
    Iniciando httpd:                                           [OK]

Caso o indicador de OK não tenha saído na sua tela então alguma configuração no arquivo httpd.conf não está correta, e todas as modificações introduzidas no mesmo devem ser verificadas.

Para verificar se o apache está rodando sem problemas, inicie o navegador web e aponte para http://10.0.2.16 (nesse caso estamos apontando para o endereço IP da máquina que está sendo configurada, ajuste esse exemplo ao seu caso).

O próximo passo agora é criar uma loja virtual.