quinta-feira, 17 de julho de 2014

Montando um webhosting na tela preta

Fiz um post mostrando como montar um servidor webhosting com o ZPanel. Mas usar o apache,  php, mysql puramente também pode atender muito bem vários casos. 

O servidor web agora vai ser feito em cima de um Ubuntu 14.04 e vamos fazer configurações para virtual host, urls amigáveis e segurança.

Vamos aos comandos:

Atualiza o apt-get
# apt-get update

Instala o básico (apache, php e mysql)
# sudo apt-get install apache2 php5 php5-mysql mysql-client mysql-server

Eu gosto de usar o vim (editor de texto) , então instalei
# apt-get install vim  

Crie o arquivo de configuração com base no default
# cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/seusite.conf

 Edite o arquivo
# vim /etc/apache2/sites-available/seusite.conf   

O arquivo ficou assim (sem os comentários):

<VirtualHost *:80>
    ServerName seusite.com
    ServerAlias www.seusite.com

    ServerAdmin contato@seusite.com
    DocumentRoot /var/www/seusite

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

O arquivo foi configurado para usar virtual host.

É criado um link para na pasta de sites habilitados para tornar o site disponível no apache
# ln -s /etc/apache2/sites-available/seusite.conf /etc/apache2/sites-enabled/seusite.conf

Para aplicar as novas configurações o serviço pode ser reiniciado ou apenas dar um reload (no lugar do restart)
# service apache2 restart

Por escolha minha gosto de instalar o phpMyAdmin também
# apt-get install phpmyadmin 

Por segurança recomendo mudar o endereço padrão (o Alias no inicio do arquivo)
# vim /etc/phpmyadmin/apache.conf 

É comum atualmente utilizar urls amigáveis, isso é facilmente resolvido habilitando o modulo de reescrita de url
# ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

Depois basta habilitar no seu virtualhost
# vim /etc/apache2/sites-available/seusite.conf

Colocar em baixo do DocumentRoot

  <Directory "/var/www/seusite">
        AllowOverride All
  </Directory>

Depois crie um arquivo .htaccess na pasta do seusite com suas regra. Abaixo coloquei um arquivo simples de exemplo com duas regras:

RewriteEngine On

#remove o index.html
RewriteRule ^index\.html$ / [R=301,L]

#altera seusite.com/sobre.html para seusite.com/sobre
RewriteRule ^sobre$ /var/www/seusite/sobre.html

Para aumentar a segurança no server, recomendo adicionar ao arquivo /etc/apache2/apache2.conf
as duas linhas abaixo para não exibir as informações do server:
ServerSignature Off
ServerTokens Prod

Até a próxima..

Nenhum comentário:

Postar um comentário