Instalação e Configuração
INTERNET Variedade de acessos e conteúdos SERVIDOR WEB Segurança, flexibilidade e agilidade É um computador que processa solicitações HTTP (Hyper-Text Transfer Protocol), que é o protocolo padrão da Web. Ao acessar qualquer site, há um servidor por trás do endereço, responsável por disponibilizar as páginas ao usuário. Assim, o navegador de Internet faz solicitações ao servidor do site através de HTTP e recebe o conteúdo solicitado.
HISTÓRICO O Servidor Apache (ou Apache Server) foi criado em 1995 por Rob McCool, um funcionário da NCSA (National Center of Supercomputing Applications) Fundação Apache Brian Behlendorf e Cliff Skolnick juntamente com Brandon Long e Beth Frank Apache Faz referência a uma tribo de índios americanos que possuía grande resistência e estratégias superiores em combate, fazendo uma comparação com a estabilidade e a variedade de recursos fornecida pelo servidor.
CARACTERÍSTICAS Altamente configurável: Pode ser executado em diferentes plataformas Flexível: Está sempre em desenvolvimento para a inclusão dos protocolos mais atualizados Software livre: Pode ser utilizado gratuitamente, fornece o código-fonte completo e não possui licenças restritivas Multifuncional: Pode ser configurado para diferentes funções Modular: É composto de módulos, cada um implementando uma característica diferente
APLICAÇÕES Executa códigos nas linguagens PHP, Perl, Shell Script e Java Atua como servidor FTP e HTTP Servidor web de páginas para Internet Servidor web para acesso restrito (interno) Este trabalho Combina o Apache com a linguagem PHP e o banco de dados MySQL
Passo a Passo
O modo de instalação varia de distribuição, neste tutorial usaremos o Fedora. Se sua conexão necessita de um proxy para liberar acesso a internet devemos exportá-lo: export http_proxy=address_proxy:port Feito isso iremos agora instalar o Apache com suporte ao PHP e MySQL: yum -y install httpd php mysql mysql-server php-mysql httpd: Pacote que contem os arquivos do Apache php: Pacote que contem os arquivos do PHP mysql: Pacote que contem os arquivos do MySQL mysql-server: Pacote que contem o servidor MySQL
Iremos configurar para que os serviços instalados sejam iniciados automaticamente ao iniciar o sistema: /sbin/chkconfig httpd on /sbin/chkconfig --add mysqld /sbin/chkconfig mysqld on Agora só temos que inicializar o serviço: /sbin/service httpd start /sbin/service mysqld start
Falta agora configurar o MySQL, iremos agora modificar a senha do usuário root : mysqladmin u root password nova-senha E por fim usar algumas diretivas para melhorar um pouco a segurança: mysql -u root -p mysql -u root -p mysql> DROP DATABASE test; mysql> DELETE FROM mysql.user WHERE user = ''; mysql> DELETE FROM mysql.user WHERE NOT (host='localhost' AND user='root'); mysql> FLUSH PRIVILEGES;
Passo a Passo
Existem dois diretórios importantes: Diretório Raiz /var/www/ - cgi-bin - error - html - icons Diretório de Configuração /etc/httpd/ - conf - conf.d - logs - modules
Habilitar pasta public_html dos usuários. Procure o seguinte código no arquivo e comente a linha com UserDir disabled root e descomente UserDir public_html <IfModule mod_userdir.c> # # UserDir is disabled by default since it can confirm the presence # of a username on the system (depending on home directory # permissions). # UserDir disabled root # # To enable requests to /~user/ to serve the user's public_html # directory, remove the "UserDir disable" line above, and uncomment # the following line instead: # </IfModule> #UserDir public_html
Habilitar pasta public_html dos usuários. Depois descomente o seguinte código: #<Directory /home/*/public_html> # AllowOverride FileInfo AuthConfig Limit # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec # <Limit GET POST OPTIONS> # Order allow,deny # Allow from all # </Limit> # <LimitExcept GET POST OPTIONS> # Order deny,allow # Deny from all # </LimitExcept> #</Directory>
Habilitar pasta public_html dos usuários. Agora acrescente o seguinte código em baixo: <Directory /home/*/public_html/cgi-bin/> Options ExecCGI SetHandler cgi-script </Directory> Criando as pastas public_html e public_html/cgi-bin como padrão aos usuários que forem criados Entre no console e digite: cd /etc/skel/ mkdir public_html mkdir public_html/cgi-bin chmod 755 public_html R chcon R t httpd_user_content_t public_html
Indexando arquivos a serem procurados pelo Apache. DirectoryIndex é um comando que contem listado todos os arquivos a serem procurados num dado diretório no momento em que é recebida uma requisição enviada pela url. DirectoryIndex index.html index.html.var
Habilitando a execução de scripts cgi-bin Procure por <Directory var/www/html >e altere a linha que contem Options para: Options Indexes FollowSynlinks Includes ExecCGI Procure e descomente o código: AddHandler cgi-scripts.cgi
http://www.apache.org http://www.zago.eti.br/apache.html http://www.infowester.com/servapach.php http://www.inf.ufes.br/~proinfo/docs/apache/www.html http://www.conectiva.com/doc/livros/online/10.0/servidor/pt_br/ch10.html