Linux.
Server – Módulo 09 – Servidor WEB Apache
Roteiro de Aula
Apache
1 - Instalar o Apache2:
root@powerful:~# apt-get install apache2 apache2-doc
2 - A configuração deverá ser alterada para incluir os certificados auto-assinados que geramos na aula de FTP. A
configuração é feita no arquivo /etc/apache2/sites-available/default-ssl:
-----
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
# A self-signed (snakeoil) certificate can be created by installing
# the ssl-cert package. See
# /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
# If both key and certificate are stored in the same file, only the
# SSLCertificateFile directive is needed.
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key.insecure
-----
3 - Em seguida, ative o módulo ssl:
root@powerful:~# a2enmod ssl
4 - O site também deve ser ativado:
root@powerful:~# a2ensite default-ssl
5 - Reinicie o serviço do apache2:
root@powerful:~# /etc/init.d/apache2 restart
PHP no Apache (Apache+PHP)
6 - Ativar o suporte PHP:
root@powerful:~# apt-get install php5 libapache2-mod-php5
7 - Reiniciar o servidor apache2:
root@powerful:~# /etc/init.d/apache2 restart
8 - Verificar a instalação do suporte ap PHP:
> Criar uma página em /var/www/ chamada phpinfo.php: vim /var/www/phpinfo.php
-----
<?php
phpinfo();
?>
-----
9 - Acesse a página através de um navegador no cliente: https://192.168.0.1/phpinfo.php.
10 - Dica: Remova o arquivo de informações depois dos testes, para ninguém acessar informações do servidor.
root@powerful:~# rm /var/www/phpinfo.php
MySQL no Apache (Apache+PHP+MySQL)
11 - Ativando o suporte ao MySQL:
root@powerful:~# apt-get install mysql-server php5-mysql phpmyadmin
12 - Reinicie o servidor apache:
root@powerful:~# /etc/init.d/apache2 restart
13 - Para verificar a instalação do suporte MySQL do PHP, a função phpinfo() terá os módulos mysql() e mysqli()
carregados.
Servidor Web com suporte a páginas pessoais e FTP
14 - Ativar o módulo userdir do servidor apache2:
root@powerful:~# a2enmod userdir
15 - A execução de scripts PHP está desativada para sites pessoais. Para a ativar, é necessário comentar a linha
php_admin_value engine Off no arquivo /etc/apache2/mods-available/php5.conf: vim /etc/apache2/mods-
available/php5.conf
-----
# To re-enable php in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
# php_admin_value engine Off
</Directory>
</IfModule>
-----
16 - Reinicie o servidor Apache:
root@powerful:~# /etc/init.d/apache2 restart
17 - As páginas pessoais podem ser acessadas através de um endereço do tipo
”http://servidor/~NOMEDEUSUARIO”. O apache procurará por uma pasta chamada 'public_html' na pasta 'home'
do usuário. Assim, deve-se criar uma pasta chamada 'public_html' na pasta pessoal de cada usuário do servidor:
> Acessar como um usuário comum:
root@powerful:~# su joao
> Criar a pasta no 'home' desse usuário:
joao@powerful:~$ mkdir ~/public_html
18 - É interessante modificar a pasta de entrada do FTP, que está em '~/ftp', para a pasta home do usuário '~'
apenas. Assim, conseguirá acessar a pasta public_html para enviar arquivos:
> Editar a configuração do ProFTP:
root@powerful:~# vim /etc/proftpd/proftpd.conf
-----
#Use this to jail all users in theri homes
DefaultRoot ~
-----
> Reinicie o serviço FTP:
root@powerful:~# /etc/init.d/proftpd restart
19 - Para testar, basta acessar com um cliente FTP a pasta do usuário (via FTP com tls/ssl explícito), enviar
arquivos .html e/ou .php. Em seguida, acesse-os via browser (HTTPS://192.168.0.254/~joao/phpinfo.php).