Anda di halaman 1dari 51

Protweb PHP

Instalao/Configurao

Protweb PHP Instalao

Requisitos:

Servidor Web com suporte a PHP Banco de Dados MySQL Arquivos do Protweb

Exemplo:

Servidor Linux com:

Apache 2.0.47, PHP 4.3.0 e MySQL 4.0.11

A grande parte das distribuies Linux atuais j possui os pacotes necessrios na mdia de instalao

Linux

Instalao

Linux Instalao
Instalar o Linux com:

Servidor Web Apache Banco de Dados MySQL Linguagem PHP Navegador Mozilla ou Firefox

Prever espao em disco na partio para os arquivos do Protweb

recomendvel que o Protweb fique numa partio diferente da partio do sistema operacional

Apache2/PHP

Instalao/Configurao

Apache2 Instalao
Pacotes bsicos (mdk 9.1)
apache2-2.0.44-11mdk, apache2-common-2.0.44-11mdk apache2-mod_ssl-2.0.44-11mdk apache2-mod_php-2.0.44_4.3.1-2mdk

Arquivos de configurao
/etc/httpd/conf/httpd2.conf /etc/httpd/conf/commonhttpd.conf /etc/httpd/conf/vhosts/Vhosts.conf

Apache2 Instalao
Pacote bsico (cl 10.0)
apache-2.0.49-61250cl

Arquivo de configurao
/etc/apache/conf/httpd.conf

Apache2 Configurao
Parmetros importantes:
/etc/httpd/conf/commonhttpd.conf (mdk) /etc/apache/conf/httpd.conf (cl10)

Usurio e grupo do servidor:

User apache Group apache

Directory Index: AccessFileName:

DirectoryIndex (...) index.php (...)

AccessFileName .htaccess

Apache2 Configurao
Se o Apache for exclusivo para o Protweb, pode-se mudar o DocumentRoot para o diretrio do protweb:
/etc/httpd/conf/httpd2.conf (mdk) /etc/apache/conf/httpd.conf (cl10)

DocumentRoot:

DocumentRoot /var/www/html/protweb

Apache2 Configurao
Se o Apache no for exclusivo para o Protweb, pode-se criar um Host Virtual:

Configurar no servidor DNS dois nomes diferentes resolvendo para a mesma mquina Editar o arquivo de configurao e colocar um DocumentRoot para cada nome:

/etc/httpd/conf/vhosts/Vhosts.conf (mdk) /etc/apache/conf/httpd.conf (cl10)

Apache2 Configurao
Vhosts.conf - Exemplo
NameVirtualHost *:80 <VirtualHost *:80> ServerName webmail.5cta.eb.mil.br DocumentRoot /var/www/html/webmail </VirtualHost> <VirtualHost *:80> ServerName protweb.5cta.eb.mil.br DocumentRoot /var/www/html/protweb </VirtualHost>

PHP Instalao no Linux


Pacotes bsicos (mdk 9.1)

libphp_common430-430-11mdk php-ini-4.3.0-1mdk php-mysql-4.3.0-2mdk php-xml-4.3.0-2mdk

Arquivo de configurao

/etc/php.ini

PHP Instalao no Linux


Pacotes bsicos (cl 10.0)

php4-4.3.6-63187U10_2cl php4-mysql-4.3.6-63187U10_2cl

Arquivo de configurao

/etc/php.ini

PHP Arquivo php.ini


Parmetro register_globals

Deve ser On
A partir do PHP 4.2.0, o valor padro do parmetro off No Mandrake 9.X e 10.X register_globals = on No Conectiva 10.0 register_globals = off

Outros Parmetros

short_open_tag = On max_execution_time = 30 error_reporting file_uploads = On upload_max_filesize = 2M = E_ALL & ~E_NOTICE

Apache2/PHP Testando
Colocar o Servidor Web no ar Criar um arquivo teste.php com a linha:
<? phpinfo() ?>

Colocar o arquivo em um subdiretrio Web


/var/www/html (mdk) /srv/www/default/html (cl10)

Acessar via navegador


http://localhost/teste.php

MySQL

MySQL
Linux

Pacotes bsicos (mdk 9.1)

MySQL-4.0.11a-5mdk MySQL-client-4.0.11a-5mdk MySQL-common-4.0.11a-5mdk

Pacotes bsicos (cl 10.0)

mysql-4.0.15-62447cl mysql-client-4.0.15-62447cl

MySQL
Daemon

mysqld

Principais comandos

mysql

Cliente do mysqld

mysqladmin

Para procedimentos administrativos (create database, drop database, shutdown, etc)

mysqlshow

Mostra a estrutura de uma base (tabelas, colunas)

MySQL

Principais comandos

mysqldump

Gera um dump das tabelas e/ou dados Possibilita o backup

mysqlimport

Importa dados de arquivos texto para as tabelas

MySQL

O usurio root do MySQL no tem nenhuma relao com o usurio root do Linux Acesso do administrador (root) do banco

Usurio root / sem senha (mdk) Executar /usr/bin/mysql_install_db (cl10)

Acessando o banco
# mysql -p mysql>

MySQL
Dois bancos de dados

mysql

columns_priv db host tables_priv user

test

Vazio

MySQL

Tabela user

Nome do usurio senha Host (autorizado para a conexo) Privilgios globais (todos os bancos de dados)

Tabelas db e host

Privilgios para os bancos de dados

Tabelas columns_priv e tables_priv

Privilgios de linha e coluna

MySQL com phpMyAdmin


Pacote de administrao

phpMyAdmin

http://www.phpmyadmin.net/

Baixar o .tar ou o .zip

Requisito: Servidor web no ar (httpd) com suporte a PHP e MySQL

MySQL com phpMyAdmin


Descompactar para um subdiretrio de pginas web
tar -xvjf phpMyAdmin-2.6.2.tar.bz2 --no-same-permissions -C /var/www/html

Editar o arquivo config.inc.php

host, user, password

Altamente recomendvel proteger o diretrio no Apache Acesso via browser

MySQL com phpMyAdmin


Arquivo config.inc.php
$cfg['PmaAbsoluteUri'] = ''; $cfg['PmaAbsoluteUri_DisableWarning'] = TRUE;

$cfg['Servers'][$i]['user'] $cfg['Servers'][$i]['password']

= 'root'; = '';

MySQL com phpMyAdmin


Proteo do diretrio no Apache Proteo baseada em IP

Criar um arquivo .htaccess no diretrio do myadmin

Deny from all Allow from 127.0.0.1/32

MySQL com phpMyAdmin


Proteo baseada em usurio:

Criao de um arquivo de senhas: Incluso ou alterao no arquivo de senhas:

htpasswd -c /etc/httpd/conf/passwords usuario

htpasswd /etc/httpd/conf/passwords usuario

Arquivo .htaccess:

AuthType Basic AuthName "nome" AuthUserFile /etc/httpd/conf/passwords Require valid-user

Protweb

Instalao

Protweb Instalao automtica


Executar script de instalao instala_protweb Editar o arquivo php.ini register_globals = on Editar o arquivo config/settings.php

Protweb Instalao manual


1) Descompactar o Protweb para um subdiretrio de pginas web, e verificar a permisso dos diretrios documentos e mensagens tar -xvzf protweb.tar.gz -C /var/www/html

2) Criar o usurio protweb no MySQL mysql -p mysql < protweb_mysql_user.sql

Protweb Instalao manual


3) Reiniciar os privilgios do MySQL mysqladmin -p reload

4) Criar uma base chamada protweb no MySQL mysqladmin -p create protweb Se a base j existir: mysqladmin -p drop protweb mysqladmin -p create protweb

Protweb Instalao manual


5) Criar as tabelas da base protweb
mysql -p protweb < protweb_db_script.sql ou mysql --user=protweb --password=protweb protweb < protweb_db_script.sql

6) Inserir os dados bsicos nas tabelas criadas mysql -p protweb < protweb_db_data.sql

Protweb Instalao manual


Editar o arquivo config/settings.php

Configuraes dos diretrios:


$page_path = "/"; $img_path = "/images"; $modelo_url = "/modelos"; $document_path = "/var/www/html/protweb/documentos"; $message_path = "/var/www/html/protweb/mensagens"; $modelo_path = "/var/www/html/protweb/modelos";

Protweb Instalao manual


Arquivo config/settings.php

Configuraes do servidor:
$web_server = "http://protweb.5cta.eb.mil.br/"; $db_server = "localhost"; $db_name = "protweb";

Usurio e senha para acesso ao banco de dados:


$db_user_rw = "protweb"; $db_code_rw = "protweb";

Protweb

Tabelas

Protweb Tabelas
AnexoMensagem

Tabela para os arquivos anexos das mensagens (emails) VirtualPath = mensagens/

Anotacao

Tabela para o registro de anotaes e despachos Tipo=1 para despacho e Tipo=2 para anotao

Protweb Tabelas
ArquivoAnexo

Tabela para os arquivos anexos dos documentos O prprio documento um arquivo anexo (ArquivoAnexoID = 0) Tipo=D para o documento e Tipo=A para os anexos VirtualPath = documentos/<abreviatura>/

ArquivoMensagemTemp e ArquivoTemporario

No so usadas (em um protweb local) No devem ser removidas

Protweb Tabelas
DespachoPadrao

Tabela para os despachos pr-definidos

Documento

Tabela com as informaes sobre o documento (expedidor, assunto, data, etc) No guarda o nome do documento

Grupo

Tabela para os grupos de usurios

Protweb Tabelas
Historico

Tabela para armazenar as operaes dos usurios Tabela com maior tamanho

Protweb Tabelas

As opes do campo TIPO so:


1) Login de Usurio 2) Logout de Usurio ou Encerramento da Sesso 3) Remessa de documentos 4) Encaminhamento de documentos 5) Arquivamento de documentos 6) Anotao em documentos 7) Despacho em documentos 8) Anexo de documentos 9) Deleo de Documento pelo Administrador 10) Criao de Usurio 11) Deleo de Usurio

Protweb Tabelas
Mensagem

Tabela com as informaes da mensagem (e-mail), inclusive o texto

PostoGraduacao

Tabela para a lista de postos/graduaes

Prioridade

Tabela com a lista de prioridades (0, 1, 2 para documentos; 10, 11, 12 para mensagens)

Protweb Tabelas
ServidorProtweb

Tabela com informaes sobre o servidor Protweb

TipoDocumento

Tabela com os tipos de documento As abreviaturas devem seguir o padro de codificao URL previsto no RFC 1738 (US-ASCII)

Usuario

Tabela com as informaes sobre o usurio Guarda a senha codificada com MD5

Protweb Tabelas
UsuarioDocumento

Tabela que relaciona os usurios com os documentos (UsuarioID, DocumentoID) StatusDocumento: 0 = Documento arquivado 1 = Documento recebido (no lido) 2 = Documento pendente 3 = Documento lido

Protweb Tabelas
UsuarioGrupo

Tabela que relaciona os usurios com os grupos (UsuarioID, GrupoID)

UsuarioMensagem

Tabela que relaciona os usurios com os mensagens (UsuarioID, MensagemID) StatusMensagem: 0 = Mensagem recebida (no lida) 1 = Mensagem lida

Protweb Tabelas
Exemplo

Arquivar todos os documentos da caixa de entrada do usurio TESTE:

UPDATE UsuarioDocumento LEFT JOIN Usuario ON ( DestinatarioID = UsuarioID ) SET StatusDocumento = '0' WHERE ( StatusDocumento = '1' OR StatusDocumento = '3' ) AND Nickname = 'teste';

Protweb

Backup

Protweb backup e recuperao


Backup do Protweb

Dump do banco de dados Cpia dos arquivos do Protweb Cpia dos arquivos de configurao do Apache e PHP

No Protweb PHP, o backup pode ser feito sem tirar o banco do ar

Protweb backup e recuperao


Backup do MySQL

Dump do banco protweb para um arquivo texto

mysqldump -u protweb -pprotweb protweb > protweb.sql

Pode ser agendado no cron para ser feito automaticamente logo antes da cpia dos arquivos

Protweb backup e recuperao


Backup dos arquivos

Usando o tar para unidade de fita DAT

tar -cvf /dev/st0 --totals --label "Backup protweb de `date +%d%b-%H:%M`" /var/www/html/protweb

Usando o tar e gzip para arquivo

tar -cvzf /backup/protweb.tar.gz /var/www/html/protweb

Protweb backup e recuperao


Backup dos arquivos

Usando o rsync e NFS

mount -t nfs 10.1.2.3:/backup-protweb /backup rsync -a --delete /var/www/html/protweb /backup umount /backup

Protweb backup e recuperao


Restore dos arquivos .tar tar -xvf /dev/st0 --directory / ou tar -xvzf protweb.tar.gz --directory / Restore do MySQL mysql -p mysql < protweb_mysql_user.sql mysqladmin -p create protweb mysql -u protweb -pprotweb protweb < protweb.sql

Anda mungkin juga menyukai