Jump to content

Servidor do 0 ao Cliente Modificado - Debian9 - Apache, MariaDb - Site (Gesior) Portas, Firewall, Protocolo ssl


Recommended Posts

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)

Spoiler

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.1.png.9360944d32fc5e5a429f53ce6a763cbd.png

 

1.2:  Abrirá uma página de criação como a imagem abaixo:

 

1.2.png.a0a99b1da112be0e1b0f6a134bb67e8a.png

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.

Spoiler

2.1:  Altere o tipo de Ip clicando sobre o nome Temporário, altere para Estático.

 

2.1.png.883e9162bce5c4d0ffc7dc0d8252168d.png

Passo 2.2 - Siga o Passo a Passo Para Liberação de Portas no Item Firewall

Spoiler

2.2: Acesse o menu Rede VPC, item Regras de Firewall e clique em Criar Regra de Firewall

2.2.png.febc1030e1714fa0eb8f79c949bf9d5f.png

 

Passo 2.3 - Dentro do painel de Firewall Crie as Seguintes Regras:

2.3.png.a98c6830ec80f7abce6e84309c2ec429.png

 

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

Spoiler

3.1 Procure por Serviços de Rede, Cloud DNS e Clique em Criar Zona

3.1.png.13180102344f159bb292bb17c3435f65.png

 

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.

Spoiler

3.2 - Adicionar Conjunto de Registros DNS

3.2.png.b5514b22c8665e29f5eb159a2bca2593.png

 

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)

Spoiler

4.1 - Acesso ao Terminal via SSH -  Clique em SSH para acessar o terminal do servidor.

4.1.png.2c98cd3461ff19b328ee98b61b8c3940.png

 

4.2 - Liberando acesso SSHD

Spoiler

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.2.1.png.0004e460e0f9ab9fd6478b27a2272c09.png

4.3 Instalação de pacote Web ( MySQL-SERVER, Apache, PHP, PHPMyadmin)

Spoiler

 

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

Spoiler

 

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

Spoiler

 

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

Spoiler

 

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

Spoiler

 

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:

Spoiler

 

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!

 

Funciona em versões 11+ e 10-

Se te ajudei deixa um comentário e um +REP

Edited by Theusinho
Link to comment
Share on other sites

×
×
  • Create New...