Configure sua gota
Primeiro você precisa configurar uma chave SSH
Clique na guia Chaves SSH e, em seguida, clique em Adicionar chave SSH
Crie a chave em OpenSSH no Mac OSX ou Linux, ou usando Putty para Windows.
Copie a chave ssh e adicione-a ao Digital Ocean e dê um nome a ela.
Faça um backup de sua chave SSH em seu disco rígido externo, etc …
Agora clique na guia Criar gota e preencha os campos para a sua gota
Selecione seu nome de host do Droplet, selecione seu tamanho, planos de US $ 5 ou US $ 10 por mês são provavelmente os melhores se você estiver usando apenas para projetos de desenvolvimento.
Selecione sua região e distribuição, eu fui com Ubuntu e New York.
Na guia Imagem / Aplicativos, selecione os aplicativos que deseja configurar por padrão, como o nó.
Agora clique em Criar gota para adicionar sua gota
Conecte-se ao seu Droplet
Conecte-se via SSH a partir do Terminal da seguinte maneira e, se sua chave SSH estiver configurada em seu PC, você deverá estar logado.
ssh root@SERVER_IP_ADDRESS
Configuração do servidor
Crie um novo usuário para que você não faça login com o usuário root, em vez de steven, adicione seu próprio nome
adduser steven
Adicione privilégios de “superusuário” ou root para nossa nova conta.
gpasswd -a steven sudo
Agora seu usuário pode executar comandos com privilégios de superusuário sudo!
Copie a chave pública para o servidor
digite <b> sair </b> para sair de sua sessão remota
em sua <b> máquina local </b>, pegue sua chave SSH e copie-a para a área de transferência
cat ~/.ssh/id_rsa.pub
agora faça login novamente no servidor como root
ssh root@SERVER_IP_ADDRESS
insira o seguinte comando para mudar para o novo usuário (substitua seu próprio usuário):
su - steven
Crie um novo diretório chamado .ssh e restrinja suas permissões
mkdir .ssh
chmod 700 .ssh
Abra um arquivo em .ssh chamado authorized_keys com um editor de texto.
nano .ssh/authorized_keys
Insira sua chave pública de sua área de transferência colando-a no editor.
Pressione CTRL-X para sair do arquivo, depois Y para salvar as alterações feitas e ENTER para confirmar o nome do arquivo.
restrinja as permissões do arquivo authorized_keys com este comando:
chmod 600 .ssh/authorized_keys
Digite exit para retornar ao usuário root
Agora você pode fazer o login SSH como seu novo usuário, usando a chave privada como autenticação.
Proteja nosso servidor um pouco modificando sua configuração SSH. Edite o arquivo de configuração
nano /etc/ssh/sshd_config
Altere o valor da porta SSH da porta 22 para algo entre 1025 e 65536
Ao alterar esse valor, você precisará ter em mente que o servidor está sendo executado na nova porta.
Por exemplo, se você alterar para 4444. Isso significa que, quando você se conectar, será necessário informar ao cliente SSH para usar essa nova porta não padrão.
Port 4444
Agora, para restringir o login do Root, precisamos encontrar a linha que se parece com esta:
PermitRootLogin yes
Modifique esta linha para “não” se desejar desativar o login de root:
PermitRootLogin no
Desativar o login de root remoto é altamente recomendado em todos os servidores!
Salve e feche o arquivo usando o método que vimos anteriormente (CTRL-X, depois Y e depois ENTER).
Recarregue o SSH, precisamos reiniciar o serviço SSH para que ele use nossa nova configuração.
service ssh restart
Agora, antes de sair do servidor, devemos testar nossa nova configuração.
Não queremos nos desconectar até que possamos confirmar que novas conexões podem ser estabelecidas com sucesso.
Abra uma nova janela de terminal. Na nova janela, precisamos iniciar uma nova conexão com nosso servidor.
Desta vez, em vez de usar a conta root, queremos usar a nova conta que criamos e nosso novo número de porta para ssh
ssh -p 4444 steven@SERVER_IP_ADDRESS
Será solicitada a senha do novo usuário que você configurou. Depois disso, você estará conectado como seu novo usuário.
Lembre-se, se você precisar executar um comando com privilégios de root, digite “sudo” antes desta forma:
sudo command_to_run
Se tudo estiver bem, você pode sair de suas sessões digitando:
exit
Etapas adicionais para novo servidor
Primeiro, para <b> configurar nosso firewall </b>, precisamos criar uma exceção para conexões SSH para que possamos manter o acesso para administração remota.
O Ubuntu vem com uma ferramenta chamada ufw que pode ser usada para configurar suas políticas de firewall.
sudo ufw allow 4444/tcp
permitir acesso à porta 80 para executar um servidor web HTTP
sudo ufw allow 80/tcp
Se você planeja executar um servidor da web com SSL habilitado, deve permitir o tráfego para essa porta também:
sudo ufw allow 443/tcp
Se você precisa que o e-mail SMTP esteja habilitado, a porta 25 deverá ser aberta:
sudo ufw allow 25/tcp
você pode habilitar o firewall digitando:
sudo ufw enable
Defina o <b> fuso horário do servidor </b> reconfigurando o pacote tzdata selecionando sua região geográfica
sudo dpkg-reconfigure tzdata
Para configurar a <b> sincronização NTP </b>, usaremos um serviço ntp, que podemos instalar a partir dos repositórios padrão do Ubuntu:
sudo apt-get update
sudo apt-get install ntp
Agora, para <b> criar um arquivo de troca </b>, a Digital Ocean sugere que uma quantidade igual ou o dobro da quantidade de RAM em seu sistema é um bom tamanho. Estou usando 1 GB com o plano de US $ 10 por mês.
sudo fallocate -l 1G /swapfile
Depois de criar o arquivo, precisamos executar os seguintes comandos, um após o outro, para permitir que o sistema use o arquivo de troca automaticamente a cada inicialização
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'
Se você está satisfeito com sua configuração e deseja usá-la como base para futuras instalações, você pode <b> tirar um instantâneo do seu servidor </b> através do painel de controle DigitalOcean.
Para fazer isso, desligue o servidor a partir da linha de comando digitando:
sudo poweroff
Agora, no painel de controle DigitalOcean, você pode tirar um instantâneo visitando a guia “Instantâneos” do seu servidor:
Depois de tirar seu instantâneo, você poderá usar essa imagem como base para futuras instalações, selecionando o instantâneo na guia “Meus instantâneos”.
Nó de instalação
Ubuntu 14.04 contém uma versão do Node.js em seus repositórios padrão. A versão nos repositórios é 0.10.25. Esta não será a versão mais recente, mas deve ser bastante estável.
sudo apt-get update
sudo apt-get install nodejs
Por causa de um conflito com outro pacote, o executável dos repositórios do Ubuntu é chamado de nodejs em vez de node.
O comando a seguir deve vincular nó a nodejs, para que seja executado corretamente quando você executar comandos de nó, link
sudo ln -s /usr/bin/nodejs /usr/bin/node
Agora instale o npm, gerenciador de pacotes Node.js.
sudo apt-get install npm
Configure o Filezilla para transferência ftp
Abra o cliente FileZilla, clique no item de menu Arquivo e selecione Gerenciador de sites.
No lado esquerdo do gerente do site, clique no botão Novo site e digite um nome exclusivo em Meus sites para sua conexão
Agora, na guia Geral, preencha o host com os campos de endereço IP e porta
Tipo de logon, selecione Interativo e clique em Conectar
Configurar nginx
Instale e inicie o nginx
sudo apt-get install nginx
sudo service nginx start
Confirme se o nginx foi iniciado
ifconfig eth0 | grep inet | awk '{ print $2 }'
Isso mostrará o endereço IP do seu servidor virtual. Navegue até ele em seu navegador e você verá as palavras “Bem-vindo ao nginx”
Certifique-se de que o nginx estará ativo após a reinicialização
update-rc.d nginx defaults
Configurar nomes de domínio
Aponte seus servidores de nome para DigitalOcean. Os servidores de domínio DigitalOcean são
ns1.digitalocean.com, ns2.digitalocean.com, ns3.digitalocean.com
Agora, para configurar seu Domínio, vá para o painel de controle do DigitalOcean.
Na seção DNS, clique em Adicionar Domínio e preencha o campo do nome do domínio e o endereço IP do seu servidor
Preencha o registro A para o seu domínio, ele deve ter atualizado os servidores de nomes para estar correto,
Se você deixar como @, será
http://example.com
Ou você pode especificar um nome prefixado ao seu nome de domínio, por exemplo, digite <i> teste </i>
test.example.com
Preencha os registros AAAA. Digite o endereço IPv6 do droplet em que deseja hospedar seu nome de domínio e o próprio nome do host,
Para adicionar www ao seu URL, clique na guia CNAME e preencha os 2 campos.
www and @
Configurar hosts virtuais nginx
Faça login novamente via ssh em seu servidor. Agora eu queria configurar vários domínios para meu servidor Nginx.
Para demonstração, vamos supor que os nomes de domínio sejam example.com e test.com, obviamente, use seus próprios domínios que você configurou com Digital Ocean e comprou em algum lugar como iwantmyname.com
sudo apt-get update
sudo apt-get install nginx
Por padrão, o Nginx no Ubuntu 14.04 tem um bloco de servidor habilitado por padrão. Ele é configurado para servir documentos fora de um diretório em:
/usr/share/nginx/html
Não usaremos o padrão, pois é mais fácil trabalhar com as coisas no diretório / var / www.
Queremos um diretório para cada um de nossos sites dentro do diretório / var / www e teremos um diretório sob esses, chamado html, para armazenar nossos arquivos reais.
Crie os diretórios necessários. Podemos fazer isso com o seguinte comando
sudo mkdir -p /var/www/example.com/html
sudo mkdir -p /var/www/test.com/html
Agora que os diretórios foram criados, precisamos transferir a propriedade para nosso usuário regular. Podemos usar a variável de ambiente $ USER para substituir a conta de usuário na qual estamos conectados no momento.
sudo chown -R $USER:$USER /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/test.com/html
Crie páginas de amostra para cada site
Crie um arquivo index.html em seu primeiro domínio:
nano /var/www/example.com/html/index.html
Agora insira uma página de índice básico que indica qual site estamos acessando no momento
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com server block is working!</h1>
</body>
</html>
Faça o mesmo para o seu segundo domínio
Agora que temos o conteúdo que desejamos servir, precisamos <b> criar os blocos de servidor </b> que dirão ao Nginx como fazer isso.
Vamos <b> criar nosso primeiro bloco de servidor </b> arquivo de configuração copiando o arquivo padrão:
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com
Agora, abra o novo arquivo que você criou em seu editor de texto com privilégios de root:
sudo nano /etc/nginx/sites-available/example.com
Defina seu primeiro servidor como o bloco de servidor padrão, então deixe a opção default_server neste arquivo
Ajuste a raiz do documento, especificada pela diretiva root. Aponte para a raiz do documento do site que você criou:
root /var/www/example.com/html;
Modifique o server_name para corresponder às solicitações de nosso primeiro domínio. Também podemos adicionar quaisquer aliases como www.example.com
server_name example.com www.example.com;
Salve e feche o arquivo
Agora que temos nossa configuração inicial de bloco de servidor, podemos usá-la como base para nosso <b> segundo arquivo de bloco de servidor </b>.
Copie-o para criar um novo arquivo:
sudo cp /etc/nginx/sites-available/example.com /etc/nginx/sites-available/test.com
Abra o novo arquivo com privilégios de root em seu editor:
sudo nano /etc/nginx/sites-available/test.com
Remova a opção de servidor padrão e ipv6only = on para que as 2 linhas resultantes sejam:
listen 80;
listen [::]:80;
Ajuste a diretiva raiz do documento para apontar para a raiz do documento do seu segundo domínio:
root /var/www/test.com/html;
Ajuste o server_name para corresponder ao seu segundo domínio e quaisquer aliases:
server_name test.com www.test.com;
Ao adicionar blocos de servidor adicionais para outros domínios, copie este segundo arquivo e você só terá que modificar a raiz do documento e o nome do domínio, alias
Salve e feche o arquivo
Agora você tem seus blocos de servidor criados, precisamos <b> habilitá-los e reiniciar o nginx </b>.
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/test.com /etc/nginx/sites-enabled/
Esses arquivos agora estão no diretório habilitado. Precisamos desabilitar o arquivo de bloqueio do servidor padrão removendo o link simbólico.
sudo rm /etc/nginx/sites-enabled/default
Também precisamos ajustar uma configuração rapidamente no arquivo de configuração padrão do Nginx. Abra-o digitando:
sudo nano /etc/nginx/nginx.conf
Remova o comentário da linha atualmente comentada.
server_names_hash_bucket_size 64;
Agora, estamos prontos para reiniciar o Nginx para habilitar suas alterações.
sudo service nginx restart
Agora você deve ser capaz de visitar seus 2 novos domínios e, com sorte, tudo funcionará bem e poderá começar a construir seus sites.