LAMP = Linux, Apache, MySQL e PHP.
Adquiriu aquele servidor dedicado linux, mas agora não sabe como configura-lo?
Hoje vamos mostrar algo que todos fazem, mas dessa vez da forma correta, sem 777, sem rodar o site com root e por ai vai. Já iremos deixar o servidor pronto com certificado SSL e com a possibilidade de hospedar múltiplos sites.
Todos sabemos que existe o cPanel para facilitar nossa vida, porem quando queremos um sistema enxuto e com maior desempenho, é melhor deixar ele de lado e utilizar o sistema o mais clean possível.
Vamos iniciar.
Altere o nome da maquina
# vim /etc/hosts
127.0.0.1 localhost
127.0.0.1 meusite.com.br
IPDEDICADO webserver.meusite.com.br webserver# vim /etc/hostname
webserver
Atualize seu ambiente e reinicie.
# apt-get update && apt-get upgrade && apt-get dist-upgrade && reboot
Instale o servidor web apache.
# apt-get install apache2
Adicione um usuário que ira trabalhar com o apache e atribua a permissão.
# adduser administrador
# gpasswd -a administrador www-data
# gpasswd -a www-data administrador
Altere a umask do sistema.
# umask 002
Crie a pasta onde irá colocar os arquivos do site e atribua as permissões
# mkdir /var/www/meusite.com.br; cd /var/www
# chown www-data:www-data meusite.com.br
# chmod u=rwx,g=rwx,o= meusite.com.br
Permita a reescrita do apache alterando AllowOverride
# vim /etc/apache2/apache2.conf
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Vamos configurar e ativar o site com utilizando o virtualhost
Copie o arquivo 000-default.com
$ cp -v /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/seusite.com.br.conf
Edite o arquivo igual ao exemplo abaixo.
# vim /etc/apache2/sites-available/seusite.com.br.conf
#################Inicio########################
ServerName seusite.com.br
ServerAlias www.seusite.com.brServerAdmin webmaster@localhost
DocumentRoot /var/www/meusite.com.brErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined#################FIM#######################
Habilite o ambiente
# a2ensite meusite.com.br.conf
Pode testar o funcionamento através do site hosts.cx
Configure a prioridade dos arquivos.
# vim /etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
Habilite o modulo de reescrita.
# a2enmod rewrite
Recarregue o serviço.
# service apache2 graceful
Instalando MySQL
# apt-get install mysql-server mysql-client
Instalando PHP
# apt-get install php5 libapache2-mod-php5 php5-mcrypt php5-mysql
Instalando Dependências.
# apt-get install php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-cgi php5-cli php5-common php5-curl php5-dbg php5-dev php5-gd
Criando e configurando o banco de dados.
# mysql -u root -p
CREATE USER ‘meusite_user’@’localhost’ IDENTIFIED BY ‘6wXHcZWNnw0B’;
CREATE DATABASE meusite_db DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON meusite_db.* TO ‘meusite_user’@’localhost’;
FLUSH PRIVILEGES;
exitGRANT ALL ON *.* TO ‘meusite_user’@’%’ IDENTIFIED BY ‘6wXHcZWNnw0B’ WITH GRANT OPTION;
Senha do banco de dados pode ser gerada pelo site -> https://www.geradordesenha.com.br/
Instalando e configurando certificado Let’s Encrypt com certbots.
Adicione o repositório e instale o certbot.
# add-apt-repository ppa:certbot/certbot
# apt update
# apt install python-certbot-apache
Obtendo o certificado para os domínios
# certbot –apache -d meusite.com.br -d www.meusite.com.br
Haverá uma pergunta se deseja cadastrar o e-mail, você decidirá o que deseja.
Ao final do processo, ele perguntará se desejá ou não fazer o redirecionamento.
Por favor, escolha se deseja ou não redirecionar o tráfego HTTP para HTTPS, removendo o acesso HTTP.
——————————————————————————-
1: Sem redirecionamento – Não faça mais alterações na configuração do servidor da web.
2: Redirecionar – Redirecionar todas as solicitações para o acesso HTTPS seguro. Escolha isto para
novos sites ou se tiver certeza de que seu site funciona em HTTPS. Você pode desfazer isso
mudar editando a configuração do seu servidor web.
————————————————– —————————–
Selecione o número apropriado [1-2] e depois [enter] (pressione ‘c’ para cancelar):
Obs: Para que o certificado seja validado, você precisa que as entradas de DNS existam, em resumo. O ponteiro A e WWW do site devem está configurados para servidor, caso contrario Let’s Encrypt não poderá validar.
Para verificar os certificados, execute o comando abaixo.
# certbot renew –dry-run
Ficou extenso, porem completo.
Espero que seja útil para vocês.