Ir para conteúdo
  • Cadastre-se

Znote AAC Instalando e configurando o ZnoteACC no Ubuntu 22.04


Posts Recomendados

Olá, esse tutorial é uma parte do tópico principal: "Tutorial completo de infraestrutura para montar um servidor TFS 1.x no Ubuntu 22.04" ... 

Aqui ensinaremos como instalar e configurar o ZnoteACC.

 

PASSO 1 - COMO INSTALAR O ZNOTE ACC

 

O projeto principal do Znote está no github e existem duas ramificações principais:

- A primeira, nomeada de MASTER no github (Znote AAC 1.6) suporta as engines OTHire, TFS 0.2, TFS 0.3/4, TFS 1.3 e Distributions based on these (such as OTX) = https://github.com/Znote/ZnoteAAC/tree/master

- A segunda, nomeada de V2 no github (Znote AAC 2.0) suporta as engines TFS 1.4 ou superior e OTservBR-Global = https://github.com/Znote/ZnoteAAC/tree/v2

 

Portanto, verifique o versão que suporta a engine que você irá usar e faça o download em CODE e depois DOWNLOAD ZIP:

image.png.9b79b23d1640b82dc91ca23312bf6c2a.png

 

Após extrair os arquivos, usando o WinSCP, passe os arquivos para a pasta "www" (criada no tutorial instalando o PHP), localizada em /home/ ....

 

PASSO 2 - IMPORTANDO A DATABASE DO ZNOTE ACC

 

Após passar os arquivos do site para a pasta "www", atualize o seu site no navegador e irá aparecer isso: 

 

image.thumb.png.d71df0fc67e7b3e972c94de87907a303.png

Clicando no link "Znote ACC shema", irá baixar a database do site Znote que precisará ser importada no phpmyadmin.

 

Para isso, entre em seu phpmyadmin pelo navegador (IP/phpmyadmin, ou o outro destino que você escolheu conforme o tópico de instalação do phpmyadmin

image.png.cab77db42e4b6f52d551dd4ebcdbfd28.png

 

Entre na dabatase criada para o servidor, conforme explicado na tutorial de configuração do servidor, e agora clique em "IMPORTAR" e depois em "escolher arquivo":

 

image.png.11f58a72e0369479eced4ae755f82928.png

 

E então selecione o arquivo que você baixou clicando no link "Znote ACC shema" . Se você não tiver um arquivo, use o padrão do ZNOTE ACC: https://raw.githubusercontent.com/Znote/ZnoteAAC/master/engine/database/znote_schema.sql

 

E por fim, clique em EXECUTAR.

 

image.png.1a2689ce2d10044c78f2d66ac1e9dc21.png

 

Para finalizar a conexão do site com o banco de dados da máquina, com o WinSCP entre em /home/www/config.php e ajuste os dados da conexão mysql: 

 

image.thumb.png.bbc10b87b569ac3df6ce6fdb0843ccfd.png

 

Salve e teste novamente a conexão do site pelo navegador.

 

PASSO 3 - CONFIGURANDO O ZNOTE ACC

 

Com o WinSCP entre novamente em /home/www/config.php e ajuste todas as configurações conforme a sua necessidade, Irei cimentar sobre algumas mais importantes ...

 

- modifique $config['ServerEngine'] com a versão correta do TFS que você está executando. (TFS_02, TFS_03, TFS_10, OUTROS). Ex: $config['ServerEngine'] = 'TFS_10';

- modifique $config['page_admin_access'] com o(s) nome(s) da sua conta de administrador. (Após criar um conta essa a account aqui indicada, ela terá acesso de administrador no site)

- modifique $config['server_path'] com o caminho para o servidor. Ex: $config['server_path'] = '/home/otserv';

 

- Para o site armazenar cache na memória/RAM é preciso instalar a extensão do PHP chamada APCu. Use o seguinte comando:

sudo apt install php-apcu

E mude em 'memory' para true na paste de $config['cache']

 

- Na página de galeria é usado o IMGUR como host de imagem e é preciso registrar o aplicativo com eles e adicionar o ID do cliente/secreto. Para isso use o tutorial do Znote: https://github.com/Znote/ZnoteAAC/wiki/IMGUR-powered-Gallery-page

 

- Para o envio de e-mails do site será usado o PHPMailer. Para usá-lo considere usar a última versão estável lançada do PHPMailer ou você pode ter problemas. Baixe o PHPMailer: https://github.com/PHPMailer/PHPMailer/releases e depois extraia para dentro da pasta "www" (onde este arquivo config.php está localizado) Renomeie a pasta para "PHPMailer". Em seguida, ajuste as configurações de correio SMTP com os dados do seu provedor de e-mail no config.php.

 

Para usar o PHPMailer usando uma conta GMAIL deverá ficar assim:

'host' => "smtp.gmail.com", // Outgoing mail server host.
'securityType' => 'tls', // ssl or tls
'port' => 587, // SMTP port number - likely to be 465(ssl) or 587(tls)
'email' => '[email protected]',
'username' => '[email protected]', // Likely the same as email
'password' => 'email-senha', // The password.

Lembrando que a porta 587 deverá ser aberta no firewall do servidor.

 

- Para usar o recaptcha do google no site você deverá criar uma conta em: https://www.google.com/recaptcha/
E caso queira usar a opção $config['captcha_use_curl'] = true; deverá usar o comando abaixo para instalar a extensão cURL do PHP:

sudo apt install php-curl


- Para trocar a logo da guild é necessário a extensão GD do PHP, para instala-lo basta usar o comando:

sudo apt install php-gd

- Após o comando de instalação do GB, use os comandos a seguir para dar permissão ao arquivo que gera as novas imagens ... 

cd /home/www/engine/function & sudo chmod 777 -R general.php

- Dê permissão também a pasta de cache do site ... 

cd /home/www/engine & sudo chmod 777 -R cache

- Para usar algumas funções do sistema do Pagseguro no ZnoteAAC é necessário instalar o PHP XML, para instala-lo basta usar o comando:

sudo apt install php-xml

 

PASSO 4 - CONFIGURANDO O ZNOTE ACC JUNTO AO NGINX

 

Usando o WinSCP, vá até a pasta /etc/nginx/sites-available/ e altere o default onde tem ...

try_files $uri $uri/ =404;

Por isso: 

index index.html index.php;
try_files $uri $uri/ /index.php?$args;

Fazendo isso, você ativará o mod_rewrite no nginx.

 

Acima dessa linha: 

location / {

Você pode adicionar o código a seguir para mascarar diretórios conhecidos do Znote AAC:

 

	location /LUA {
		deny all;
		return 404;
	}

	location /engine/cache {
		deny all;
		return 404;
	}

	location /special {
		allow 127.0.0.1;
		deny all;
	}

 

Depois das alterações é necessário recarregar o nginx:

sudo systemctl reload nginx

 

A princípio é isso!

 

Siga as atualizações no tópico principal: "Tutorial completo de infraestrutura para montar um servidor TFS 1.x no Ubuntu 22.04" ... 

 

 

Fontes: 

https://github.com/Znote/ZnoteAAC

https://kenfavors.com/code/enabling-nginx-mod_rewrite/

https://github.com/DevelopersPL/otshosting-provisioning

Editado por luanluciano93 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • luanluciano93 mudou o título para Instalando e configurando o ZnoteACC no Ubuntu 22.04
  • 3 weeks later...
  • 1 month later...
Em 12/03/2022 em 00:13, luanluciano93 disse:

Olá, esse tutorial é uma parte do tópico principal: "Tutorial completo de infraestrutura para montar um servidor TF 1.x no Ubuntu 22.04" ... 

Aqui ensinaremos como instalar e configurar o ZnoteACC.

 

PASSO 1 - COMO INSTALAR O ZNOTE ACC

 

O projeto principal do Znote está no github e existem duas ramificações principais:

- A primeira, nomeada de MASTER no github (Znote AAC 1.6) suporta as engines OTHire, TFS 0.2, TFS 0.3/4, TFS 1.3 e Distributions based on these (such as OTX) = https://github.com/Znote/ZnoteAAC/tree/master

- A segunda, nomeada de V2 no github (Znote AAC 2.0) suporta as engines TFS 1.4 ou superior e OTservBR-Global = https://github.com/Znote/ZnoteAAC/tree/v2

 

Portanto, verifique o versão que suporta a engine que você irá usar e faça o download em CODE e depois DOWNLOAD ZIP:

image.png.9b79b23d1640b82dc91ca23312bf6c2a.png

 

Após extrair os arquivos, usando o WinSCP, passe os arquivos para a pasta "www" (criada no tutorial instalando o PHP), localizada em /home/ ....

 

PASSO 2 - IMPORTANDO A DATABASE DO ZNOTE ACC

 

Após passar os arquivos do site para a pasta "www", atualize o seu site no navegador e irá aparecer isso: 

 

image.thumb.png.d71df0fc67e7b3e972c94de87907a303.png

Clicando no link "Znote ACC shema", irá baixar a database do site Znote que precisará ser importada no phpmyadmin.

 

Para isso, entre em seu phpmyadmin pelo navegador (IP/phpmyadmin, ou o outro destino que você escolheu conforme o tópico de instalação do phpmyadmin

image.png.cab77db42e4b6f52d551dd4ebcdbfd28.png

 

Entre na dabatase criada para o servidor, conforme explicado na tutorial de configuração do servidor, e agora clique em "IMPORTAR" e depois em "escolher arquivo":

 

image.png.11f58a72e0369479eced4ae755f82928.png

 

E então selecione o arquivo que você baixou clicando no link "Znote ACC shema" . Se você não tiver um arquivo, use o padrão do ZNOTE ACC: https://raw.githubusercontent.com/Znote/ZnoteAAC/master/engine/database/znote_schema.sql

 

E por fim, clique em EXECUTAR.

 

image.png.1a2689ce2d10044c78f2d66ac1e9dc21.png

 

Para finalizar a conexão do site com o banco de dados da máquina, com o WinSCP entre em /home/www/config.php e ajuste os dados da conexão mysql: 

 

image.thumb.png.bbc10b87b569ac3df6ce6fdb0843ccfd.png

 

Salve e teste novamente a conexão do site pelo navegador.

 

PASSO 3 - CONFIGURANDO O ZNOTE ACC

 

Com o WinSCP entre novamente em /home/www/config.php e ajuste todas as configurações conforme a sua necessidade, Irei cimentar sobre algumas mais importantes ...

 

- modifique $config['ServerEngine'] com a versão correta do TFS que você está executando. (TFS_02, TFS_03, TFS_10, OUTROS). Ex: $config['ServerEngine'] = 'TFS_10';

- modifique $config['page_admin_access'] com o(s) nome(s) da sua conta de administrador. (Após criar um conta essa a account aqui indicada, ela terá acesso de administrador no site)

- modifique $config['server_path'] com o caminho para o servidor. Ex: $config['server_path'] = '/home/otserv';

 

- Para o site armazenar cache na memória/RAM é preciso instalar a extensão do PHP chamada APCu. Use o seguinte comando:


sudo apt install php-apcu

E mude em 'memory' para true na paste de $config['cache']

 

- Na página de galeria é usado o IMGUR como host de imagem e é preciso registrar o aplicativo com eles e adicionar o ID do cliente/secreto. Para isso use o tutorial do Znote: https://github.com/Znote/ZnoteAAC/wiki/IMGUR-powered-Gallery-page

 

- Para o envio de e-mails do site será usado o PHPMailer. Para usá-lo considere usar a última versão estável lançada do PHPMailer ou você pode ter problemas. Baixe o PHPMailer: https://github.com/PHPMailer/PHPMailer/releases e depois extraia para dentro da pasta "www" (onde este arquivo config.php está localizado) Renomeie a pasta para "PHPMailer". Em seguida, ajuste as configurações de correio SMTP com os dados do seu provedor de e-mail no config.php.

 

Para usar o PHPMailer usando uma conta GMAIL deverá ficar assim:


'host' => "smtp.gmail.com", // Outgoing mail server host.
'securityType' => 'tls', // ssl or tls
'port' => 587, // SMTP port number - likely to be 465(ssl) or 587(tls)
'email' => '[email protected]',
'username' => '[email protected]', // Likely the same as email
'password' => 'email-senha', // The password.

Lembrando que a porta 587 deverá ser aberta no firewall do servidor.

 

- Para usar o recaptcha do google no site você deverá criar uma conta em: https://www.google.com/recaptcha/
E caso queira usar a opção $config['captcha_use_curl'] = true; deverá usar o comando abaixo para instalar a extensão cURL do PHP:


sudo apt install php-curl

 

 

PASSO 4 - CONFIGURANDO O ZNOTE ACC JUNTO AO NGINX

 

Usando o WinSCP, vá até a pasta /etc/nginx/sites-available/ e altere o default onde tem ...


try_files $uri $uri/ =404;

Por isso: 


index index.html index.php;
try_files $uri $uri/ /index.php?$args;

Fazendo isso, você ativará o mod_rewrite no nginx.

 

Acima dessa linha: 


location / {

Você pode adicionar o código a seguir para mascarar diretórios conhecidos do Znote AAC:

 


	location /LUA {
		deny all;
		return 404;
	}

	location /engine/cache {
		deny all;
		return 404;
	}

	location /special {
		allow 127.0.0.1;
		deny all;
	}

 

Depois das alterações é necessário recarregar o nginx:


sudo systemctl reload nginx

 

A princípio é isso!

 

Siga as atualizações no tópico principal: "Tutorial completo de infraestrutura para montar um servidor TF 1.x no Ubuntu 22.04" ... 

 

 

Fontes: 

https://github.com/Znote/ZnoteAAC

https://kenfavors.com/code/enabling-nginx-mod_rewrite/

https://github.com/DevelopersPL/otshosting-provisioning

apos extrair os arquivos do znote o meu site para de funcionar

Esta página não está funcionando no momento

vps41280.publiccloud.com.br não pode lidar com esta solicitação no momento.

HTTP ERROR 500
recebo esse erro, porém fiz o restante do tutorial completo mais mesmo assim n consigo colocar o site pra funcionar
 
Link para o post
Compartilhar em outros sites

@erickk você seguiu todos os tutoriais ou apenas o do znote? O seu PHP e o seu NGINX estão funcionando?

TOPICO ~ 

Adicionado extensão GD do PHP, que é usada na troca do logo da guild no website.



 

Editado por luanluciano93 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
Em 07/09/2022 em 00:29, luanluciano93 disse:

@erickk você seguiu todos os tutoriais ou apenas o do znote? O seu PHP e o seu NGINX estão funcionando?

TOPICO ~ 

Adicionado extensão GD do PHP, que é usada na troca do logo da guild no website.



 

reinstalei o servidor da maquina virtual e refiz todo o tutorial ai deu certo, uma duvida você teria algum tutorial ensinando configurar o site? não sei mexer nele ai n consigo criar conta sempre me aparece erro estou procurando pelo forum porém não encontrei se puder me ajudar agradeço

Register Account


Fatal error: Uncaught mysqli_sql_exception: Unknown column 'creation' in 'field list' in /home/www/engine/database/connect.php:90 Stack trace: #0 /home/www/engine/database/connect.php(90): mysqli_query() #1 /home/www/engine/database/connect.php(80): voidQuery() #2 /home/www/engine/function/users.php(1004): mysql_insert() #3 /home/www/register.php(139): user_create_account() #4 {main} thrown in /home/www/engine/database/connect.php on line 90

Link para o post
Compartilhar em outros sites
Em 08/09/2022 em 20:40, erickk disse:

reinstalei o servidor da maquina virtual e refiz todo o tutorial ai deu certo, uma duvida você teria algum tutorial ensinando configurar o site? não sei mexer nele ai n consigo criar conta sempre me aparece erro estou procurando pelo forum porém não encontrei se puder me ajudar agradeço

Register Account


Fatal error: Uncaught mysqli_sql_exception: Unknown column 'creation' in 'field list' in /home/www/engine/database/connect.php:90 Stack trace: #0 /home/www/engine/database/connect.php(90): mysqli_query() #1 /home/www/engine/database/connect.php(80): voidQuery() #2 /home/www/engine/function/users.php(1004): mysql_insert() #3 /home/www/register.php(139): user_create_account() #4 {main} thrown in /home/www/engine/database/connect.php on line 90

Provavelmente você pulou a parte do tutorial sobre add as tabelas e colunas do site no banco de dados, revise o tutorial.

Link para o post
Compartilhar em outros sites
  • 2 months later...

bom dia!

 

após a etapa de carregar a database, o meu site tá dando erro, aparece isso aqui quando acesso meu IP:

 

Fatal error: Uncaught mysqli_sql_exception: Connection refused in /home/www/engine/database/connect.php:34 Stack trace: #0 /home/www/engine/database/connect.php(34): mysqli->__construct() #1 /home/www/engine/init.php(38): require_once('...') #2 /home/www/index.php(2): require_once('...') #3 {main} thrown in /home/www/engine/database/connect.php on line 34

 

Alguma ideia de cocmo resolver?

 

a linha 34 do arquivo connect.php é:

 

$connect = new mysqli($config['sqlHost'], $config['sqlUser'], $config['sqlPassword'], $config['sqlDatabase']);
 
obs: já fiz o passo 3 tbm, mas continuo tendo esse msm erro. O passo 4 eu n fiz.
 
mto obrigado pela atenção <3
 
atencisamente,
tinky~
Link para o post
Compartilhar em outros sites
  • Moderador
7 horas atrás, tinkywinky disse:

bom dia!

 

após a etapa de carregar a database, o meu site tá dando erro, aparece isso aqui quando acesso meu IP:

 

Fatal error: Uncaught mysqli_sql_exception: Connection refused in /home/www/engine/database/connect.php:34 Stack trace: #0 /home/www/engine/database/connect.php(34): mysqli->__construct() #1 /home/www/engine/init.php(38): require_once('...') #2 /home/www/index.php(2): require_once('...') #3 {main} thrown in /home/www/engine/database/connect.php on line 34

 

Alguma ideia de cocmo resolver?

 

a linha 34 do arquivo connect.php é:

 

$connect = new mysqli($config['sqlHost'], $config['sqlUser'], $config['sqlPassword'], $config['sqlDatabase']);
 
obs: já fiz o passo 3 tbm, mas continuo tendo esse msm erro. O passo 4 eu n fiz.
 
mto obrigado pela atenção <3
 
atencisamente,
tinky~

Olá, bom dia tudo bem?
Está dando conexão recusada.
$config['sqlHost'] qual ip está configurado nessa variavel?
As vezes pode ser a permissão do mysql.

Link para o post
Compartilhar em outros sites

Olá! Consegui resolver o problema da conexão do site com a database. Mas agora estou com problema na hora de importar a database.

 

Eu estou usando a database que vc botou no post "znote_schema.sql"

 

Eu consigo importar, aparecem as tabelas lá e tudo mais. Porém, aparece o seguinte erro ao final da importação:

 

-- Convert existing accounts in database to be Znote AAC compatibleINSERT INTO `znote_accounts` (`account_id`, `ip`, `created`, `flag`)SELECT  `a`.`id` AS `account_id`,  0 AS `ip`,  UNIX_TIMESTAMP(CURDATE()) AS `created`,  '' AS `flag`FROM `accounts` AS `a`LEFT JOIN `znote_accounts` AS `z`  ON `a`.`id` = `z`.`account_id`WHERE `z`.`created` IS NULL;

Mensagens do MySQL : 
#1146 - Tabela 'classicstyller860.accounts' não existe

 

E quando entro no site pelo IP da minha máquina aparece assim:

Fatal error: Uncaught mysqli_sql_exception: Table 'classicstyller860.players' doesn't exist in /home/www/engine/database/connect.php:66 Stack trace: #0 /home/www/engine/database/connect.php(66): mysqli_query() #1 /home/www/engine/function/users.php(146): mysql_select_multi() #2 /home/www/layout/sub/index.php(35): fetchAllNews() #3 /home/www/index.php(11): include('...') #4 {main} thrown in /home/www/engine/database/connect.php on line 66

 

Sabe como posso resolver isso?

é como se a database q to importando não tivesse as colunas que o site exige... 

Editado por tinkywinky (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   1 membro está online

  • Conteúdo Similar

    • Por Qwizer
      MercadoPago Checkout Transparente (CC)
       
      Abaixo Segue código PHP de pagamento via cartão de credito pelo mercado pago com retorno automático para quem quiser adaptar em seus sites ter uma direção de onde ir 
      testado em Znote e MyAcc.
       

       
       
      https://mega.nz/folder/m4QkWBLS#PIvJ_scVm7w8-5FLlStTHg  
    • Por luanluciano93
      Olá, esse tutorial é uma parte do tópico principal: "Tutorial completo de infraestrutura para montar um servidor TFS 1.x no Ubuntu 22.04" ... 
       
      Aqui ensinaremos como compilar o código fonte do TFS na máquina LINUX e posterior configurar o servidor.
       
      PASSO 1 - COMPILANDO TFS NO UBUNTU
       
      Primeiramente, devemos instalar os softwares necessários. O comando a seguir instalará o CMake, um compilador e as bibliotecas usadas pelo TFS. Após usar o comando digite Y para aceitar a instalação.
      sudo apt install cmake build-essential libluajit-5.1-dev libmysqlclient-dev libboost-system-dev libboost-iostreams-dev libboost-filesystem-dev libpugixml-dev libcrypto++-dev libfmt-dev libboost-date-time-dev  
      Caso ainda não tenha criado a pasta do servidor (como foi dito no tutorial de instalação do PHP), use o comando a seguir para criar a pasta:
      sudo mkdir /home/otserv  
      E depois vá até a pasta usando o comando: 
      cd /home/otserv  
      Agora, usando o WinSCP vá até a pasta /home/otserv/ e jogue a pasta de seu servidor ai dentro ... 
       
      Antes deve estar assim: (se você seguiu o tutorial de instalação do PHP)
         
       
      Depois, os arquivos transferidos devem ser esses!

       
      Caso você não tenha os arquivos necessários, use:
      - TFS atual: https://github.com/otland/forgottenserver
      - TFS Nekiro's 8.60 Downgrade: https://github.com/nekiro/TFS-1.5-Downgrades/tree/8.60
       
      Após transferido os arquivos, use o comando abaixo para criar a pasta BUILD e entrar nela: 
      mkdir build && cd build E depois, use o comando do compilador: 
      cmake ..  
      Agora use o comando para compilar o código fonte do TFS:
      make  
      E pronto, o código fonte foi compilado e gerou um arquivo "tfs", agora use o comando a seguir para mover o TFS para a pasta do servidor e voltar para a pasta anterior.
      mv tfs .. && cd .. Ficando assim na pasta "otserv": 

       
      PASSO 2 - IMPORTANDO DATABASE E AJUSTANDO CONEXÃO PELO CONFIG.LUA
       
      Entre em seu phpmyadmin pelo navegador (IP/phpmyadmin, ou o outro destino que você escolheu conforme o tópico de instalação do phpmyadmin) 

      Depois clique em "novo" para criar um novo banco de dados:
       
       
      E depois de digitar o nome do novo banco de dados, clique em "criar": 

       
      Agora clique em "IMPORTAR" e depois em "escolher arquivo":

      E então selecione o arquivo padrão de database. Se você não tiver um arquivo padrão, use a do TFS: https://raw.githubusercontent.com/otland/forgottenserver/master/schema.sql
       
      E por fim, clique em EXECUTAR.

       
       
      No arquivo config.lua.dist você deve ajustar o dados para a conexão com o banco de dados: 
       
      -- MySQL mysqlHost = "127.0.0.1" mysqlUser = "forgottenserver" mysqlPass = "" mysqlDatabase = "forgottenserver" mysqlPort = 3306 mysqlSock = ""  
      (você pode incluir o caminho do mysqlSock para mysqlSock = "/var/run/mysqld/mysqld.sock"
       
      PASSO 3 - LIGANDO SEU SERVIDOR TFS NO UBUNTU E CRIANDO ARQUIVO AUTO RESTART
       
      Para prosseguirmos será necessária a instalação do SCREEN em sua máquina, veja o tutorial que explica o que ele é, para que server e ensina instala-lo: AQUI.
       
      Após a instalação, vamos criar um SCREEN para rodar o servidor chamada TFS ... 
      screen -S TFS  
      E após, usando o WinSCP, vá até a pasta do seu servidor em /home/otserv/ e crie um arquivo chamado "restart.sh" e coloque isso dentro dele:
      #!/bin/bash # to get 'ts' command: sudo apt install moreutils # to get 'crc32' command: sudo apt install libarchive-zip-perl BINARY_NAME=tfs MYSQL_USER=xxxx MYSQL_PASS=yyyy MYSQL_DATABASE=zzzz mkdir console mkdir crashlog mkdir mysql_backup # Permitir despejos de nucleo ulimit -c unlimited # Laco principal while true; do     # Backup do banco de dados, e o melhor momento para fazer a copia do banco de dados, o OTS esta offline com certeza, entao nao pode haver nenhum clone de item.     mysqldump -u $MYSQL_USER -p$MYSQL_PASS $MYSQL_DATABASE > mysql_backup/`date '+%Y-%m-%d_%H-%M'`.sql     # Compactar em gzip com mais de 3 dias.     find console/ -name "*.log" -mtime +3 -print -exec gzip -f {} \;     find crashlog/ -name "*.bin" -mtime +3  -print -exec gzip -f {} \;     find crashlog/ -name "*.core" -mtime +3  -print -exec gzip -f {} \;     find mysql_backup/ -name "*.sql" -mtime +3  -print -exec gzip -f {} \;     BINARY_WITH_HASH=`date '+%Y-%m-%d_%H-%M'`_`crc32 $BINARY_NAME`     # copie o arquivo binário atual, você precisa do binário desde o momento da falha para executá-lo no gdb.     cp $BINARY_NAME crashlog/$BINARY_WITH_HASH.bin     # iniciar servidor     # se o seu servidor já imprime a data com cada linha no console, você pode remover "| ts '%Y-%m-%d_%H-%M-%.S'"     stdbuf -o 0 ./$BINARY_NAME 2>&1 | ts '%Y-%m-%d_%H-%M-%.S' | tee 'console.log'     cat 'console.log' >> 'console/console_'`date '+%Y-%m-%d'`'.log';     mv core crashlog/$BINARY_WITH_HASH.core     echo INICIAR A ESPERA POR 3 SEGUNDOS, PRESSIONE CTRL+C PARA DESLIGAR O RESTARTER     sleep 3     echo FIM DA ESPERA done  
      Em seguida, dar permissão ao arquivo "restart,sh" com o comando: 
      sudo chmod 777 -R restart.sh  
      Logo, instale os programas necessários para o restart funcionar corretamente:
      sudo apt install moreutils sudo apt install libarchive-zip-perl Posterior, configure o restart.sh com os dados corretos para a conexão SQL: troque onde esta xxxx, zzzz, yyyy

      Para o restarter criar o arquivo core é necessário desativar o serviço apport no sistema com o comando:
      sudo systemctl stop apport.service sudo systemctl disable apport.service Depois de desativar, use o comando a seguir para ver se está ativo o core, você terá que ter como resposta: core
      cat /proc/sys/kernel/core_pattern  
      E por fim, iniciar o uso do arquivo "restart.sh" com o comando:
      ./restart.sh  
      A princípio é isso!
       
      Siga as atualizações no tópico principal: "Tutorial completo de infraestrutura para montar um servidor TFS 1.x no Ubuntu 22.04" ... 
       
       
      Fontes: 
      - https://github.com/otland/forgottenserver/wiki/Compiling-on-Ubuntu
       
       
       
       
       
    • Por luanluciano93
      Olá, esse tutorial é uma parte do tópico principal: "Tutorial completo de infraestrutura para montar um servidor TFS 1.x no Ubuntu 22.04" ... 

      Ele faz parte da 3º instalação da pilha LEMP no Ubuntu 22.04: o PHP.
       
      PASSO 1 - COMO INSTALAR O PHP
       
      Você já tem instalado o Nginx para exibir seu conteúdo web e o MySQL para armazenar e gerenciar seus dados. Agora, você pode instalar o PHP para processar os códigos e gerar conteúdo dinâmico para o servidor Web.

      - Enquanto o Apache incorpora o interpretador PHP em cada solicitação, o Nginx necessita de um programa externo para lidar com o processamento PHP e atuar como uma ponte entre o próprio interpretador PHP e o servidor web. Isso permite um desempenho global melhor na maioria dos sites baseados em PHP, mas exige configuração adicional. Será necessário instalar o php-fpm, que significa “Gerenciador de processos PHP fastCGI”, e dizer ao Nginx para enviar as solicitações PHP para esse software para processamento.

      - Adicionalmente, você precisará do php-mysql php-mysqlnd, um módulo PHP que permite ao PHP se comunicar com os bancos de dados baseados em MySQL. Os pacotes básicos do PHP serão instalados automaticamente como dependências.

      Para instalar os pacotes php-fpm e php-mysql, execute e depois aperte Y para aceitar a instalação:
      sudo apt install php-fpm php-mysqlnd Agora confira o status do PHP-FPM para ver se ele está corretamente ativo: 
      sudo systemctl status php8.1-fpm Deve aparecer algo assim:

       
      Como vocês podem ver em verde: active (running), ou seja, está ativo e funcionando.
       
      PASSO 2 - CONFIGURAÇÕES DO PHP JUNTO AO NGINX
       
      Crie duas pastas com os comandos: 
      sudo mkdir /home/otserv sudo mkdir /home/www A pasta criada "otserv" é onde iremos deixar os arquivos do servidor e a pasta "www" que irá conter os arquivos do site.
       
      Usando o WinSCP, vá até a pasta /etc/nginx/sites-available/ e substitua o conteúdo do arquivo default por esse: https://raw.githubusercontent.com/luanluciano93/ESTUDOS/master/infraestrutura/default_nginx
       
      Quando estiver pronto, recarregue o nginx para aplicar as alterações:
      sudo systemctl reload nginx Agora, com o WinSCP vá até /home/www/ e crie um arquivo com o nome index.php e coloque isso dentro: <?php phpinfo(); ?>
       
      Após feito isso, entre com seu IP ou DOMÍNIO pelo navegador, e deverá aparecer as informações do PHP.

       
      PASSO 3 - CONFIGURAÇÕES DO PHP
       
      Com o WinScp, vá até o arquivo /etc/php/8.1/fpm/php.ini e altere: 
      ignore_repeated_errors = Off Para: 
      ignore_repeated_errors = On Altere: 
      ;date.timezone = Para: 
      date.timezone = America/Sao_Paulo Altere: 
      post_max_size = 8M Para: 
      post_max_size = 64M Altere: 
      upload_max_filesize = 2M Para: 
      upload_max_filesize = 64M  
      Após feito as alterações use o comando para dar reload no php-fpm: 
      sudo systemctl reload php8.1-fpm  
      A princípio é isso!
       
      Siga as atualizações no tópico principal: "Tutorial completo de infraestrutura para montar um servidor TFS 1.x no Ubuntu 22.04" ... 
       
       
      Fontes: 
      - https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-20-04-pt
      - https://conectandonet.com.br/blog/como-instalar-a-pilha-lemp-no-ubuntu-20-04-server-desktop/
       
       
       
       
    • Por luanluciano93
      Esse tutorial será composto por vários passo-a-passo (tópicos) de como montar toda a infraestrutura para deixar um servidor TFS 1.x online no Linux Ubuntu 22.04.
       
      INICIANDO A MÁQUINA LINUX
       
      É importante que toda vez que você entrar em sua máquina UBUNTU você atualize os pacotes já instalados para as versões mais recentes com o comando: 
      sudo apt update E depois procure por novos pacotes de atualização para a versão do UBUNTU instalado. (em alguns casos irá perguntar se você realmente deseja instalar determinado pacote, digite Y (yes - sim) e depois ENTER.
      sudo apt upgrade
      PILHA LEMP
      - Inicialmente você deve entender que as versões mais atuais do TFS suportam apenas o MySQL como armazenamento de banco de dados e não usam mais "account manager" no jogo para criação de contas, portanto você deverá ter um site para isto.
      - Para usar um site você deverá instalar o pacote de pilha conhecido como LEMP, que basicamente é um grupo de programas com a abreviação de LINUX - ENGINE X (nginx) - MySQL ou MariaDB (no caso usaremos a MariaDB) - PHP.
      - Para quem é mais leigo, é interessante saber que o Nginx é um servidor web (irá mostrar as páginas web), o MariaDB é programa de armazenamento e gerenciamento de dados do banco de dados e o PHP serve para processar código e gerar conteúdo dinâmico para o servidor Web.

      1 - TUTORIAL DE COMO INSTALAR O NGINX NO UBUNTU 22.04
      2 - TUTORIAL DE COMO INSTALAR O MARIADB NO UBUNTU 22.04
      3 - TUTORIAL DE COMO INSTALAR O PHP NO UBUNTU 22.04
       
      PHPMYADMIN
      - Apesar de já termos instalado o programa MariaDB que armazena e gerencia os dados de seu projeto, sabemos que não é muito fácil manipular os dados apenas por comandos no prompt (ainda mais por leigos) .. diante disso, iremos usar o PHPMYADMIN, que através de um interface web, realiza as ações no banco de dados de forma fácil e prática ...

      - TUTORIAL DE COMO INSTALAR O PHPMYADMIN NO UBUNTU 22.04 
       
      AJUSTANDO O TIMEZONE
       
      - Muitas máquina vem com o horário diferente do horário de sua região, para ver a hora da máquina basta usar o comando: 
      date  
      Se estiver diferente, você poderá usar o seguinte comando: 
      sudo timedatectl set-timezone America/Sao_Paulo Com o comando acima, você estará mudando a timezone para "America/Sao_Paulo", ou seja, ficará com o horário local do estado de São Paulo.
       
      Caso queira encontrar outra timezone, digite: 
      timedatectl list-timezones Para sair da lista use CTRL+C.
       
      Aposta feita a alteração, é necessário reiniciar a máquina: 
      sudo shutdown -r now E depois testar novamente.
       
      COMPILAR E CONFIGURAR TFS

      - TUTORIAL DE COMO COMPILAR E CONFIGURAR O TFS NO UBUNTU 22.04
       
      INSTALAR E CONFIGURAR SITE
      Existem, hoje em dia, várias opções de sites para otservs, e com o tempo quero fazer um tutorial para cada um ...

      - TUTORIAL DE COMO INSTALAR E CONFIGURAR O ZNOTE ACC NO UBUNTU 22.04
       
      Esse tópico estará em constante atualização .. e cada mudança irei informar nos comentários. Bom uso!
    • Por luanluciano93
      Olá, esse tutorial é uma parte do tópico principal: "Tutorial completo de infraestrutura para montar um servidor TFS 1.x no Ubuntu 22.04" ... 
       
      Ele tem o objetivo de ensinar como tornar o seu website mais seguro obtendo um certificado SSL gratuito, habilitando HTTPS criptografados em servidores web. Você usará o Certbot para obter um certificado SSL gratuito para o Nginx no Ubuntu 22.04 e configurar seu certificado para ser renovado automaticamente.
       
      PASSO 1 - INSTALANDO O CERTBOT:
       
      Vamos usar o Let’s Encrypt para obter um certificado SSL, portanto vamos instalar o software Certbot e seu plug-in do Nginx para realizar essa tarefa. Use o comando a seguir no terminal linux:
      sudo apt install certbot python3-certbot-nginx  
      PASSO 2 - CONFIGURANDO O NGINX:
       
      O Certbot pode configurar automaticamente o SSL para o Nginx, porem ele precisa encontrar o bloco de server correto na sua configuração. Ele faz isso procurando uma diretiva server_name que corresponda ao domínio para o qual você está solicitando um certificado. Se você está começando com uma nova instalação do Nginx, você pode atualizar o arquivo de configuração padrão. Abra-o com o seu editor de texto favorito em /etc/nginx/sites-available/default e encontre a linha server_name existente e substitua o sublinhado _ pelo seu nome de domínio, como no exemplo: "server_name exemplo.com", você pode também colocar mais de um domínio ou subdomínios: "server_name exemplo.com www.exemplo.com". Salve o arquivo e saia do seu editor.

      Recarregue o Nginx para carregar a nova configuração usando o comando a seguir no terminal linux:
      sudo systemctl reload nginx O Certbot agora consegue encontrar o bloco de server correto e atualizá-lo automaticamente.

      PASSO 3 - OBTENÇÃO DE UM CERTIFICADO SSL:
       
      ATENÇÃO: Antes de começar esse passo, você precisa apontar o DNS do domínio/subdomínio para o IP da máquina onde está ocorrendo a instalação do certificado.

      O Certbot fornece uma variedade de maneiras de obter certificados SSL, através de vários plug-ins. O plug-in Nginx irá cuidar de reconfigurar o Nginx e recarregar a configuração sempre que necessário. Use o comando a seguir no terminal linux:
      sudo certbot --nginx -d exemplo.com Onde está exemplo no comando acima mude para o seu domínio.
       
      Se quiser pode adicionar mais domínios e/ou subdomínios:
      sudo certbot --nginx -d exemplo.com -d www.exemplo.com Se esta for sua primeira vez executando o Certbot , você será solicitado a digitar um endereço de e-mail e concordar com os termos de serviço. 

      Depois disso, o Certbot se comunicará com o servidor Let's Encrypt e executará um desafio para verificar se você controla o domínio para o qual está solicitando um certificado. Se isso for bem-sucedido, o Certbot perguntará como você gostaria de definir suas configurações de HTTPS. 

      Saída Por favor, escolha se deseja ou não redirecionar o tráfego HTTP para HTTPS, removendo o acesso HTTP. -------------------------------------------------- ----------------------------- 1: Nenhum redirecionamento - Não faça mais alterações na configuração do servidor da web. 2: Redirecionar - Redirecionar todas as solicitações para o acesso HTTPS seguro. Escolha isto para novos sites ou se tiver certeza de que seu site funciona em HTTPS. Você pode desfazer isso mudar editando a configuração do seu servidor web. -------------------------------------------------- ----------------------------- Selecione o número apropriado [1-2] e depois [enter] (pressione 'c' para cancelar):  
      Selecione sua escolha e pressione ENTER . A configuração será atualizada e o Nginx será recarregado para pegar as novas configurações. O Certbot irá finalizar com uma mensagem informando que o processo foi bem sucedido e onde seus
      certificados estão armazenados:
       
      Saída ANOTAÇÕES IMPORTANTES: Parabéns! Seu certificado e cadeia foram salvos em /etc/letsencrypt/live/example.com/fullchain.pem. Seu certificado expiram em 2017-10-23. Para obter uma versão nova ou ajustada deste certificado no futuro, simplesmente execute certbot novamente com o opção "certonly". Renovar de forma não interativa * todos * os seus certificados, execute "certbot renew" - As credenciais da sua conta foram salvas no seu Certbot diretório de configuração em / etc / letsencrypt. Você deveria fazer um backup seguro desta pasta agora. Este diretório de configuração também contém certificados e chaves privadas obtidos pela Certbot assim fazer backups regulares desta pasta é ideal. - Se você gosta do Certbot, considere apoiar nosso trabalho: Doando para ISRG / Let's Encrypt: https://letsencrypt.org/donate Doando para a EFF: https://eff.org/donate-le  
      Seus certificados são baixados, instalados e carregados automaticamente. Tente recarregar seu site usando https:// e observe o indicador de segurança do seu navegador. Ele deve indicar que o site está protegido corretamente, geralmente com um ícone de cadeado verde. Vamos terminar testando o processo de renovação.
       
      PASSO 4 - RENOVAÇÃO AUTOMÁTICA DO CERTIFICADO SSL:
       
      Os certificados da Let’s Encrypt possuem validade de apenas 90 dias. Isso visa incentivar os usuários a automatizar o processo de renovação de certificados. O pacote Certbot que instalamos cuida disso, adicionando um temporizador systemd que será executado duas vezes por dia e renovará automaticamente qualquer certificado que esteja dentro de 30 dias da expiração.
       
      Você pode consultar o status do temporizador com o systemctl usando o seguinte comando no terminal linux:
      sudo systemctl status certbot.timer
      Ele deve retornar a mensagem: 
       
      Resultado: ● certbot.timer - execute o certbot duas vezes por dia Carregado: carregado (/lib/systemd/system/certbot.timer; ativado; predefinição de fornecedor: ativado) Ativo: ativo (em espera) desde Seg 2020-05-04 20:04:36 UTC; 2 semanas 1 dias atrás Disparador: Qui 2020-05-21 05:22:32 UTC; 9h restantes Gatilhos: ● certbot.service  
      Para testar o processo de renovação, você pode realizar uma simulação com o Certbot usando o seguinte comando no terminal linux: 
      sudo certbot renew --dry-run Se não aparecerem erros, tudo funcionou. Quando necessário, o Certbot renovará seus certificados e recarregará o Nginx para aplicar as alterações. Se o processo de renovação automatizada alguma vez falhar, a Let’s Encrypt enviará uma mensagem para o e-mail que você especificou, informando quando o certificado vai expirar.
       
      PASSO 5 - PERMITINDO O TRÁFEGO HTTPS PELO FIREWALL:
       
      Para permitir adicionalmente o tráfego HTTPS, podemos permitir o perfil Completo Nginx e, em seguida, excluir a tolerância do perfil HTTP Nginx redundante, use os seguintes comandos no terminal linux:
      sudo ufw allow 'Nginx Full' sudo ufw delete allow 'Nginx HTTP'  
      Para verificar as regras ativas no firewall UFW use o seguinte comando no terminal linux:
      sudo ufw status A mensagem de retorno deve ter algo parecido com isso:
      Output Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx Full ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx Full (v6) ALLOW Anywhere (v6)  
      Agora estamos prontos para executar o Certbot e buscar nossos certificados.
       
      A princípio é isso!
       
      Siga as atualizações no tópico principal: "Tutorial completo de infraestrutura para montar um servidor TFS 1.x no Ubuntu 22.04" ... 
       
      Fontes: 
      - https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-20-04
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo