Instalando o Servidor Apache no Linux
Hoje irei mostrar como instalar o Servidor Apache para poder hospedar sites com páginas web desenvolvida em HTML e PHP no GNU/Linux.
Instalando o Apache
Debian/Ubuntu
# apt-get install apache2root@cesar.augustus.nom.br's
Fedora/CentOS
Após a instalação, inicie o Apache e coloque para iniciar durante o boot:# yum install httpdroot@cesar.augustus.nom.br's
# service httpd start # chkconfig httpd onroot@cesar.augustus.nom.br's
Slackware
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
Após a instalação feita, coloque o Apache para iniciar durante o boot e inicie:# installpkg apr-1.3.3-i486-1.tgz # installpkg apr-util-1.3.4-i486-1.tgz # installpkg httpd-2.2.10-i486-1.tgzroot@cesar.augustus.nom.br's
# chmod +x /etc/rc.d/rc.httpd # apachectl startroot@cesar.augustus.nom.br's
Configurando o Apache
Vamos fazer umas configurações no Apache conforme o necessário.Debian/Ubuntu
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:
NameVirtualHost *:80 Listen 80Salve o arquivo e recarregue as configurações no servidor:
# /etc/init.d/apache2 reloadroot@cesar.augustus.nom.br's
Fedora/CentOS
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:
Listen 80Salve o arquivo e recarregue as configurações no servidor:
# service httpd reloadroot@cesar.augustus.nom.br's
Slackware
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:
Listen 80Salve o arquivo e reinicie o servidor Apache:
# apachectl restartroot@cesar.augustus.nom.br's
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.Suporte a PHP
Para hospedar no Apache, páginas dinâmicas desenvolvida em PHP, é necessário instalar os módulos do PHP.Instalando o PHP
Debian/Ubuntu
Instale o pacote do PHP e depois reinicie o Apache:
# apt-get install php5 # /etc/init.d/apache2 restartroot@cesar.augustus.nom.br's
Fedora/CentOS
Instale o pacote do PHP e depois reinicie o Apache:
# yum install php # service httpd restartroot@cesar.augustus.nom.br's
Slackware
Baixe o pacote do PHP e instale:
Após a instalação, para habilitar o PHP no Apache edite o arquivo "httpd.conf" descomentando a seguinte linha:# installpkg php-5.2.8-i486-1.tgzroot@cesar.augustus.nom.br's
Include /etc/httpd/mod_php.confSalve o arquivo e reinicie o servidor Apache.
# apachectl restartroot@cesar.augustus.nom.br's
Módulos PHP
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.
- 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.
Debian/Ubuntu
# 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-xslroot@cesar.augustus.nom.br's
Fedora/CentOS
# 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-xmlroot@cesar.augustus.nom.br's
Testando o PHP
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"
<?php
phpinfo();
?>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.Virtual Hosts
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
Debian/Ubuntu
# mkdir /var/www/website1 # mkdir /var/www/website2root@cesar.augustus.nom.br's
Fedora/CentOS
# mkdir /var/www/html/website1 # mkdir /var/www/html/website2root@cesar.augustus.nom.br's
Slackware
Em cada diretório, crie dois subdiretórios com os seguintes nomes:# mkdir /srv/httpd/htdocs/website1 # mkdir /srv/httpd/htdocs/website2root@cesar.augustus.nom.br's
- public_html: é onde será armazenado as páginas do site que serão acessados.
- logs: é onde será armazenado os arquivos de Log de acesso.
Debian/Ubuntu
# mkdir /var/www/website1/public_html # mkdir /var/www/website2/public_html # mkdir /var/www/website1/logs # mkdir /var/www/website2/logsroot@cesar.augustus.nom.br's
Fedora/CentOS
# 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/logsroot@cesar.augustus.nom.br's
Slackware
Agora vai configurar no Apache para adicionar os dois sites.# 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/logsroot@cesar.augustus.nom.br's
Debian/Ubuntu
Crie um arquivo para cada site no diretório "sites-available":
Adicione no arquivo "website1" as seguintes linhas abaixo:# touch /etc/apache2/sites-available/website1 # touch /etc/apache2/sites-available/website2root@cesar.augustus.nom.br's
<VirtualHost *:80> 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 </VirtualHost>E adicione no arquivo "website2" as seguintes linhas abaixo:
<VirtualHost *:80> 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 </VirtualHost>Depois ative ambos os sites e recarregue as configurações no servidor:
# a2ensite website1 # a2ensite website2 # /etc/init.d/apache2 reloadroot@cesar.augustus.nom.br's
Fedora/CentOS
Edite o arquivo "/etc/httpd/conf/httpd.conf", descomentando a seguinte linha abaixo:
NameVirtualHost *:80E adicione no final do arquivo as seguintes linhas:
<VirtualHost *:80> ServerAdmin webmaster@website1.com.br DocumentRoot /var/www/html/website1/public_html ServerName website1.com.br ErrorLog /var/www/html/website1/logs/error.log CustomLog /var/www/html/website1/logs/access.log combined </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@website2.com.br DocumentRoot /var/www/html/website2/public_html ServerName website2.com.br ErrorLog /var/www/html/website2/logs/error.log CustomLog /var/www/html/website2/logs/access.log combined </VirtualHost>Depois de configurar, recarregue as configurações no servidor:
# service httpd reloadroot@cesar.augustus.nom.br's
Slackware
Edite o arquivo "/etc/httpd/httpd.conf", descomentando a seguinte linha abaixo:
Include /etc/httpd/extra/httpd-vhosts.confSalve o arquivo, abre o arquivo "/etc/httpd/extra/httpd-vhosts.conf" e adicione as seguintes linhas:
<VirtualHost *:80> ServerAdmin webmaster@website1.com.br DocumentRoot /srv/httpd/htdocs/website1/public_html ServerName website1.com.br ErrorLog /srv/httpd/htdocs/website1/logs/error.log CustomLog /srv/httpd/htdocs/website1/logs/access.log combined </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@website2.com.br DocumentRoot /srv/httpd/htdocs/website2/public_html ServerName website2.com.br ErrorLog /srv/httpd/htdocs/website2/logs/error.log CustomLog /srv/httpd/htdocs/website2/logs/access.log combined </VirtualHost>Depois de configurar, reinicie o servidor Apache:
# apachectl restartroot@cesar.augustus.nom.br's
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.brAcesse os endereços "http://website1.com.br/" e "http://website2.com.br/", será exibido a página de teste que foi criada.
Pronto.
Nenhum comentário:
Postar um comentário