Como hospedar um site (Guia para configurar seu próprio servidor)

Como criar um servidor


Para hospedar um site em um servidor, você precisa sujar as mãos e configurar todo o ambiente sozinho. Abaixo, você encontrará um exemplo generalizado de como fazer as coisas usando um servidor virtual privado em execução Ubuntu 18.04

Em resumo, você precisará:

    • Execute a configuração inicial do servidor
    • Configure uma zona DNS e aponte seu domínio
    • Instale uma pilha de software
    • Crie um host virtual
    • Coloque seu site em funcionamento

P.S. Se você não deseja seguir essas etapas complicadas, considere obter uma hospedagem na web.

1. As primeiras etapas de configuração do servidor

Se você decidir alugar um servidor dedicado ou um VPS, primeiro precisará estabelecer uma base sólida. Isso envolve acessar seu servidor através de um terminal ou um cliente SSH e fazer ajustes e atualizações de segurança.

Conecte-se ao seu servidor

Comece conectando-se ao seu servidor. O seguinte comando fará o truque:

ssh [email protected] _server_IP -port

Ao se conectar pela primeira vez, você pode ser solicitado a adicionar o IP do servidor à lista de hosts conhecidos. Digitar sim para prosseguir e você será solicitado a inserir o senha root.

adicionando o IP do servidor a hosts conhecidos

Aqui está um exemplo do que você deve ver na tela se tudo der certo.

tela inicial de login do SSH do Ubuntu

Receba as atualizações mais recentes

Execute os seguintes comandos para obter as atualizações mais recentes para o servidor Ubuntu 18.04:

atualização do sudo apt
sudo apt upgrade

Ao executar o segundo comando, você verá uma tela de confirmação. Digitar Y prosseguir.

confirmando atualizações do servidor Ubuntu

Crie um novo usuário

Em seguida, você precisará adicionar um novo usuário, pois o uso da raiz para tarefas diárias não é recomendado. Vamos chamá-lo de webmaster. Para iniciar a criação do usuário, execute:

webmaster adduser

criando um novo usuário Ubuntu

Depois de criar uma senha, você será solicitado a inserir os detalhes gerais (que você pode deixar em branco). Em seguida, digite Y para confirmar a nova criação do usuário.

Por padrão, o novo usuário não terá privilégios suficientes para fazer tudo o que você precisa, portanto, você precisará adicioná-los manualmente. Aqui está como você faz isso:

usermod -aG sudo webmaster

É isso aí! Seu novo usuário administrativo está pronto. Para começar a usá-lo em vez de root, execute:

su – webmaster

mudando usuário do sistema

Configurar autenticação de chave pública (opcional)

Usar uma senha para autenticar deixa você vulnerável a tentativas de força bruta e coloca seu servidor em um risco moderado (especialmente se você tiver preguiça de configurar uma senha forte e exclusiva).

Uma ótima maneira de melhorar a integridade do servidor é usar chaves SSH em vez de uma senha comum. As etapas devem ser idênticas, independentemente da distribuição do Linux em execução. Começar sair do seu servidor e execute o seguinte comando no seu computador local para criar uma nova chave pública:

ssh-keygen

Você será solicitado a inserir uma senha longa e o local onde salvar a chave pública. Por padrão, ele salva tudo para /Users/Your_User/.ssh diretório (que você pode manter, a menos que tenha outros planos em mente).

executando SSH keygen

Assim que terminar, copie a chave SSH para o servidor usando:

ssh-copy-id [protegido por email] _server_IP

Você também pode fazer o mesmo com o usuário root, apenas no caso de:

ssh-copy-id [protegido por email] _server_IP

movendo a chave SSH para o servidor remoto

Por fim, você precisará fazer login no seu servidor novamente. Somente dessa vez, você usará a chave SSH e sua senha para se autenticar. Se sua senha for adivinhada por alguém, eles não poderão fazer login, pois a chave pública é necessária para estabelecer uma conexão bem-sucedida..

efetuando login no servidor com chave SSH

Desativar autenticação de senha (opcional)

Como agora você pode acessar seu servidor com a chave SSH recém-gerada, é recomendável desativar a autenticação de senha regular. Para fazer isso, podemos usar o nano editor de texto:

sudo nano / etc / ssh / sshd_config

Procure uma linha que diga #PasswordAuthentication sim, exclua o # e mude o sim para um não. O resultado final deve se parecer com:

desabilitando a autenticação de senha na configuração do sshd

Para salvar essas alterações e sair do editor nano, pressione CTRL + X, digitar Y e pressione Entrar. E, finalmente, aplique tudo recarregando o serviço sshd:

sudo systemctl recarregar sshd

E é isso! Agora você usará uma chave pública para autenticar em vez de uma senha, que é considerada uma maneira mais segura de acessar e gerenciar um servidor.

Configurar um firewall

Por último, mas não menos importante, é recomendável usar um firewall para se proteger dos perigos à espreita na web. O Firewall não complicado é uma das melhores ferramentas para o trabalho. Para configurá-lo, execute:

sudo apt-get install ufw

Quando instalado, o firewall não funcionará, a menos que seja ativado manualmente. Você pode habilitá-lo usando:

sudo ufw enable

habilitando o ufw Ubuntu

Para verificar se está funcionando, execute:

status do sudo ufw detalhado

2. Configure uma zona DNS

O próximo desafio será criar uma zona DNS, que atua como o material de ligação entre um nome de domínio e um servidor. Podemos dividi-lo em duas etapas menores:

  1. Configurando uma zona DNS no seu servidor
  2. Criando servidores de nomes personalizados no seu registrador de domínio

Crie uma nova zona DNS

Para criar uma nova zona DNS, usaremos uma ferramenta chamada bind9. No final, este é o serviço que permite carregar um site por meio de um nome de domínio em vez de um endereço IP.

Para instalar o Bind9 no servidor Ubuntu 18.04, execute:

sudo apt-get install bind9

Uma vez instalados, todos os arquivos estarão disponíveis no diretório / etc / bind diretório. Vamos navegar primeiro para ele:

cd / etc / bind

Para manter tudo arrumado e organizado, criaremos um diretório separado para nossas zonas DNS:

zonas sudo mkdir -p

Vamos criar um novo arquivo de zona DNS para o nosso domínio. Nós estaremos usando domain-example.com para fins de demonstração (você deve substituí-lo pelo seu nome de domínio real).

zonas sudo nano / domain-example.com

Exemplo de fragmento de zona DNS:

;
; Arquivo de dados BIND para domain-example.com
;
$ TTL 3h
@ IN SOA ns1.domínio-exemplo.com. admin.domain-example.com. (
1; Serial
3h; Atualizar após 3 horas
1h; Repetir após 1 hora
1w; Expira após 1 semana
1h); TTL com cache negativo de 1 dia
;
@ IN NS ns1.domínio-exemplo.com.
@ IN NS ns2.domínio-exemplo.com.

domain-example.com. EM SEU YOUR_SERVER_IP
ns1 EM SEU YOUR_SERVER_IP
ns2 EM SEU YOUR_SERVER_IP
www IN CNAME domain-example.com.
mail EM UM YOUR_SERVER_IP
ftp NO CNAME domain-example.com.
domain-example.com. NO MX 10 domínio-example.com.

Certifique-se de substituir todas as instâncias do seu Your_Server_IP e domain-example.com com os valores reais. Salve o arquivo de zona pressionando CTRL + X e então digitando Y para confirmar as alterações.

Em seguida, precisaremos editar a configuração local e especificar o local da nossa zona DNS recém-criada. Isso garante que o servidor saiba qual arquivo de zona pertence a qual nome de domínio.

sudo nano named.conf.local

Cole as seguintes linhas na parte inferior do arquivo enquanto substitui domain-example.com com o endereço do site real.

zona "domain-example.com" {
tipo mestre;
Arquivo "/etc/bind/zones/domain-example.com";
};

pressione CTRL + X e entrada Y para salvar suas alterações e sair do editor nano.

Você também pode testar se tudo foi adicionado e configurado corretamente executando o seguinte comando:

sudo nomeado-zona de verificação domínio-example.com /etc/bind/zones/domain-example.com

verificando a zona do DNS

Por fim, execute estes dois comandos para reiniciar o serviço DNS do servidor e verificar se está em execução:

sudo /etc/init.d/bind9 restart
sudo /etc/init.d/bind9 start

Neste ponto, a zona DNS está pronta no seu servidor. Para finalizar, você precisará criar entradas personalizadas de servidores de nomes no registrador de domínio.

Crie servidores de nomes personalizados para o seu domínio

Como especificamos dois servidores de nomes (ns1.example.com e ns2.domain-example.com) em nosso exemplo de zona DNS, precisamos criar essas entradas no registrador de domínio e usá-las.

Veja como as entradas devem ficar:

Servidor de Nomes PersonalizadoAponta para
ns1.domain-example.comYour_Server_IP
ns2.domain-example.comYour_Server_IP

criação do servidor de nomes filho

Depois de criado, você precisará apontar seu domínio para esses novos servidores de nomes.

atualizar servidores de nomes

3. Instale a pilha LAMP

O LAMP é uma das pilhas de software mais usadas na web. É a sigla para Linux, Apache HTTP Server, MySQL / MariaDB e PHP. Antes de hospedar um site, você precisa garantir que todos esses ingredientes estejam disponíveis no seu servidor. Veja como o processo de configuração seria exibido usando o Ubuntu 18.04:

Apache

O Apache HTTP Server já pode estar incluído nos pacotes padrão que acompanham o servidor. Caso contrário, execute:

sudo apt-get install apache2

instale o Apache

Como existe um firewall, precisamos garantir que essas portas estejam abertas, pois o Apache não funcionará corretamente caso contrário. Aqui está o que você deve permitir através do firewall:

sudo ufw permite 80 / tcp
sudo ufw allow 443 / tcp

Em seguida, reinicie-o para garantir que as alterações sejam aplicadas:

sudo ufw reload

Neste ponto, eis o que você deve ver visitando o Endereço IP do seu servidor através de um navegador:

página padrão do Apache2

PHP

Para obter a versão mais recente do PHP com alguns módulos extras necessários para o WordPress, execute:

sudo apt-get install php php-comum php-mysql php-gd php-cli

confirmar instalação do PHP

Você pode verificar qual versão do PHP foi instalada no seu servidor digitando:

php -v

verifique a versão do PHP

MySQL / MariaDB

O MariaDB e o MySQL são duas das principais opções para o servidor de banco de dados no Linux. Neste exemplo, usaremos o MariaDB. Para instalá-lo no seu servidor, execute:

sudo apt-get install mariadb-server mariadb-client

instalar Mariadb

Depois de concluído, você precisará usar um script adicional que acompanha o pacote. Ele estabelecerá as medidas básicas de segurança para o seu servidor de banco de dados. Inicie digitando:

sudo mysql_secure_installation

Na primeira etapa, você será solicitado a fornecer a senha root do MySQL. aperte o Entrar para continuar, pois ainda não foi criado. Em seguida, siga o restante das instruções exibidas na interface da linha de comandos.

Instalação segura Mariadb

Por fim, você pode verificar se meu servidor de banco de dados está operacional executando:

sudo systemctl status mysql

4 Crie um host virtual

A próxima tarefa será criar um diretório dedicado para os arquivos do seu site. Comece alterando seu diretório de trabalho:

cd / var / www / HTML

Use este comando para criar uma pasta para o seu domínio e outra dentro de:

sudo mkdir -p domain-example.com/public_html

Então, faça o webmaster usuário que criamos anteriormente o proprietário usando:

sudo chown -R webmaster: domínio do webmaster – exemplo.com/public_html

Você também precisa garantir que as permissões de leitura sejam aplicadas ao diretório raiz do Apache. Nesse caso:

sudo chmod -R 755 / var / www / html /

Nesse ponto, o Apache obtém todas as configurações do 000-default.conf Arquivo. Precisamos copiar o conteúdo deste arquivo e criar outro para o nosso nome de domínio. A maneira mais fácil de copiar um modelo da configuração do host virtual é usando o seguinte comando:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain-example.com.conf

Essencialmente, isso faz uma cópia do arquivo com um nome diferente no mesmo diretório. Esse é o arquivo que informa ao servidor Apache a localização do diretório raiz, do log de erros e de outros caminhos importantes de um domínio. Para alterar seu conteúdo, usaremos nano:

sudo nano /etc/apache2/sites-available/domain-example.com.conf

Exemplo de configuração do Apache:

# A diretiva ServerName define o esquema de solicitação, nome do host e porta que
# o servidor usa para se identificar. Isso é usado ao criar
# URLs de redirecionamento. No contexto de hosts virtuais, o ServerName
# especifica qual nome do host deve aparecer no cabeçalho Host: da solicitação para
# corresponde a este host virtual. Para o host virtual padrão (este arquivo), este
# value não é decisivo, pois é usado como host de último recurso, independentemente.
# No entanto, você deve configurá-lo para qualquer host virtual adicional explicitamente.

ServerAdmin [protegido por email]
DocumentRoot /var/www/html/example-dominio.com/public_html
ServerName domain-example.com
ServerAlias ​​www.domain-example.com

# Níveis de log disponíveis: trace8, …, trace1, depuração, informações, aviso, aviso,
# erro, crítico, alerta, emergir.
# Também é possível configurar o nível de log para determinados
# modules, por exemplo.
#LogLevel info ssl: warn

ErrorLog $ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log combinado

# Para a maioria dos arquivos de configuração de conf-available /, que são
# ativado ou desativado em nível global, é possível
# inclua uma linha para apenas um host virtual específico. Por exemplo, o
# a seguinte linha ativa a configuração CGI apenas para este host
# depois de ter sido desativado globalmente com "a2disconf".
#Include conf-available / serve-cgi-bin.conf

Substitua todas as instâncias de domain-example.com pelo seu nome de domínio real. Para salvar o arquivo, pressione CTRL + X e confirme digitando Y. O resultado final deve se parecer com:

adicionando configuração de domínio ao Apache

Nesse ponto, você precisará desativar o arquivo de configuração do host virtual padrão e usar o recém-criado. Este comando irá desativá-lo:

sudo a2dissite 000-default.conf

Em seguida, adicione o arquivo de configuração criado recentemente, como mostrado abaixo:

sudo a2ensite domain-example.com.conf

Por fim, você precisará reiniciar o Apache para que as alterações sejam aplicadas. Você pode fazer isso executando:

sudo systemctl reload apache2

Você instalou o LAMP com sucesso no seu servidor. Como seu domínio já está apontado para o servidor, pode ser necessário aguardar algumas horas para a propagação completa do DNS. Você verá uma tela semelhante ao visitar seu domínio pelo navegador.

conteúdo do diretório raiz do domínio

5. Configure o WordPress (ou faça o upload de um site)

Como a configuração inicial do servidor está finalmente concluída, é hora de hospedar um site nele. Nesta seção, mostraremos um exemplo geral de como colocar um site WordPress em funcionamento.

Crie um novo banco de dados e usuário MySQL

Comece acessando a interface do MySQL através do terminal:

sudo mysql

>Use a seguinte sintaxe para criar um novo banco de dados:

CREATE DATABASE wpdatabase;

Em seguida, crie um novo usuário e especifique a senha:

CRIAR USUÁRIO ‘wpuser’ @ ‘localhost’ IDENTIFICADO POR ‘SuperSecurePassword123’;

Em seguida, atribua privilégios administrativos ao seu usuário recém-criado com:

CONCEDE TODOS OS PRIVILÉGIOS NO wpdatabase. * TO ‘wpuser’ @ ‘localhost’;

É isso aí! Seu usuário e banco de dados MySQL estão prontos para a ação. Para desligar a interface, digite:

Saída

Mover arquivos do WordPress para o servidor

Por último, mas não menos importante, temos que fazer o upload dos arquivos reais do site para o diretório raiz do seu domínio. Existem duas abordagens que descreveremos passo a passo:

  • Usando o comando wget para obter a versão mais recente do WordPress
  • Configurando um cliente FTP (como o FileZilla)

Método 1: usando as ferramentas de linha de comando

A primeira maneira é usar um comando chamado wget. Para usá-lo em seu servidor, você precisará instalá-lo:

sudo apt-get install wget

Em seguida, altere seu diretório de trabalho para a pasta raiz do seu nome de domínio:

cd /var/www/html/domain-example.com/public_html

Use o comando wget para baixar a versão mais recente do WordPress da Web:

wget https://www.wordpress.org/latest.zip

Em seguida, extraia todo o conteúdo do arquivo morto usando:

descompacte latest.zip

Por padrão, todos os arquivos aparecerão em um novo diretório chamado WordPress (o que pode resultar no funcionamento do seu site via domain-example.com/wordpress) Para que tudo funcione corretamente, precisamos mover todos os arquivos desse diretório para o acima. Veja como fazer isso:

cd wordpress

O comando a seguir moverá todos os arquivos do diretório atual para o local especificado:

sudo mv * /var/www/html/domain-example.com/public_html/

Antes de iniciar a instalação, você precisará preparar seu arquivo wp-config.php. Uma vez que apenas uma amostra é fornecida. Comece renomeando-o:

sudo mv wp-config-sample.php wp-config.php

Em seguida, edite o arquivo usando o nano e adicione os detalhes de configuração do banco de dados MySQL.

sudo nano wp-config.php

Certifique-se de atualizar o MySQL Do utilizador, Base de dados, e Hospedeiro seções com os valores que você criou anteriormente.

editando a configuração do WP

Por fim, visite seu nome de domínio no navegador e você verá a tela inicial de configuração do WordPress.

configuração inicial do WordPress

Depois de concluir, você pode instalar um plug-in de migração, como o All-in-One WP Migration, para importar um site WordPress existente.

Método 2: usando um cliente FTP

Como alternativa, você pode usar um cliente FTP como o FileZilla. Caso você tenha configurado uma chave SSH e desativado a autenticação de senha, será necessário usá-la para fazer login, em vez da combinação regular de nome de usuário e senha. Para configurar a conexão SFTP:

  1. Vamos para FileZilla Site Manager e adicione um Novo site.
  2. Defina o protocolo como SFTP – Protocolo de transferência de arquivos SSH.
  3. Digite o IP do servidor no Hospedeiro campo e defina a porta como 22.
  4. Defina o tipo de login como Arquivo chave.
  5. Especifique o caminho para sua chave SSH (por exemplo,. /Users/Name/.ssh/id_rsa).
  6. O FileZilla o converterá em um .ppk arquivo, que você pode usar para fazer uma conexão.

chave SSH de conversão

A configuração final deve ser algo como isto:

Configuração do FileZilla sftp

Agora, você poderá acessar seu servidor via FTP e enviar os arquivos diretamente do seu computador.

Conexão FileZilla sftp

Parabéns! Você aprendeu como hospedar um site em um servidor virtual privado executando o Ubuntu 18.04. Tudo, desde a configuração inicial do servidor até a preparação da pilha de software, foi coberto. Tudo o que resta é pegar um servidor e sujar as mãos!

Este artigo foi publicado com a ajuda de Hostinger.com.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map