Introdução
Nesse breve artigo vamos abordar a instalação e configuração do Apache no CentOS e mais algumas funcionalidades indispensáveis nos atuais servidores web.
Apesar de já haver muito material a respeito, uma simples busca no Google já retorna vários textos, resolvi escrever sobre isso por ser algo simples que às vezes foge da memória, tendo esse texto publicado fica mais fácil de consultar posteriormente e também por não ter encontrado aqui no VOL nenhum texto semelhante.
Para iniciarmos, vamos colocar aqui algumas descrições básicas, porque sempre tem algum marinheiro de primeira viagem.
CentOS é uma distribuição Linux de classe Enterprise derivada de códigos fonte gratuitamente distribuídos pela Red Hat Enterprise Linux e mantida pelo CentOS Project.
A numeração das versões é baseada na numeração do Red Hat Enterprise Linux. Por exemplo, o CentOS 4 é baseado no Red Hat Enterprise Linux 4. A diferença básica entre um e outro é o fornecimento de suporte pago na aquisição de um Red Hat Enterprise Linux. Funcionalmente, pode-se considerar os sistemas clones.
CentOS proporciona um grande acesso aos softwares padrão da indústria, incluindo total compatibilidade com os pacotes de softwares preparados especificamente para os sistemas da Red Hat Enterprise Linux. Isso lhe dá o mesmo nível de segurança e suporte, através de updates, que outras soluções Linux Enterprise, porém sem custo.
Suporta tanto ambientes de servidores para aplicações de missão crítica quanto ambientes de estações de trabalho e ainda possui uma versão Live CD.
CentOS possui numerosas vantagens, incluindo: uma comunidade ativa e crescente, um rápido desenvolvimento e teste de pacotes, uma extensa rede para downloads, desenvolvedores acessíveis, múltiplos canais de suporte incluindo suporte em português e suporte comercial através de parceiros.
Fonte: http://pt.wikipedia.org/wiki/Centos
O servidor Apache (ou Servidor HTTP Apache, em inglês: Apache HTTP Server, ou simplesmente: Apache) é o mais bem sucedido servidor web livre. Foi criado em 1995 por Rob McCool, então funcionário do NCSA (National Center for Supercomputing Applications). Numa pesquisa realizada em dezembro de 2007[1], foi constatado que a utilização do Apache representa 47.20% dos servidores ativos no mundo.
É a principal tecnologia da Apache Software Foundation, responsável por mais de uma dezena de projetos envolvendo tecnologias de transmissão via web, processamento de dados e execução de aplicativos distribuídos.
O servidor é compatível com o protocolo HTTP versão 1.1[2]. Suas funcionalidades são mantidas através de uma estrutura de módulos, permitindo inclusive que o usuário escreva seus próprios módulos - utilizando a API do software.
É disponibilizado em versões para os sistemas Windows, Novell Netware, OS/2 e diversos outros do padrão POSIX (Unix, Linux, FreeBSD, etc).
Fonte: http://pt.wikipedia.org/wiki/Servidor_Apache
PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor") é uma linguagem de programação de computadores interpretada, livre e muito utilizada para gerar conteúdo dinâmico na World Wide Web, como por exemplo a Wikipédia.
Fonte: http://pt.wikipedia.org/wiki/php
O MySQL é um sistema de gerenciamento de banco de dados (SGBD) que utiliza a linguagem SQL (Structured Query Language - Linguagem de Consulta Estruturada) como interface. É atualmente um dos bancos de dados mais populares, com mais de 10 milhões de instalações pelo mundo.
Fonte: http://pt.wikipedia.org/wiki/mysql
Apesar de já haver muito material a respeito, uma simples busca no Google já retorna vários textos, resolvi escrever sobre isso por ser algo simples que às vezes foge da memória, tendo esse texto publicado fica mais fácil de consultar posteriormente e também por não ter encontrado aqui no VOL nenhum texto semelhante.
Para iniciarmos, vamos colocar aqui algumas descrições básicas, porque sempre tem algum marinheiro de primeira viagem.
CentOS é uma distribuição Linux de classe Enterprise derivada de códigos fonte gratuitamente distribuídos pela Red Hat Enterprise Linux e mantida pelo CentOS Project.
A numeração das versões é baseada na numeração do Red Hat Enterprise Linux. Por exemplo, o CentOS 4 é baseado no Red Hat Enterprise Linux 4. A diferença básica entre um e outro é o fornecimento de suporte pago na aquisição de um Red Hat Enterprise Linux. Funcionalmente, pode-se considerar os sistemas clones.
CentOS proporciona um grande acesso aos softwares padrão da indústria, incluindo total compatibilidade com os pacotes de softwares preparados especificamente para os sistemas da Red Hat Enterprise Linux. Isso lhe dá o mesmo nível de segurança e suporte, através de updates, que outras soluções Linux Enterprise, porém sem custo.
Suporta tanto ambientes de servidores para aplicações de missão crítica quanto ambientes de estações de trabalho e ainda possui uma versão Live CD.
CentOS possui numerosas vantagens, incluindo: uma comunidade ativa e crescente, um rápido desenvolvimento e teste de pacotes, uma extensa rede para downloads, desenvolvedores acessíveis, múltiplos canais de suporte incluindo suporte em português e suporte comercial através de parceiros.
Fonte: http://pt.wikipedia.org/wiki/Centos
O servidor Apache (ou Servidor HTTP Apache, em inglês: Apache HTTP Server, ou simplesmente: Apache) é o mais bem sucedido servidor web livre. Foi criado em 1995 por Rob McCool, então funcionário do NCSA (National Center for Supercomputing Applications). Numa pesquisa realizada em dezembro de 2007[1], foi constatado que a utilização do Apache representa 47.20% dos servidores ativos no mundo.
É a principal tecnologia da Apache Software Foundation, responsável por mais de uma dezena de projetos envolvendo tecnologias de transmissão via web, processamento de dados e execução de aplicativos distribuídos.
O servidor é compatível com o protocolo HTTP versão 1.1[2]. Suas funcionalidades são mantidas através de uma estrutura de módulos, permitindo inclusive que o usuário escreva seus próprios módulos - utilizando a API do software.
É disponibilizado em versões para os sistemas Windows, Novell Netware, OS/2 e diversos outros do padrão POSIX (Unix, Linux, FreeBSD, etc).
Fonte: http://pt.wikipedia.org/wiki/Servidor_Apache
PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor") é uma linguagem de programação de computadores interpretada, livre e muito utilizada para gerar conteúdo dinâmico na World Wide Web, como por exemplo a Wikipédia.
Fonte: http://pt.wikipedia.org/wiki/php
O MySQL é um sistema de gerenciamento de banco de dados (SGBD) que utiliza a linguagem SQL (Structured Query Language - Linguagem de Consulta Estruturada) como interface. É atualmente um dos bancos de dados mais populares, com mais de 10 milhões de instalações pelo mundo.
Fonte: http://pt.wikipedia.org/wiki/mysql
Instalação e configuração
Agora vamos colocar a mão na massa.
Caso você esteja montando um servidor do zero, quero dizer, desde o inicio, pode seguir o seguinte artigo para a instalação do CentOS: Instalação do CentOS-5.3
E então depois de instalado, faça a atualização do sistema:
# yum update -y
E aí pode esperar um pouco, pois no momento que estou escrevendo esse texto a versão atual é a 5.4 e já existe em torno de 40MB de atualização. Caso você tenha instalado uma versão mais antiga, como 5.2 ou 5.3 a quantidade de atualizações pode ser um pouco maior.
Depois de atualizado e reiniciado, vamos instalar os pacotes para o servidor.
# yum install httpd mysql-server php-mysql php php-cli php-gd php- xml php-mbstring php-mcrypt php-mhash php-common php-ncurses
Nesse único comando ele já deve instalar tudo que precisamos para o servidor padrão Apache + PHP + MySQL.
Então nesse ponto, confirme e aguarde, são em torno de 23MB para baixar e instalar.
Agora vamos configurar.
Primeiro vamos já deixar configurado para que no boot da maquina o apache o MySQL seja iniciados, para tal use o comando:
# ntsysv
Depois disso selecione as opções:
[*] httpd
[*] mysqld
E pronto. Dessa forma, sempre que a máquina for reiniciada os dois vão subir.
Agora vamos configurar o MySQL.
# service mysqld start
Com isso ele já faz todo o procedimento de criar as tabelas, dar permissão e tudo mais. Agora é preciso setar uma senha para o root, faremos da seguinte forma:
# /usr/bin/mysqladmin -u root password 'mysqlpass'
Prontinho, MySQL configurado e com a senha setada. Para testar, faça:
# mysql -u root -p
Insira a senha, se entrar é porque está ok.
Agora vamos configurar o Apache.
Primeiro inicie o Apache:
# service httpd start
Agora crie o arquivo phpinfo para testar o PHP:
# echo "<?php phpinfo(); ?>" > /var/www/html/info.php
Então acesse o endereço: http://ip-do-servidor/info.php
E pronto, nem precisamos configurar nada, mas caso precise fazer alguma configuração específica entre no diretório /etc/httpd/ e dentro dele existem os diretórios conf e conf.d, que são onde ficam as configurações. O conf.d armazena a configuração dos módulos adicionados no Apache e o conf é onde fica a própria configuração do servidor.
Só um lembrete, se não conseguir acessar o IP do servidor via browser, edite o arquivo:
/etc/sysconfig/iptables
E adicione a seguinte linha:
Caso você esteja montando um servidor do zero, quero dizer, desde o inicio, pode seguir o seguinte artigo para a instalação do CentOS: Instalação do CentOS-5.3
E então depois de instalado, faça a atualização do sistema:
# yum update -y
E aí pode esperar um pouco, pois no momento que estou escrevendo esse texto a versão atual é a 5.4 e já existe em torno de 40MB de atualização. Caso você tenha instalado uma versão mais antiga, como 5.2 ou 5.3 a quantidade de atualizações pode ser um pouco maior.
Depois de atualizado e reiniciado, vamos instalar os pacotes para o servidor.
# yum install httpd mysql-server php-mysql php php-cli php-gd php- xml php-mbstring php-mcrypt php-mhash php-common php-ncurses
Nesse único comando ele já deve instalar tudo que precisamos para o servidor padrão Apache + PHP + MySQL.
Então nesse ponto, confirme e aguarde, são em torno de 23MB para baixar e instalar.
Agora vamos configurar.
Primeiro vamos já deixar configurado para que no boot da maquina o apache o MySQL seja iniciados, para tal use o comando:
# ntsysv
Depois disso selecione as opções:
[*] httpd
[*] mysqld
E pronto. Dessa forma, sempre que a máquina for reiniciada os dois vão subir.
Agora vamos configurar o MySQL.
# service mysqld start
Com isso ele já faz todo o procedimento de criar as tabelas, dar permissão e tudo mais. Agora é preciso setar uma senha para o root, faremos da seguinte forma:
# /usr/bin/mysqladmin -u root password 'mysqlpass'
Prontinho, MySQL configurado e com a senha setada. Para testar, faça:
# mysql -u root -p
Insira a senha, se entrar é porque está ok.
Agora vamos configurar o Apache.
Primeiro inicie o Apache:
# service httpd start
Agora crie o arquivo phpinfo para testar o PHP:
# echo "<?php phpinfo(); ?>" > /var/www/html/info.php
Então acesse o endereço: http://ip-do-servidor/info.php
E pronto, nem precisamos configurar nada, mas caso precise fazer alguma configuração específica entre no diretório /etc/httpd/ e dentro dele existem os diretórios conf e conf.d, que são onde ficam as configurações. O conf.d armazena a configuração dos módulos adicionados no Apache e o conf é onde fica a própria configuração do servidor.
Só um lembrete, se não conseguir acessar o IP do servidor via browser, edite o arquivo:
/etc/sysconfig/iptables
E adicione a seguinte linha:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
E depois rode o comando:
# iptables-restore /etc/sysconfig/iptables
E pronto, vai conseguir acessar e por aqui encerramos a configuração do apache com PHP e MySQL.
Bem simples, não?
Bônus: phpMyAdmin
PhpMyAdmin é um programa de computadordesenvolvido em PHP para administração do MySQL pela internet. A partir deste sistema é possível criar e remover bases de dados, criar, remover e alterar tabelas, inserir, remover e editar campos, executar códigos SQL e manipular campos chaves.
Fonte: http://pt.wikipedia.org/wiki/Phpmyadmin
Para instalar o phpMyAdmin vamos utilizar um repositório adicional no yum, o rpmforge. Para isso faça os seguintes passos.
Baixe ele no seguinte endereço:https://rpmrepo.org/RPMforge/Using
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
Agora vamos instalar o phpMyAdmin:
# yum install phpmyadmin
Fonte: http://pt.wikipedia.org/wiki/Phpmyadmin
Para instalar o phpMyAdmin vamos utilizar um repositório adicional no yum, o rpmforge. Para isso faça os seguintes passos.
Baixe ele no seguinte endereço:https://rpmrepo.org/RPMforge/Using
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
Agora vamos instalar o phpMyAdmin:
# yum install phpmyadmin
Agora edite o arquivo config.inc.php da seguinte forma:
# vi /usr/share/phpmyadmin/config.inc.php
E altere a variável:
$cfg['blowfish_secret'] = '';
Para algo semelhante a isso:
$cfg['blowfish_secret'] = 'sdfakdEW234dswfesDfescVcvxDefsddd';
Podendo ser qualquer sequência de letras e números.
Agora edite o arquivo /etc/httpd/conf.d/phpmyadmin.conf e deixe ele da seguinte forma:
#
# Web application to manage MySQL
#
<Directory "/usr/share/phpmyadmin">
Order Deny,Allow
# Deny from all
Allow from all
</Directory>
Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin
# Web application to manage MySQL
#
<Directory "/usr/share/phpmyadmin">
Order Deny,Allow
# Deny from all
Allow from all
</Directory>
Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin
Dessa forma todos poderão acessar o phpmyadmin. Caso queira deixar liberado apenas para um ip. Descomente o Deny from all e altere o Allow para "Allow from ip-desejado" e daí apenas esse ip terá acesso ao phpmyadmin.
Depois disso reinicie o Apache:
# service httpd restart
E agora vamos acessar o phpmyadmin: http://ip-do-servidor/phpmyadmin
E pronto, seu phpmyadmin está instalado e configurado.
Conclusão
Bom, espero que esse artigo possa ajudar os iniciantes que estão precisando montar algo semelhante.Qualquer dúvida ou sugestão estou a disposição.
E esse artigo eu gostaria de oferecer para o pessoal do meu antigo trampo, o pessoal lá da G8, o Thiago Roberth, o Clayton, o Marcão, o Rui, o Gustavo, o Joerlei e o pessoal da técnica que vive dando trabalho pra instalar internet na casa da gente... um Salve "proceis".
Referências:
0 comentários :
Enviar um comentário