Jump to content
Sign in to follow this  
Majesty

Normal [Linux - Ubuntu/Debian]Canary + Nginx + MySQL + MyAAC

Recommended Posts

Majesty

[Linux - Ubuntu/Debian]Canary + Nginx + MySQL + MyAAC

separador.png&key=eaf6ddec4c7a8e2ed60a25

Tutorial para colocar Servidor Canary online no Ubuntu / Debian com Nginx + MySQL e MyAAC.

separador.png&key=eaf6ddec4c7a8e2ed60a25

1 - Download Bitvise:

https://www.bitvise.com/ssh-client-download

1.1 - Tutorial Bitvise:

https://www.bitvise.com/getting-started-install-ssh-client

separador.png&key=eaf6ddec4c7a8e2ed60a25

2 - Instalação - Canary:

Spoiler

Debian (10~11) ou Ubuntu (18~20) :

sudo apt-get update 
sudo apt-get dist-upgrade
sudo apt-get install git cmake build-essential libluajit-5.1-dev ca-certificates curl zip unzip tar pkg-config

-

git clone https://github.com/microsoft/vcpkg
cd vcpkg
./bootstrap-vcpkg.sh
cd ..

git clone --depth 1 https://github.com/opentibiabr/canary.git
cd canary
mkdir build && cd build

cmake -DCMAKE_TOOLCHAIN_FILE=~/vcpkg/scripts/buildsystems/vcpkg.cmake ..
make -j`nproc`

cd ~
cd canary
cp -r build/bin/canary .

 

Observação 1:

Se você tiver problema com o comando:

.\bootstrap-vcpkg.sh

Vá até a pasta vcpkg e utilize esse comando:

export VCPKG_FORCE_SYSTEM_BINARIES=1

Utilize o mesmo comando acima na pasta canary/build.


Observação 2:

Ao utilizar o comando:

cmake -DCMAKE_TOOLCHAIN_FILE=~/vcpkg/scripts/buildsystems/vcpkg.cmake ..

Irá aparecer no terminal:

-- Running vcpkg install

Esta etapa levará muito tempo na primeira execução, pois é necessário baixar e instalar todas as dependências, então seja paciente!
 

Observação 3:

Se estiver em root, use o comando: 

cmake -DCMAKE_TOOLCHAIN_FILE=../../vcpkg/scripts/buildsystems/vcpkg.cmake ..

- Renomeie o arquivo config.lua.dist para config.lua:

mv config.lua.dist config.lua

separador.png&key=eaf6ddec4c7a8e2ed60a25

3 - Instalação - Nginx: 

Spoiler
sudo apt update
sudo apt install nginx
sudo service nginx start

sudo ufw app list
sudo ufw allow in "Nginx Full"

Como testar: http://ip-do-servidor

separador.png&key=eaf6ddec4c7a8e2ed60a25

4 - Instalação - MySQL:

Spoiler
sudo apt install mysql-server
sudo service mysql start


sudo mysql_secure_installation

Este script irá perguntar se você deseja configurar o >> VALIDATE PASSWORD PLUGIN.

Atenção: ativar esta característica é uma decisão sua. Se habilitada, as senhas que não 
corresponderem ao critério especificado serão rejeitadas pelo MySQL com um erro. 
É seguro deixar a validação desativada, mas sempre utilize senhas fortes e únicas para as credenciais do banco de dados.

Responda Y para sim, ou qualquer outra coisa para continuar sem a habilitar.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:
Se você responder "yes”, você será solicitado a selecionar um nível de validação por senha. 
Lembre-se de que se você digitar 2 para o nível mais forte você receberá erros ao tentar definir 
qualquer senha que não contenha números, letras maiúsculas e minúsculas, e caracteres especiais, ou que baseiam-se em palavras comuns do dicionário.

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary              file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

Independentemente de você ter escolhido VALIDATE PASSWORD PLUGIN, 
seu servidor irá pedir a você para selecionar e confirmar uma senha para o.root user do MySQL. 
Isso não deve ser confundido com o root do sistema. O usuário root do banco de dados é um usuário administrativo 
com privilégios totais sobre o sistema de banco de dados. Embora o método de autenticação predefinido para o usuário 
root dispense o uso de uma senha, mesmo quando uma senha está definida, você deve definir uma senha forte aqui como 
uma medida de segurança adicional. Vamos falar sobre isso em breve.

Se você habilitar a validação por senha, será apresentado a você a força da senha para a senha root. 
e o seu servidor perguntará se você deseja continuar com essa senha. Se estiver satisfeito com sua senha atual, digite Y para “yes” no prompt:

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
Para o resto das perguntas, pressione Y e pressione a tecla ENTER em cada prompt. 
Isso removerá alguns usuários anônimos e o banco de dados de teste, 
desativará os logins remotos para o root e carregará essas novas regras para que o MySQL respeite imediatamente as alterações que você fez.

Quando terminar, teste se você consegue fazer login no console do MySQL digitando:

sudo mysql
 
Isso conectará ao servidor MySQL como usuário administrativo root do banco de dados, o que é pressuposto pelo uso do sudo ao executar esse comando.

Você deve ver um resultado como este:

"Output
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 8.0.19-0ubuntu5 (Ubuntu)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>"

Para sair do console do MySQL, digite: exit

mysql> exit

 

separador.png&key=eaf6ddec4c7a8e2ed60a25

5 - Instalação - PHP:

Spoiler
sudo apt install php php-curl php-fpm php-mysql php-xml php-zip

sudo apt-get purge apache2*
sudo apt-get autoremove
cd /
cd etc
rm -r apache2

 

separador.png&key=eaf6ddec4c7a8e2ed60a25

6 - Instalação - phpMyAdmin:

Spoiler
sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

Depois você vera um tela

Não selecionar nada
Se você for solicitado a escolher um servidor da web como abaixo, já que não há opção para Nginx, pressione  TAB e  ENTER 
para continuar sem selecionar um servidor da web.

mysql-setup.png

6.1 - Configurar phpMyAdmin:

Spoiler
Selecione  Sim  e pressione  ENTER para instalar e configurar o banco de dados.

phpmyadmin-install2.png

6.2 - Senha do aplicativo:

Spoiler
A senha do aplicativo MySQL é usada internamente pelo phpMyAdmin para se comunicar com o MySQL 
e não é recomendado que você a use para fazer login no phpMyAdmin. Você pode deixar em branco e uma senha será gerada automaticamente.

Insira a senha e pressione ENTER para continuar.

phpmyadmin-install3.png

6.3 - Criar link simbólico:

Spoiler
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

 

6.4 - Config necessário para phpMyAdmin funcionar com Nginx:

Spoiler

No terminal digite o seguinte comando:

sudo apt install nano

Depois de instalado vamos configurar o Nginx, então no terminal digite o seguinte comando:

sudo nano /etc/nginx/sites-available/default

Você irá obter a seguinte tela no terminal:

nginx.png

Edite deixando dessa forma:

server {
	listen 80 default_server;
	listen [::]:80 default_server;

	root /var/www/html;

	# Add index.php to the list if you are using PHP
	index index.php  index.html index.htm index.nginx-debian.html;

	server_name _;

	location / {
		try_files $uri $uri/ =404;
	}

	location ~ \.php$ {
		include snippets/fastcgi-php.conf;
		fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
	}

	location ~ /\.ht {
		deny all;
	}
}

-

sudo service nginx restart

Como testar: http://ip-do-servidor/phpmyadmin

6.5 - Config usuário mysql:

Spoiler

Se você tiver a autenticação por senha habilitada para o root user,
você precisará executar o seguinte comando e digitar sua senha quando solicitada para poder se conectar:

sudo mysql -u root -p

A partir daí, crie um novo usuário e dê a ele uma senha forte:

CREATE USER 'seuuser'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'suasenha';

Nota: novamente, dependendo da versão do PHP que você instalou, aconselhamos definir seu novo usuário

para autenticar-se com o mysql_native_password em vez do caching_sha2_password:

ALTER USER 'seuuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'suasenha';

Então, conceda ao seu novo usuário os privilégios apropriados. Por exemplo, é possível conceder os privilégios de usuário para todas as tabelas dentro do banco de dados, além do poder de adicionar, alterar e remover os privilégios de usuário, com este comando:
 

GRANT ALL PRIVILEGES ON *.* TO 'seuuser'@'localhost' WITH GRANT OPTION; 

Depois disso, saia do shell do MySQL:

exit

6.6 - Banco de Dados:

Spoiler

- Acesse o phpMyAdmin.

- Na lateral esquerda clique em +New e crie uma database (ex: otservbrglobal)

- Importe o schema.sql que está na pasta do servidor.

6.7  - Config.lua:

Spoiler
-- Connection Config
ip = "seu-ip-ou-domínio"

-- MySQL
mysqlHost = "127.0.0.1"
mysqlUser = "seu-usuário"                      
mysqlPass = "sua-senha"                       
mysqlDatabase = "nome-do-seu-banco-de-dados"        
mysqlPort = 3306
mysqlSock = "/var/run/mysqld/mysqld.sock"

 

separador.png&key=eaf6ddec4c7a8e2ed60a25

7 - Instalação - MyAAC + MyAAC login.php para Cliente 12:

Spoiler
cd /var/www/html

wget -c https://github.com/slawkens/myaac/archive/master.zip -O myaac-master.zip

unzip myaac-master.zip

mv myaac-master/* /var/www/html

rm -rf myaac-master.zip myaac-master

rm index.html

chown -R www-data.www-data /var/www/html

chmod 660 config.local.php
chmod 660 images/guilds
chmod 660 images/houses
chmod 660 images/gallery
chmod -R 770 system/cache

wget -c https://github.com/opentibiabr/myaac-tibia12-login/archive/main.zip -O myaac-tibia12-login-main.zip

unzip myaac-tibia12-login-main.zip

cp -r myaac-tibia12-login-main/* /var/www/html

rm -rf myaac-tibia12-login-main.zip myaac-tibia12-login-main

Instalar MyAAC: http://ip-ou-dominio

Seguir as etapas de instalação;

Em versão, selecionar 12.6.

separador.png&key=eaf6ddec4c7a8e2ed60a25

8 - Liberando Portas:

Spoiler
sudo ufw status
sudo ufw enable
sudo ufw allow 22/tcp
sudo ufw allow 7171/tcp
sudo ufw allow 7172/tcp
sudo ufw allow 8245/tcp
sudo ufw reload

8.1 - Liberando Portas - Google Cloud:

Spoiler
iptables -A INPUT -p tcp --dport 7171 -j ACCEPT
iptables -A INPUT -p tcp --dport 7172 -j ACCEPT
iptables -A INPUT -p tcp --dport 8245 -j ACCEPT

gcloud compute firewall-rules create allow-sete --description "Incoming seteum allowed." \
         --allow tcp:7171 --format json     
   
gcloud compute firewall-rules create allow-dois --description "Incoming setedois allowed." \
         --allow tcp:7172 --format json 

gcloud compute firewall-rules create allow-dois --description "Incoming quatrocinco allowed." \
         --allow tcp:8245 --format json 

separador.png&key=eaf6ddec4c7a8e2ed60a25

9 - Iniciando o Servidor:

Você precisará da screen instalada:

Spoiler

sudo apt install screen

9.1 - Comandos básicos screen:

Spoiler

Abrir uma screen: 

screen

Sair de uma screen:

CTRL + A, D

Voltar para a ultima screen aberta:

screen -r

Fechar uma screen:

CTRL + K, Y/N

Info:

Com a screen aberta use ```./otbr ou ./canary``` no diretorio raiz do projeto para iniciar o servidor.

"canary ou otbr " depende de qual engine você está utilizando"

separador.png&key=eaf6ddec4c7a8e2ed60a25

10 - Conectando ao Servidor:

Download Cliente 12:

Obs: se a porta for alterada, deve ser adicionada ao cliente 12.

Exemplos:

- http://127.0.0.1:8080/login.php

- http://127.0.0.1:8090/login.php

separador.png&key=eaf6ddec4c7a8e2ed60a25

11 - Links úteis como mais configurações que podem ser aplicadas no geral:

separador.png&key=eaf6ddec4c7a8e2ed60a25

12 - Créditos:

Beats (Configuração LEMP)

Slawkens (MyAAC)

OTBR (Canary + MyAAC login.php Cliente 12)

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
  • Recently Browsing   0 members

    No registered users viewing this page.

×