Postado Janeiro 18, 2019 6 anos Olá pessoal hoje venho trazer para o Fórum um passo a passo de como montar um servidor completo na VPN da Google Cloud. 1- Criação de Maquina Virtual (Instância) Mostrar conteúdo oculto Já dentro do Google Cloud - Acesse o Menu Compute Engine e logo em seguida Instâncias de VMS, depois clique em CRIAR INSTÂNCIA. 1.1: Será carregado uma página como esta: 1.2: Abrirá uma página de criação como a imagem abaixo: Preenchimento dos Campos: Nome: Coloque o nome que desejar para sua instancia. Região: tenha em mente que quanto menor a distancia do ponto de acesso do usuário com o servidor menor será o delay e portanto menor o lag. Tipo de Maquina: Estou utilizando uma com 2 vCPUS e 8 GB de RAM, o que é o mínimo para um servidor novo (11+). Disco de Inicialização: Utilizaremos a imagem do Debian9 com um disco padrão de 10gb ssd ou hd (SSD melhora a velocidade de processamento de dados, consequentemente diminui a latência do servidor. Escopo de Acesso: Permitir Acesso Completo a todas as APIs do Cloud Firewall: Permitir Trafego HTTP e HTTPS Clique em Criar. Pronto a Instância Será Criada. 2 - Configuração de Rede e Domínio (Endereço de IP Externo, DNS e Firewall) Acesse o serviço de REDE VPC e vá até o item Endereços IP Externos. Passo 2.1 - Localize a instancia que esta com o Tipo de Endereço como Temporário. Mostrar conteúdo oculto 2.1: Altere o tipo de Ip clicando sobre o nome Temporário, altere para Estático. Passo 2.2 - Siga o Passo a Passo Para Liberação de Portas no Item Firewall Mostrar conteúdo oculto 2.2: Acesse o menu Rede VPC, item Regras de Firewall e clique em Criar Regra de Firewall Passo 2.3 - Dentro do painel de Firewall Crie as Seguintes Regras: Após a criação das regras de entrada e saída as portas de rede estão abertas. 3 - Apontamento de Domínio e Configuração de DNS Mostrar conteúdo oculto 3.1 Procure por Serviços de Rede, Cloud DNS e Clique em Criar Zona Faça o preenchimento da Seguinte Forma: Tipo de Zona: Particular (Ninguem que consultar seus dados terá acesso a eles, pública os dados são livres para consulta) Nome da Zona: Coleque algo que facilite a identificação para você (Pode ser qualquer coisa, o nome você escolhe) Nome do DNS: Coloque o nome do Domínio que você registrou, Exemplo (www.meuservidor.com.br) Em Redes selecione a Default. Clique em Criar. Após crie as seguintes Zonas: Zona: www. Dominio Zona: .Dominio E aponte ambas para o IP externo da Instância Criada Anteriormente. Agora vá até seu provedor de Domínios e realize o apontamento de NameServer para os dois endereços destacados na imagem abaixo. Mostrar conteúdo oculto 3.2 - Adicionar Conjunto de Registros DNS Pronto Instância já esta criada, com IP estático, portas liberadas e domínio apontado. 4 - Configuração Interna do Servidor Volte para sua instância (Compute Engine -> Instâncias de VMs) Mostrar conteúdo oculto 4.1 - Acesso ao Terminal via SSH - Clique em SSH para acessar o terminal do servidor. 4.2 - Liberando acesso SSHD Mostrar conteúdo oculto Já Dentro do Terminal iremos alterar a senha do usuário ROOT. Digite o seguinte comando sudo su root passwd root Digite a senha do novo usuário e confirme (PS: ANOTE A SENHA!!) Agora iremos liberar o acesso remoto via FTP, para tanto digite o seguinte comando no terminal: nano /etc/ssh/sshd_config Dentro do arquivo Localize e altere: Antes: PermitRootLogin no PasswordAuthentication no Depois: PermitRootLogin yes PasswordAuthentication yes aperte Ctrl + X tecle Y para confirmar as alterações e Enter para salvar o arquivo. Digite o comando abaixo para dar restart no serviço alterado. service sshd restart Realize o Download de algum softwar de FTP Exemplos: WinSCP: Download FileZilla: Download 4.2.1 - Realize o acesso Direto da seguinte forma: Protocolo de arquivo: SFTP Host: Ip externo da instância Porta: 22 Usuário: Root Senha: "aquela que cadastro pelo terminal" Clique em salvar e depois em login (Caso apareça alguma confirmação, apenas confirme) Excelente, agora já temos acesso direto ao servidor. Obs: O acesso via FTP permite a edição de arquivos e transferência de arquivos de maneira visual (sem a necessidade utilização do terminal). 4.3 Instalação de pacote Web ( MySQL-SERVER, Apache, PHP, PHPMyadmin) Mostrar conteúdo oculto Volte ao terminal, certifique-se de estar logado com o usuário root Comando: $ sudo su Agora digite os seguintes comandos: apt-get install apache2 apt-get install mysql-server php7.0-mysql Nas confirmações sempre tecle "Y" sudo mysql_install_db sudo mysql_secure_installation apt-get install php7.0 libapache2-mod-php7.0 php7.0-mcrypt Quando solicitado para selecionar o Apache, utilize a tecla Espaço para marcar a caixa de seleção e após tecle Enter. Agora iremos realizar uma alteração no arquivo dir.conf para tanto utilize o comando abaixo: Citar nano /etc/apache2/mods-enabled/dir.conf Substitua o conteúdo do arquivo com exceção da ultima linha para o conteúdo abaixo: <IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm </IfModule> Salve o arquivo: Ctrl + X; Y; Enter Reinicie o serviço: $ sudo service apache2 restart Agora instalaremos o PHPMyadmin $ apt-get install phpmyadmin Será utilizado o mesmo processo, porém ao perguntar se deseja alterar a senha do root, marque "N" do restante tudo será "Y" Pronto, Pacote Web Instalado com sucesso! 4.4 Configurando o PHPMyadmin Mostrar conteúdo oculto Faça login no MySQL, utilize da senha do root. $ sudo mysql -u root Criaremos o usuário de acesso, no caso 2 o usuário otserv e o usuário forgottenserver, o primeiro usuário pode ser editado conforme o seu gosto, o segundo é necessário, porém a senha pode ser alterada de "123456" para qualquer outra. CREATE USER 'otserv'@'localhost' IDENTIFIED BY '123456'; GRANT ALL PRIVILEGES ON *.* TO 'otserv'@'localhost'; FLUSH PRIVILEGES; CREATE USER 'forgottenserver'@'localhost' IDENTIFIED BY '123456'; GRANT ALL PRIVILEGES ON *.* TO 'forgottenserver'@'localhost'; FLUSH PRIVILEGES; $ exit Pronto Usuário Configurados, para ter acesso ao PHPMyadmin, digite na barra de endereço o ip externo da instância seguido por /phpmyadmin. Exemplo: http://35.247.219.73/phpmyadmin 4.5 Compilando uma distro em Debian9 Mostrar conteúdo oculto Primeiro atualize o sistema e instale as bibliotecas: $ apt-get update && apt-get upgrade $ apt-get install git cmake build-essential liblua5.2-dev libgmp3-dev libmariadbclient-dev libboost-system-dev libboost-iostreams-dev libpugixml-dev libcrypto++-dev Escolha um Distro de sua preferencia, utilizaremos a seguinte: Ombra - Pack 10x +11 Para fazer o download digite em seu terminal os seguintes comandos: $ wget https://gitlab.com/otbr/ombra-pack10x/-/archive/master/ombra-pack10x-master.zip Depois de finalizado descompacte o arquivo: $ Unzip ombra-pack10x-master.zip Acesse a pasta da distro com o comando: $ cd ombra-pack10x-master Agora que já estamos dentro da distro iremos realizar a compilação (Esse processo pode demorar um pouco...): $ mkdir build && cd build && cmake .. && make $ mv tfs cd ../ $ cd ../ Pronto Servidor compilado em Debian9 4.6 Instalando um Website Mostrar conteúdo oculto Vá para o terminal e localize a para a pasta HTML /var/www/html $ cd /var/www/html Remova todo o conteúdo dela: $ rm -rf /var/www/html/* Agora faça o download de alguma Gesior, utilizaremos a versão a seguir: Gesior THe Ral Ferobra Para realizar o download utilize o comando abaixo: $ wget https://github.com/Riicksouzaa/TheRealGesiorFerobra/archive/master.zip Descompacte o arquivo e mova o conteúdo: $ Unzip master.zip $ cd master $ mv /master ../ $ cd ../ Agora acessaremos o Config.php $ nano /var/www/html/config/config.php Dentro do arquivo altere: $config['site']['sqlHost'] = "127.0.0.1"; <-- Mantenha assim $config['site']['sqlUser'] = "otserv"; <-- coloque o nome de usuário criado anteriormente $config['site']['sqlPass'] = "123456"; <-- colque a senha cadastrada para o usuário também anteriormente $config['site']['sqlBD'] = "tutorial"; <-- coloque o nome da database que foi cadastrada no PhpMyadmin Ainda no mesmo arquivo localize o local de castro do arquivo config.lua e coloque o destino do arquivo. Exemplo de caminho $config['site']['serverPath'] = "/home/tutorialotserv/ombra-pack10x-master//"; Pronto agora salve o arquivo (Ctrl + x, Y + Enter) Agora vamos configurar o arquivo Config.lua $ cd /home/tutorialotserv/ombra-pack10x-master/ $ nano /home/tutorialotserv/ombra-pack10x-master/config.lua Já dentro do Config.lua Localize os campos abaixo: -- Connection Config -- NOTE: maxPlayers set to 0 means no limit ip = "35.247.219.73" <-- altere para o endereço de IP externo da instância -- MySQL mysqlHost = "127.0.0.1" <-- mantenha este padrão mysqlUser = "otserv" <-- coloque o mesmo usuário do arquivo config.php mysqlPass = "123456" <-- coloque a mesma senha do arquivo config.php mysqlDatabase = "tutorialotserv" coloque a mesma database do arquivo config.php Salve o arquivo (Ctrl + X, Y + Enter) Copie o arquivo login.php para a pasta do site utilizando o comando abaixo: $ cp /home/tutorialotserv/ombra-pack10x-master/login.php /var/www/html/ Pronto Servidor e WebSite Pronto. 5 - Instalação de protocolo HTTPS / Certificado Digital SSL Mostrar conteúdo oculto Ainda dentro do terminal utilize o seguinte comando: $ sudo apt-get install python-certbot-apache -t stretch-backports $ sudo certbot --apache Marque o Redirecionamento HTTPs automático $ sudo certbot -a dns-plugin -i apache -d "*.example.com" -d example.com --server https://acme-v02.api.letsencrypt.org/directory Substitua .example.com pelo seu dominio ficando assim: $ sudo certbot -a dns-plugin -i apache -d "*.tutorialotserv.ml" -d www.tutorialotserv.ml --server https://acme-v02.api.letsencrypt.org/directory E para Renovação automática do certificado de forma totalmente gratuita utilize: $ sudo certbot renew --dry-run Pronto Servidor, Domínio e SSL configurados com sucesso! Para ligar o servidor utilize o comando abaixo dentro da pasta do servidor: $ ./tfs Funciona em versões 11+ e 10- Se te ajudei deixa um comentário e um +REP
Postado Janeiro 18, 2019 6 anos Aprovado. Obrigado pela sua contribuição! O spoiler 3 está vazio aqui pra mim.
Postado Janeiro 18, 2019 6 anos Autor Em 18/01/2019 em 14:50, Nolis disse: Aprovado. Obrigado pela sua contribuição! O spoiler 3 está vazio aqui pra mim. Obrigado @Nolis tópico corrigido! Espero que ajude o fórum! ?
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.