Como instalar SSL no Apache2 sob Ubuntu Server

Standard

usando o módulo SSL, criando chaves pública e privada e configurando o apache para usá-las.

Esse tutorial está assumindo que você instalou o Ubuntu versão Server, escolhendo a opção ‘Instalar Servidor LAMP”, apesar que pode ser útil em qualquer caso.
Se você não sabe instalar o LAMP2 sob Ubuntu Server acesse este link: http://www.appunix.com.br/howto/linux/lamp2-ubuntu-server-apache-2-mysql-5-php-5-phpmyadmin/

Instalando pacotes adicionais

Você já tem Servidor Linux+Apache+MySQL+PHP com pouco esforço com o Ubuntu e ele resolve a maior parte das demandas. Vamos adicionar ao pacote a possibilidade que seja possível navegar pelo seu site com uma conexão segura, o ‘https’. Para tanto, instale os pacotes adicionais para criar as chaves criptografadas.

sudo aptitude install openssl ssl-cert

Criando chaves pública e privada

Vamos criar uma pasta para guardar as chaves e usar um script para, respondendo algumas perguntas, criar chaves pública e privada que serão usadas pelo Apache2.

sudo mkdir /etc/apache2/ssl
sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem

Configurando o módulo SSL do Apache2

Vamos agora configurar o Apache2 para que além de usar a porta 80 ele use a porta 443, que é a porta padrão do https.

sudo su  -c 'echo Listen 443 >> /etc/apache2/ports.conf'

Depois disso, iremos habilitar o módulo ssl do Apache2.

sudo a2enmod ssl

Configurando o site com https

Você pode ter vários sites hospedados pelo mesmo Apache, nós iremos criar um segundo site no seu servidor, que na verdade é o site padrão usando https

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
sudo nano /etc/apache2/sites-available/ssl

Modifique o arquivo para usar a porta 443 e habilite a função SSL usando o certificado que criamos:

NameVirtualHost *:443
<VirtualHost *:443 >
        ServerAdmin webmaster@localhost

        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/apache.pem

        DocumentRoot /var/www/

Depois de editar o arquivo, habilite o site

sudo a2ensite ssl

E force o Apache2 a recarregar as configurações

sudo /etc/init.d/apache2 force-reload

Testando

Se não houve nenhuma mensagem de erro quando você forçou a reconfiguração do Apache2 é quase certo que quando você acessar “https://’ip-do-seu-servidor‘” verá seu site, mas a comunicação entre seu navegador e o servidor é criptografada.

Se por um “acaso”, você receber a mensagem de que a porta SSL não pode ser ativada (0.0.0.0:443), você pode acessar o arquivo

/etc/apache2/ports.conf'

e eliminar a linha (deve ser a última) que indica acesso pela porta 443 (caso a default 80 esteja informada).

————————————————-

 

Fonte:

http://wiki.ubuntubrasil.org/GleidsonLacerda

htaccess não funciona no ubuntu meu arquivo htaccess não está sendo lido pelo apache

Standard

Calma gente, nada de pânico, nada de gritos e nem sequer stress, o cara que faz isto por você está aqui!

Realidade

Ter o apache instalado no ubuntu por meio de apt-get ou aptitude, ter um arquivo htaccess dentro do diretório público e o mesmo não estar sendo lido.

Saída

Como sempre, lá vai a coisa “mastigadinha”:

1 – Acesse o diretório das configurações do apache referente aos virtual hosts, ou seja -> /etc/apache2/sites-available/

2 – Assim que chegar lá, acesse o arquivo referente ao seu site, no caso do meu foi o amigo Default, ele tinha um conteúdo semelhante a:

NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory “/usr/lib/cgi-bin”>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined
ServerSignature On

Alias /doc/ “/usr/share/doc/”
<Directory “/usr/share/doc/”>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

############################

Para corrigir a coisa altere somente os trechos como abaixo:

NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks Indexes
AllowOverride AuthConfig
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all
</Directory>

####################################################

Pronto, feito isto a coisa vai funcionar Beleza!

Acesse -> http://www.tinews.info e fique extremamente informado na área de TI.