Instalando o Servidor Apache no Linux - Blog do Cesar Augustus
Instalando o Servidor Apache no Linux
Postado por Cesar Augustus Silva às 18:19
Linux Servidor Tutorial Video
Hoje irei mostrar como instalar o Servidor Apache para poder hospedar sites com páginas web desenvolvida em HTML e PHP no GNU/Linux.
root@cesar.augustus.nom.br's
Após a instalação, inicie o Apache e coloque para iniciar durante o boot:
Baixe o pacote do Apache, suas dependências e instale:
ftp://ftp.slackware-brasil.com.br/slackware(...)/n/httpd-2.2.10-i486-1.tgz
ftp://ftp.slackware-brasil.com.br/slackware(...)/l/apr-1.3.3-i486-1.tgz
ftp://ftp.slackware-brasil.com.br/slackware(...)/l/apr-util-1.3.4-i486-1.tgz
# installpkg apr-1.3.3-i486-1.tgz
# installpkg apr-util-1.3.4-i486-1.tgz
# installpkg httpd-2.2.10-i486-1.tgz
Após a instalação feita, coloque o Apache para iniciar durante o boot e inicie:
Vamos fazer umas configurações no Apache conforme o necessário.
O diretório "/etc/apache2" é onde fica os arquivos de configuração. Para mudar a porta do servidor, modifique no arquivo "ports.conf" as seguintes linhas abaixo:
Salve o arquivo e recarregue as configurações no servidor:
O diretório "/etc/httpd" é onde fica os arquivos de configuração. Todas as configurações são feitas no arquivo "httpd.conf" que fica no diretório "/etc/httpd/conf". Para mudar a porta do servidor, modifique a seguinte linha:
O diretório "/etc/httpd" é onde fica os arquivos de configuração. Para mudar a porta do servidor, modifique no arquivo "httpd.conf" a seguinte linha:
Salve o arquivo e reinicie o servidor Apache:
Testando o Apache
Com o Apache instalado, acesse o endereço "http://localhost/" que será exibida uma página de teste para indicar que o servidor está funcionando.
Figura: Página Teste do Apache
Suporte a PHP
Para hospedar no Apache, páginas dinâmicas desenvolvida em PHP, é necessário instalar os módulos do PHP.
Instale o pacote do PHP e depois reinicie o Apache:
Baixe o pacote do PHP e instale:
ftp://ftp.slackware-brasil.com.br/slackware(...)/n/php-5.2.8-i486-1.tgz
# installpkg php-5.2.8-i486-1.tgz
Após a instalação, para habilitar o PHP no Apache edite o arquivo "httpd.conf" descomentando a seguinte linha:
Salve o arquivo e reinicie o servidor Apache.
Na instalação do PHP é instalado apenas os seguintes módulos para o funcionamento do PHP:
libapache2-mod-php: Permite que o Apache 2 "entenda" o PHP.
php: Contém os arquivos binários e de configuração para utilização do PHP.
common: Contém documentação e arquivos de exemplo.
hash: Suporte a algoritmos hash como MD5 e SHA1.
Porém há diversos módulos para cada funcionalidade no PHP:
cli: Fornece um interpretador de comando para testar Scripts PHP.
curl: CURL é uma biblioteca para recuperar arquivos via FTP, GOPHER e HTTP.
dev: Pacote contendo os arquivos fonte do PHP necessários para compilar módulos adicionais
gd: Responsável por manipular arquivos PNG, JPEG, XPM e TTF diretamente de scripts PHP.
imagick: Pacote que possibilita a manipulação de arquivos de imagem.
imap: Pacote que permite suporte a IMAP.
interbase: Responsável pela conexão ao banco de dados Interbase/Firebird.
mcrypt: Suporta uma grande variedade de algoritmos de criptografia.
memcache: Objeto de cache de memória. Muito útil para performance.
mysql: Responsável pela conexão ao banco de dados MySQL.
pear: É um repositório de código PHP focado na reutilização de código.
pgsql: Responsável pela conexão ao banco de dados PostgreSQL.
pspell: Checagem de ortografia. Vale a pena dar uma olhada no Aspell.
recode: Permite a recodificação de caracteres.
sybase: Responsável pela conexão ao banco de dados Sybase e Microsoft SQL Server.
tidy: Permite limpar e manipular de arquivos HTML.
xmlrpc: Basicamente utilizado para webservices, permite a comunicação entre processos.
xsl: Permite transformar arquivos XML tanto em outro através de XSLT quanto HTML ou texto.
Para instalar os módulos descrito acima, segue abaixo o nome dos pacotes de cada módulo, respectivamente:
# apt-get install php5-cli php5-curl php5-dev php5-gd php5-imagick php5-imap php5-interbase php5-mcrypt php5-memcache php5-mysql php-pear php5-pgsql php5-pspell php5-recode php5-sybase php5-tidy php5-xmlrpc php5-xsl
# yum install php-cli php-curl php-devel php-gd php-pecl-imagick php-imap php-interbase php-mcrypt php-pecl-memcache php-mysql php-pear php-pgsql php-pspell php-recode php-mssql php-tidy php-xmlrpc php-xml
Para verificar se o PHP está ativo no Apache, crie um arquivo com o nome "info.php" no diretório raiz do servidor Web:
Debian/Ubuntu: "/var/www"
Fedora/CentOS: "/var/www/html"
Slackware: "/srv/httpd/htdocs"
E adicione as seguintes linhas abaixo:
Salve o arquivo, e acesse o endereço "http://localhost/info.php", que será exibida a página com os detalhes da configuração do PHP e módulos ativos.
Figura: Página Teste do PHP
O Virtual Host permite hospedar diversos sites, com domínios ou subdomínios diferentes num único servidor web e com um único endereço IP.
Vamos criar dois sites com os seguintes domínios:
website1.com.br
website2.com.br
Crie um diretório para cada site no diretório raiz do servidor Web:
# mkdir /var/www/website1
# mkdir /var/www/website2
# mkdir /var/www/html/website1
# mkdir /var/www/html/website2
# mkdir /srv/httpd/htdocs/website1
# mkdir /srv/httpd/htdocs/website2
Em cada diretório, crie dois subdiretórios com os seguintes nomes:
public_html: é onde será armazenado as páginas do site que serão acessados.
logs: é onde será armazenado os arquivos de Log de acesso.
# mkdir /var/www/website1/public_html
# mkdir /var/www/website2/public_html
# mkdir /var/www/website1/logs
# mkdir /var/www/website2/logs
# mkdir /var/www/html/website1/public_html
# mkdir /var/www/html/website2/public_html
# mkdir /var/www/html/website1/logs
# mkdir /var/www/html/website2/logs
# mkdir /srv/httpd/htdocs/website1/public_html
# mkdir /srv/httpd/htdocs/website2/public_html
# mkdir /srv/httpd/htdocs/website1/logs
# mkdir /srv/httpd/htdocs/website2/logs
Agora vai configurar no Apache para adicionar os dois sites.
Crie um arquivo para cada site no diretório "sites-available":
# touch /etc/apache2/sites-available/website1
# touch /etc/apache2/sites-available/website2
Adicione no arquivo "website1" as seguintes linhas abaixo:
ServerAdmin webmaster@website1.com.br
DocumentRoot /var/www/website1/public_html
ServerName website1.com.br
ErrorLog /var/www/website1/logs/error.log
CustomLog /var/www/website1/logs/access.log combined
E adicione no arquivo "website2" as seguintes linhas abaixo:
ServerAdmin webmaster@website2.com.br
DocumentRoot /var/www/website2/public_html
ServerName website2.com.br
ErrorLog /var/www/website2/logs/error.log
CustomLog /var/www/website2/logs/access.log combined
Depois ative ambos os sites e recarregue as configurações no servidor:
# a2ensite website1
# a2ensite website2
Edite o arquivo "/etc/httpd/conf/httpd.conf", descomentando a seguinte linha abaixo:
E adicione no final do arquivo as seguintes linhas:
DocumentRoot /var/www/html/website1/public_html
ErrorLog /var/www/html/website1/logs/error.log
CustomLog /var/www/html/website1/logs/access.log combined
DocumentRoot /var/www/html/website2/public_html
ErrorLog /var/www/html/website2/logs/error.log
CustomLog /var/www/html/website2/logs/access.log combined
Depois de configurar, recarregue as configurações no servidor:
Edite o arquivo "/etc/httpd/httpd.conf", descomentando a seguinte linha abaixo:
Salve o arquivo, abre o arquivo "/etc/httpd/extra/httpd-vhosts.conf" e adicione as seguintes linhas:
DocumentRoot /srv/httpd/htdocs/website1/public_html
ErrorLog /srv/httpd/htdocs/website1/logs/error.log
CustomLog /srv/httpd/htdocs/website1/logs/access.log combined
DocumentRoot /srv/httpd/htdocs/website2/public_html
ErrorLog /srv/httpd/htdocs/website2/logs/error.log
CustomLog /srv/httpd/htdocs/website2/logs/access.log combined
Depois de configurar, reinicie o servidor Apache:
Acessando os Sites
Crie uma página de teste para cada site, e salve com o nome "index.html" no subdiretório "public_html" de cada site.
Para poder acessar o site com o domínio, adicione no arquivo "/etc/hosts" o IP do servidor e o domínio:
127.0.0.1 website1.com.br
127.0.0.1 website2.com.br
Acesse os endereços "http://website1.com.br/" e "http://website2.com.br/", será exibido a página de teste que foi criada.
A obra Instalando o Servidor Apache no Linux de Cesar Augustus Silva foi licenciada com uma Licença Creative Commons - Atribuição - Partilha nos Mesmos Termos 3.0 Não Adaptada.Permissões adicionais ao âmbito desta licença podem estar disponíveis em http://creativecommons.org/.
Terça-feira, 05 de outubro de 2010 às 23:47
Tutorial simples, de fácil entendimento e muito bem detalhado. Uma verdadeira mão na roda para iniciantes no linux que precisão configurar esses servidores para desenvolver suas aplicações web.
ribeirrs
Terça-feira, 02 de novembro de 2010 às 20:14
Parabéns!A aula ficou muito boa e fácil de compreender.
tuliopaz
Segunda-feira, 14 de fevereiro de 2011 às 18:56
Valew Cara tirou muitas dúvidas! COntinue criando tutoriais assim! São muito fáceis de compreender!
Sexta-feira, 18 de fevereiro de 2011 às 04:28
Prezado, segui seu tuto na verdade primeiro vi no youtube depois de postar duvidas no Viva o Linux que vim cair em seu Blog e apesar de iniciante conseguir me dar bem seguindo os passo do blog, fiz em dois sistemas Slack13.1 e agora a a pouco acabei de configurar no Debian também !!Parabéns, espero novas....estou louco para colocar um servidor de web no ar, ainda nem sei como quem sabe esse num poderia ser o proximo tutorial. rsrsrs
Segunda-feira, 21 de fevereiro de 2011 às 21:03
OMG voce nao tem ideia o quanto eu aprendi com seu video.Nunca tinha usado o Vim ( tive que apt-get, nao estava a funcionar), e adorei.Será que podia fazer um video a explicar como configurar o Apache2 para que o pessoal de fora consiga aceder??Estou usando No-IP por causa do IP dinamico.Muito Bom video mesmo.
Terça-feira, 22 de fevereiro de 2011 às 20:17
Domingo, 06 de março de 2011 às 00:35
Sou iniciante e tem um mês que venho olhando tutoriais sobre linux, php, java, apache e outros pela primeira vez encontrei alguém realmente que sabe escrever para um iniciante.Espero ver mais tutorias como esse aqui.ParabénsValeu
Segunda-feira, 14 de março de 2011 às 16:57
Constatinou
Quinta-feira, 17 de março de 2011 às 15:44
Thanks for finally saying that.Constatinou
skletenblack
Quarta-feira, 13 de abril de 2011 às 04:58
Nossa, loguei aki na minha conta só para comentar mesmo, ficou massa demais, muito bom!Valeu mesmo em, Muito OBRIGADOO!
rafaelbringel
Terça-feira, 17 de maio de 2011 às 12:40
Muito obrigado amigo, parabéns pela iniciativa. Abs
capristolinux
Quarta-feira, 18 de maio de 2011 às 18:02
Seus videos são demais cara meus parabéns... Viva Linux....
xicoria4537
Segunda-feira, 18 de julho de 2011 às 00:30
viva linux para perfect world server
Sábado, 13 de agosto de 2011 às 19:35
Boa noite.Cara muito boa a dica. Me ajudou demais!Parabéns.AbraçoJD
Quinta-feira, 08 de setembro de 2011 às 22:21
Parabéns. Simples e de fácil entendimento. Continue assim
sergioglovatinski
Quinta-feira, 08 de setembro de 2011 às 22:20
Caracas. Muito bom seu vídeo. Parabéns. Simples e direto.Ps: Só tive q voltar o vídeo pq dormi no meio por causa da musica. rsrsrssr
Sexta-feira, 11 de novembro de 2011 às 12:06
Perfeito!! Passo a passo e tudo funcionou :)ate pode complementar com >>ServerAlias websitexx.com.br *.websitexx.com.brvaleu!!
Quinta-feira, 17 de novembro de 2011 às 16:45
Parabéns! Bem didático!
Quinta-feira, 17 de novembro de 2011 às 17:43
Parabens!Gostei muito dos tutoriais ajudou pacas ainda mais eu que so virgem na area, continue assim.
Sábado, 19 de novembro de 2011 às 16:43
Como acessar de fora da rede local usando o ip?
Quarta-feira, 07 de dezembro de 2011 às 22:33
A máquina servidor deve está conectada direto ao provedor (internet), se for algum roteador que faz a conexão a internet e compartilha ao servidor, terá que criar um redirecionamento no roteador ao servidor. Depois vai ter que alterar a porta padrão do servidor web de 80 para 8080 ou 8081.
Quinta-feira, 08 de dezembro de 2011 às 11:29
Consegui fazer mas tive que desabilitar o SELinux e alterar a porta para 8080, não consegui usar a porta 80 no meu router :S
Quarta-feira, 23 de novembro de 2011 às 14:08
Cara, com Slackware poderia instalar tudo com o slackpkg que é o gerenciador de pacotes padrão e se algum pacote não estiver nos repositórios oficiais o mais recomendado é utilizar os pacotes do slackbuilds.org da para utilizar a ferramenta disponivel em sbopkg.org para gerenciar os slackbuilds. é isso ai, no mais parabéns é um ótimo material introdutório.
Quarta-feira, 07 de dezembro de 2011 às 12:49
Otimos tutoriais.Minha duvida é igual ao do Anderson Nunes.Quero acessar meu site que esta no Ubuntu de fora da minha rede.Obrigado
Quarta-feira, 07 de dezembro de 2011 às 22:54
Para acessar o servidor de fora da rede, deve usar portas diferentes por causa que os provedores bloqueiam o tráfego de pacotes em algumas portas padrões. Segue o passo como foi mostrado para o Anderson Nunes.
Sexta-feira, 23 de dezembro de 2011 às 15:34
Realmente muito bom esse seu post, ficou bem legal de entender. Gostaria de saber se tem como você mostrar como fazer esse mesma operação de dois sites só que utilizando o servidor nginx?
luiztunon
Terça-feira, 21 de fevereiro de 2012 às 00:20
O cara é bom, show.
karlinhusch
Quinta-feira, 23 de fevereiro de 2012 às 22:02
dae véi blz,cara qual é função do apache no meu servidor????pesquisei e não achei mta coisa a respeito...só sei que é uma ferramenta mto usada..abraço
Sábado, 25 de fevereiro de 2012 às 00:53
parabéns, esse tutorial me ajudou muito. Que JESUS CRISTO TE ABENÇOE.
Gustavo KOns de SOuza
Segunda-feira, 27 de fevereiro de 2012 às 17:37
muito bom cara, parabens pelo post!
Ricardo95606
Sábado, 03 de março de 2012 às 13:15
Sexta-feira, 27 de abril de 2012 às 14:31
Para que outra máquina acesse o servidor Apache na rede preciso configurar um servidor DNS para que reconheça o nome criado "website1.com.br" e "website2.com.br" ?
Domingo, 29 de abril de 2012 às 22:22
Não necessariamente. Você pode simplesmente definir no arquivo hosts se for poucas máquinas.
Quarta-feira, 30 de maio de 2012 às 23:01
D+ FUNCIOU PARABESN AMIGO BELO POST JA HAVIA TENTADO VARIAS FORMAS E NÃO TINHA CONSEGUIDO, AGORA É SÓ FAZER RODAR PRA FORA
Domingo, 15 de julho de 2012 às 17:56
Muito obrigado e Parabéns ;)
Domingo, 29 de julho de 2012 às 07:15
Valeu... consegui!sou meio tapado... não consigo fazer quase nada que tento "repetir" dos tutoriais e dicas... O php nao funcionou... também não aceita o comando apache2 restar ou reloadmas valeu... o apache funcionou(Debian sqeeze)
Quarta-feira, 19 de setembro de 2012 às 09:42
Bom dia amigo, ontem fiz algo parecido com o seu, só que na hora de mandar configurar: a2ensite zf2-tutorial.localhost, ele retorna falando q não há SITE. Como sou iniciante no LINUX, fiquei faltando instalar algo? Tenho q habilitar o comando a2ensite ?? Tem como me da uma luz amigo? Abraços!
Domingo, 23 de setembro de 2012 às 23:59
Se o Apache informa que não há site, então significa que não foi criado o arquivo com as configurações no diretório "sites-available" ou o nome do arquivo está incorreto.
Sábado, 29 de setembro de 2012 às 03:05
cara muito bom! Deus te pague! precisamos de mais pessoas como vc que disponibiliza o conhecimento e o seu tempo para ajudar o pessoal. muito obrigado!
Devaldo Junior
Domingo, 21 de outubro de 2012 às 14:13
Cesar,Muito legal teu blog. Muita informação atualizada, show.Mas estou com um probleminha aqui. Fiz as configurações conforme explicado, estou usando uma máquina virtual no windows pelo VitualBox. Consigo acessar o host do apache normalmente mas não consigo acessar o host virtual. É como se o site tivesse fora do ar. Pode me ajudar???
Quinta-feira, 10 de janeiro de 2013 às 23:25
Se estiver acessando o servidor Apache com um browser no Windows, precisa configurar o arquivo Hosts (C:\Windows\system32\drivers\etc\hosts) adicionando o dominio que está usando no Virtual Host, apontando para o IP do servidor Apache.
Terça-feira, 20 de novembro de 2012 às 01:50
Obrigado pelas informações, o conteúdo está bastante claro. Thanks!
Terça-feira, 04 de dezembro de 2012 às 09:22
Muito explicativo.Parabéns César Augusto.
Quarta-feira, 16 de janeiro de 2013 às 15:41
Terça-feira, 05 de fevereiro de 2013 às 08:00
Isso ta bem legal, valw!!!
Quinta-feira, 14 de fevereiro de 2013 às 01:17
perfeito tutorial!!! Parabéns
Dennersam
Terça-feira, 12 de março de 2013 às 17:45
Não falou nada e explicou tudo, valeu!!!!!
Sábado, 27 de abril de 2013 às 17:13
Parabéns, desenvolvedor!
Muito claro, objetivo e tudo certinho!Você tem uma excelente didática para transmitir por escrito o conhecimento!Desejo-lhe sucesso em todas as suas empreitadas!