Tutorial, Instalando e configurando o apache no linux. Olá galera, esse tutorial ensinará passo passo, como subir um servido WEB no linux. Estou usando atualmente, o Linux ubuntu Hardy Heron 8.04 primeira parte: Antes de mais nada, instale os seguintes programa. Nmap:(o melhor scaner que conheço). $sudo apt get install update $sudo apt get install nmap agora vamos baixar o apache. $sudo apt get install apache2 faremos o teste pra ver se realmente está funcionando digite no navegar (firefox) http://(seu ip) aparecerá uma mesagen its work, mais ou menos assim. Instalaremos agora o PHP5. $sudo apt get install php5 agora reiniciaremos o apache, para que possa se atualizar.
$sudo /etc/init.d/apache2 restart [enter] provavelmente vc consiga navegar em algum pagina. Digitando o http://(seuip). Entre na pasta /var/www/ terá um arquivo chamado index.html. Delete o arquivo. (como criar, abra um editor de texto e digite os seguintes script: <?php phpinfo();?> depois arquivo salvar como vai até o diretório /var/www/ e salve o arquivo como info.php. Se vc digitar no navegador http://seuip/info.php ok seu server rodando. Mais apenas usuário da rede consegue visualiar, o que não torna interessante esse tutorial.
No meu caso utilizo um notebook com banda larga claro 3g, com ip dinâmico. Terei que ter um IP fixo. Nesse caso se cadastre no site www.no ip.com, após o cadastro acesse o HOST/Redirect depois clique no icone add a host. Você será redirecionado a uma tela semelhante a de cadastro, onde vc pode registrar o seu host. Terá a opção: no final da pagina tem o CREATE HOST. Clique e aguarde acriação do host.
Ótimo, vamos agora mexer com o iptables, um firewall do linux. Vamos primeiramente fecha tudo. (copie e cole os dados abaixo em um editor de texto, e salve no diretório /etc/init.d com o nome iptable.sh /etc/init.d/ptables.sh). #!bin/sh #aqui estou fechando as entradas, saidas e redirecionamento. $sudo iptables P INPUT DROP $sudo iptables P OUTPUT DROP $sudo iptables P FORWARD DROP #agora vamos liberar o que nos interessa. $sudo iptables A INPUT i! ppp0 j ACCEPT *modem claro ppp0, se vc usa adsl o código será o seguinte $sudo iptables A INPUT i! eth0 j ACCEPT $sudo iptables A INPUT m state state ESTABLISHED,RELATED j ACCEPT $sudo iptables A OUTPUT m state state ESTABLISHED,RELATED,NEW j ACCEPT $sudo iptables A FORWARD m state state ESTABLISHED,RELATED,NEW j ACCEPT #e o mais importante liberar a porta do no ip $sudo iptables A INPUT p tcp dport 80 j ACCEPT porta padrão. $sudo iptables A INPUT p tcp dport 78 j ACCEPT no lugar do 78 coloca a porta que vc escolheu Criaremos um link simbólico(atalho) para que seja executado essa regra toda vez que subir o sistema $ sudo ln s /etc/init.d/iptables.sh /etc/rc2.d/s99iptables esse script cria um link simbólico na pasta /etc/rc2.d, e quando o sistema for iniciado, ele sobe a regra de iptables.
ok. agora vamos configurar o apache pra escutar a porta 78, ou a que vc escolheu. Digite no terminal: $sudo gedit /etc/apache2/ports.conf irá carregar o seguinte documento Antes Listen 80 troque aki pela porta liberada 78 no meu caso. <IfModule mod_ssl.c> Listen 443 </IfModule> depois Listen 78 <IfModule mod_ssl.c> Listen 443 </IfModule> salve o arquivo e restart o apache. $sudo /etc/init.d/apache2 restart [ente] agora faremos o scan $sudo nmap A (seuip)
irá aparecer várias informação, mais o que nos interessa é o seguinte. PORT STATE SERVICE VERSION 78/tcp open http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4 2ubuntu5.3 with Suhosin Patch) xxx/tcp open netbios ssn xxx/tcp open netbios ssn Samba smbd 3.X (workgroup: WORKGROUP) Samba smbd 3.X (workgroup: WORKGROUP) xxx/tcp open ssl/vmware auth VMware GSX Authentication Daemon 1.10 (Uses VNC) xxxx/tcp open vnc VNC (protocol 3.7) No exact OS matches for host (If you know what OS is running on it, see http://insecure.org/nmap/submit/ ). veja a primeira opção 78 78/tcp open http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4 2ubuntu5.3 with Suhosin Patch) significa que a porta ta aberta e rodando o apache... ok agora vamos instalar um cliente no ip. Você pode baixar pelo $sudo apt get install no ip mais dessa vez aconselho a fazer a instalação pelo # wget http://www.no ip.com/client/linux/noip duc linux.tar.gz ou entre no site https://www.no ip.com/downloads.php, e faz o download para linux. Extrair pacote $ sudo tar zxvf noip duc linux.tar.gz $cd noip 2.1.9/ $cd binaries $sudo cp a noip2 i686 /usr/local/bin/ Agora criaremos um arquivo de configuração com a opção C c (create config), onde você pode indicar onde o arquivo será criado. $ sudo noip2 i686 C c /etc/noip.conf Please enter the login/email string for no ip.com aki você coloca seu e mail. Please enter the password for user 'xxx@xxx.com' ****** aki a sua senha. Only one host [w4gn3r.no ip.biz] is registered to this account. It will be used. Do you wish to run something at successful update?[n] (y/n) y Please enter the script/program name [enter]
New configuration file '/tmp/no ip2.conf' created. agora vamos incluir um scrip no /etc/init.d/bootmisc.sh para toda vez que subir o sistema ele carregue o client NOIP. $ sudo gedit /etc/init.d/bootmisc.sh agora você cola esse scrip e salva. # Rotina para atualizar o IP echo " Aguarde o ip do servidor esta sendo atualizado. " /usr/local/bin/noip2 i686 c /etc/noip.conf & echo " Ip Atualizado com Sucesso " Ok... O site deverá fika no diretório /var/www/ e seu endereço é http://seunome.no ip.biz Atenção, esses são o procedimento minimos para fazer um serverweb, mais de qualquer forma não é 100% garantido que funcione em sua maquina. então fiz uma FAQ de erros comuns. Os mais comuns são. abrir a tela do no ip mais não carregar o site. pode ser problema de atualização de ip, entre no site no ip e troque o ip manual e vê se resolve, página não existe pode ser problema de firewall, ve se o script iptables está certo, tente dar comando por comando no terminal. ou direcionamento de porta, (talves criar uma regra no router indicando q todos os pacotes que chegar na porta 78, seja encaminhada a ao determinado micro da sua rede, onde está rodando o server.) caso ocorra mais duvida aki vai o meu msn w4g3_online@hotmail.com, e deixe a duvida pois sua duvida poderá ser de outros usuários.