• Nenhum resultado encontrado

Ambiente LAMP. Introdução. LAMP MySQL Apache PHP. Camada Aplicacional PHPMyAdmin OPSView. Bibliografia

N/A
N/A
Protected

Academic year: 2021

Share "Ambiente LAMP. Introdução. LAMP MySQL Apache PHP. Camada Aplicacional PHPMyAdmin OPSView. Bibliografia"

Copied!
31
0
0

Texto

(1)
(2)

Ambiente LAMP

• Introdução

• LAMP

• MySQL • Apache • PHP

• Camada Aplicacional

• PHPMyAdmin • OPSView

• Bibliografia

(3)

Introdução

LAMP é a designação genérica para um Ambiente suportado sobre:

Linux (Operating System) +

Apache (Web Server) +

MySql (DataBase Server) +

PHP (Script Language)

É actualmente um dos ambientes mais utilizados no desenvolvimento de Aplicações NÃO críticas (em termos de Integridade e complexidade) em serventia WEB.

(4)

Introdução

Quando a Integridade Atómica da informação ou outras Características Funcionais especificas (Ex: Chaves Estrangeiras) se tornam factores críticos, é usual substituir a componente de Gestão de Bases de Dados por uma que adicione esta característica de raiz, como seja o POSTGRESql.

Também a Complexidade da aplicação pode recomendar a utilização de uma Linguagem de Scripting mais estruturada de Raiz, substituindo assim o PHP por uma outra como sejam o RUBY ou o PYTHON.

(5)

Introdução

LAMP caracteriza-se ainda por ser um Ambiente OPEN SOURCE e sem quaisquer custos de aquisição associados, que pela sua Robustez, Simplicidade, Portabilidade e Eficácia se destaca perante outras soluções integradas existentes.

(6)

MySQL

O Gestor de Bases de Dados usado sobre ambiente LAMP:

http://dev.mysql.com/

Características Técnicas mais relevantes:

•Portabilidade •Compatibilidade

•Desempenho e Estabilidade •Pouca exigência de Recursos •Facilidade no Uso

(7)

MySQL

Instalação:

emerge -va mysql

Configuração:

emerge --config =dev-db/mysql-4.1

Configurar o Arranque automatico:

rc-update add mysql default

Gestão do Daemon:

/etc/init.d/mysql start | stop | restart | status

As configurações do MYSQL encontram-se no file:

(8)

MySQL

Gestão via Linha de Comandos (Exemplos):

Linha de Comando> Mudança de Password (de ROOT):

/usr/bin/mysqladmin -u root -h localhost password 'nova_passord'

Linha de Comando> Acesso ao MySQL Server (como ROOT):

(9)

Apache

O Web Server usado sobre ambiente LAMP:

http://httpd.apache.org/

Características Técnicas mais relevantes:

•Portabilidade •Compatibilidade

•Desempenho e Estabilidade

•Facilidade no Uso e Configuração

•Modularidade, o que garante capacidades de Expansão •Mecanismos de segurança intrínsecos e configuráveis

(10)

Apache

Instalação:

No file /etc/make.conf adicionar a seguinte Linha (evocação Apache e

MySQL):

USE=" -dri -X -fam -gtk -gnome -qt3 -qt4 -kde -dvd -alsa –cdr … mysql apache2"

Instalar:

emerge -va apache2

Configurar o Arranque automático:

rc-update add apache2 default

Gestão do Daemon:

/etc/init.d/apache2 start | stop | restart | status

As configurações do APACHE encontram-se na Directoria:

(11)

Apache

Exemplos de Configuração:

No File principal de configuração: …/httpd.conf. Directoria base de resposta do Web Server

ServerRoot "/usr/lib/apache2"

User e Grupo por defeito na Ligações solicitadas

User apache Group apache

(12)

Apache

Na File: …/modules.d/00_error_documents.conf

Configuração das paginas de erros do Apache Na File: …/modules.d/00_default_settings.conf

Configurações referentes ás Ligações (Persistência, TimeOut, etc…) Na File: …/modules.d/40_mod_ssl.conf

Configurações respeitantes à resposta HTTPS (Canal encriptado) Na File: …/modules.d/00_mpm.conf

Configurações respeitantes à resposta em RunTime do Daemon Na File: …/vhosts.d/00_default_ssl_vhost.conf

(13)

Apache

Na File: …/vhosts.d/00_default_vhost.conf

Colocar o Apache à escuta em determinado IP/Porto

Listen 80

Virtual Host baseados em Nomes (é pré-definido o IP:Porto de resposta)

NameVirtualHost *:80

Ex. de definição de um Virtualhost para resposta a: teste.pt e www.teste.pt

<VirtualHost *:80>

ServerAdmin [email protected]

DocumentRoot /var/www/localhost/htdocs

ScriptAlias /cgi-bin/ "/var/www/localhost/cgi-bin/"

ServerName teste.pt

(14)

PHP

A Linguagem de Script usada sobre ambiente LAMP:

http://www.php.net/

Características Técnicas mais relevantes:

•Portabilidade

•Velocidade e Robustez

•Estruturação e Tipagem Fraca

•Modularidade, o que garante capacidades de Expansão •Sintaxe fácil e similar a outras existentes (Ex: C, Perl)

(15)

PHP

Instalação:

emerge -va dev-php/php mod_php

Na ligação ao Apache

Na File: /etc/conf.d/apache2

Há que garantir a existência da seguinte directiva:

APACHE2_OPTS="-D DEFAULT_HOST -D PHP5”

Há que garantir a existência da seguinte File:

/etc/apache2/modules.d/70_mod_php5.conf

Com as seguintes definições mínimas:

<IfDefine PHP5>

(16)

PHP

As configurações do PHP encontram-se no file:

/etc/php/apache2-php5/php.ini

Algumas configurações relevantes:

Activação do eaccelerator (PHP Cache)

zend_extension ="/usr/local/lib/eaccelerator.so"

Limita o acesso a variáveis originárias na resposta HTTP, exclusivamente através de Arrays internos Validados.

register_globals = Off

Configura o anuncio do PHP no Servidor (nas respostas HTTP)

(17)

Camada Aplicacional

Após a instalação e configuração do Ambiente LAMP, o Servidor encontra-se finalmente preparado para suportar uma ou mais Aplicações em serventia aos seus Utilizadores.

A variedade de Aplicativos possíveis de funcionar plenamente sobre este Ambiente não é mensurável… e todos os dias aparecem novas aplicações, de concepção nova ou oriundas de outras plataformas num processo de migração.

No âmbito da disciplina de IRS, optou-se simplesmente por instalar dois aplicativos: Uma interface Web para gestão do MySQL (PHPMyAdmin) e ainda um Monitor de Comunicações e Aplicacional (OPSView).

(18)

PHPMyAdmin

Uma Interface WEB para gestão do MySQL:

http://www.phpmyadmin.net

Características Técnicas mais relevantes:

•Interface WEB Intuitiva

•Suporte à maior parte das funções SQL

•Importação e Exportação de Dados em múltiplos formatos •Administração de Múltiplos Servers

(19)

PHPMyAdmin

Instalação:

Após descarregar o .TGZ File da origem, dever-se-á descomprimir este para uma Directoria em serventia WEB. No nosso caso:

/var/www/localhost/htdocs/phpmyadmin

Dever-se-á garantir a existência de um File de configurações nesta directoria: config.inc.php

Com a seguinte informação mínima inicial:

$cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['connect_type'] = 'tcp';

(20)

PHPMyAdmin

Poder-se-á aceder agora via um Browser:

http://server.g2.lrcd.local/phpmyadmin

Validando-se inicialmente com as credenciais: root/password

Já no quadro inicial da aplicação, pode-se aceder a todo um manancial de interfaces de gestão com as diversas DBs, entre as quais se encontra a de Administração: mysql

(21)

PHPMyAdmin

No separador SQL iremos agora dar as permissões necessárias ao User root, simultaneamente mudando a sua Password de Acesso:

GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'nova_password' WITH GRANT OPTION;

Poder-se-á agora fechar o Browser e proceder à alteração da File de configurações: config.inc.php:

$cfg['Servers'][$i]['auth_type'] = 'http'; $cfg['Servers'][$i]['user'] = '';

(22)

PHPMyAdmin

A partir deste momento, poderá aceder livremente ao PHPMyAdmin via Web Browser, podendo gerir directamente Users, Bases de Dados, Tabelas, Dados, etc…

Uma grande parte das operações possíveis de efectuar via Linha de comandos são desta forma disponibilizadas via WEB, de uma forma muito mais intuitiva e amigável.

(23)

OPSView

Um Monitor de Comunicações e Aplicações:

http://www.opsview.org/

Características Técnicas mais relevantes:

•Escalabilidade

•Flexibilidade e Facilidade no Uso

•Monitorização Distribuída com Alta disponibilidade intrínseca •Suporte SNMP melhorado

(24)

OPSView

Instalação:

Após descarregar o .TGZ File da origem, dever-se-á descomprimir este para uma Directoria: /usr/local/trunk. Os Scripts actuais de instalação prevêem preferencialmente uma distribuição DEBIAN ou RED HAT e por tal, estes comportam falhas que devem ser colmatadas individualmente, a maioria das quais respeitantes a Falta de dependências (necessárias

previamente instalar) ou Testes de localizações erróneos.

A instalação assume uma previa instalação do NAGIOS (Monitor) e do

MRTG no Servidor, e faz uso do User nagios para criação de certificados (via pacote SSL):

su – nagios

ssh-keygen -t dsa # SEM Password

(25)

OPSView

Como nagios evocar scripts de preparação da instalação:

installer/perl-install ./preinstall

Agora como root, existem uma série de scripts de instalação que devem ser invocados, scripts estes que em principio deveriam instalar todos os pré-requisitos aplicacionais:

su – root

cd /usr/local/trunk/opsview-core/installer ./postinstall

(26)

OPSView

Configurar o Arranque automatico dos Daemons:

rc-update add opsview default

rc-update add opsview-web default

A File de configurações encontra-se em:

/usr/local/nagios/etc/opsview.conf

Os Scripts de Gestão dos Daemons são: Motor principal:

/etc/init.d/opsview start | stop | status

Interface Web:

(27)

OPSView

Endereço de acesso à interface WEB do OPSView:

http://server.g2.lrcd.local:3000

As credenciais de acesso iniciais de Administração são:

Login: admin

(28)

OPSView

Dever-se-á agora proceder à configuração de Users de gestão, Hosts e Serviços a monitorar, e deixar o OPSView a angariar dados:

(29)

OPSView

O OpsView revelou-se uma ferramenta de monitorização potente e de fácil utilização. Infelizmente, devido a ser relativamente recente e sem portes para algumas distribuições (como é o caso da GenToo), obrigou a uma instalação de raiz via SOURCES. Revelou-se árdua a sua instalação e, muitas vezes, com erros de configuração, o que nos leva a aconselhar esperar por novas e mais maduras Releases.

(30)

Referências Web (Bibliografia) mais relevantes

VMWare Server: http://www.vmware.com/products/server/ GenToo Dist: http://www.gentoo.org/doc/en/handbook/index.xml BIND: http://www.bind9.net/ MySQL: http://dev.mysql.com/

Apache Web Server:

http://httpd.apache.org/ PHP: http://www.php.net/ PHPMyAdmin: http://www.phpmyadmin.net OPSView:

(31)

Referências

Documentos relacionados