Jump to content

Rodando Um Otserv Em Linux (Debian)


Recommended Posts

Fiz esse tutorial para minha base de conhecimento hoje, visto que alguns clientes compram VPS para rodar otservers, e embora não tenham noção de linux, preferem este sistema por ser mais seguro, ou estavel, ou simplesmente por ser mais dificil.. rsrs

 

 

Tutorial - Rodando um OTServ em Linux (debian)

 

Este é um guia para você que acaba de pegar um vps/dedicado Linux e pretende rodar um OT. O Linux apesar de assustar de inicio, principalmente por não dispor de uma interface grafica (a não ser em casos onde você use o vnc, mas não é o foco deste tutorial), é um grande SO, principalmente quando se trata de gerenciamento de memória, segurança e estabilidade. Neste tutorial vamos fazer uso do Debian 6 64bits e um OT 8.6, apesar de servir para qualquer versão, desde que tenha as sources.

 
Programas necessários:
Putty - Necessário para administrar o vps, via SSH.
FileZilla - Ftp, utilizado para enviar seus arquivos para o vps.
 
Ao contratar um vps, você receberá um email contendo o IP e senha root do seu novo servidor. Aqui nós abrimos o FileZilla para mandarmos o OT para o vps. A tela dele é muito simples:
filezila.png
Em Host você coloca o IP do VPS, usuário é "root", e senha é a que você passou no momento da compra, que também foi enviada para seu email juntamente com o IP.
Basta compactar a pasta do seu ot e as Sources em um arquivo .zip, e copiar para o VPS. Aqui no exemplo usaremos a pasta /home, por questões de organização. Para isso, basta digitar "/home" no espaço Endereço Remoto. 
Caso seu OT tenha SITE, aproveite e mande o mesmo para o vps também.
 
Agora iremos logar no VPS via PUTTY para instalar os arquivos necessários e compilar o tfs. A tela é igualmente simples, bastando adicionar o IP e clicar em Open. A Tela é a seguinte:
 
putty.png
 
Após isso, será aberta uma tela preta, pedindo login. Digite "root", Enter. Será pedido a senha de root, apenas digite, e depois enter novamente. Será exibido o terminal, algo parecido com a tela abaixo:
putty2.png
 
Perfeito. Você está logado. Vamos começar instalando as libs necessárias para o funcionamento do OT, mysql, apache e mais algumas libs que iremos utilizar, com o seguinte comando:
 
apt-get install libboost1.42-dev libboost-system1.42-dev libboost-filesystem1.42-dev libboost-date-time1.42-dev libboost-regex1.42-dev libboost-thread1.42-dev libgmp3-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 lua5.1 libsqlite0-dev libsqlite3-dev sqlite3 libmysql++-dev libmysqlclient-dev mysql-client-5.1 mysql-server-5.1 mysql-common libxml2-dev libxml++2.6-dev cpp gcc g++ make automake autoconf pkg-config subversion liblua5.1-sql-mysql-dev liblua5.1-sql-sqlite3-dev zlib1g-dev zlib1g libcrypto++-dev libcrypto++8 libcurl4-openssl-dev unzip apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin
 
Pronto. Instalado tudo, estamos prontos para seguir com a compilação. Vá para a pasta /home e descompacte as sources e o ot usando o comando unzip. Por exemplo, caso suas sources estejam em um arquivo chamado sourcez.zip dentro de /home, o comando fica assim:
cd /home [tecle enter]
unzip sources.zip [tecle enter]
 
Em seguida daremos permissão total na pasta, para que não haja problemas. para isso (supondo que a pasta descompactada se chame "sources") execute o comando:
chmod -R 777 sources/ [tecle enter]
 
Entramos na pasta sources com o comando:
cd sources [tecle enter]
 
E compilamos com os seguintes comandos:
./autogen.sh [tecle enter]
./configure --enable-mysql --enable-root-permission [tecle enter]
./build.sh [tecle enter]
 
Compilado. Caso liste o diretório corrente (com o comando "ls") você perceberá um arquivo novo, chamado "theforgottenserver" dentro dessa pasta. Basta copia-lo para a pasta do seu ot. No exemplo, vamos supor que a pasta do ot se chame otserv, e está dentro de /home (ficando /home/otserv) então vc copia o tfs para dentro da pasta do OT com o comando:
cp theforgottenserver /home/otserv [tecle enter]
cd /home/otserv [tecle enter]
chmod 777 theforgottenserver [tecle enter]
 
Agora vamos criar uma DB e importar a database para o mysql. Esta etapa é somente para OTs com site (mysql), podendo ser descartada se você usa account manager e SQLite.
Primeiramente, temos que logar no Mysql e criar uma DB nova para receber a database.sql. Usamos os seguintes comandos:
mysql -u root -p [enter]
aqui será pedido a senha do mysql. Coloque a senha e de enter. Vai abrir o console do Mysql. Nesse exemplo, vamos criar a database com o nome "otserv". Para isso digite o comando:
create database otserv; [enter]
e para sair do console do mysql digite:
exit; [enter]
 
Pronto. Database criada, vamos agora importar a database para essa nova DB que acabamos de criar. Supondo que o arquivo .sql esteja na pasta do ot (/home /otserv) vams ter certeza que estamos nessa pasta, e digitar o comando para importal (supondo que o arquivo contendo a db se chame database.sql)
cd /home/otserv [enter]
mysql -u root -p otserv < database.sql [enter]
 
Perfeito. Vai pedir a senha do mysql, é só digitar e teclar enter. Se não ver nenhuma mensagem de erro, sua DB foi importada com sucesso. Agora só falta o site. Como ja instalamos o apache juntamente com as libs, é somente jogar o site dentro da pasta /var/www e pronto. Site funcionando. Você pode usar o FileZilla para isso.
 
Perfeito. Só rodar o theforgottenserver e ser feliz ;D digite (dentro da pasta /home/otserv):
 
./theforgottenserver [tecle enter]
 
Pronto. Ot Rodando.
Link to comment
Share on other sites

Atualizei o tuto, agora está completaço, editei colocando inclusive os pacotes do apache, mysql e phpmyadmin, e também a parte de importar a DB, ja que por ser um arquivo grande, a maioria tenta usar o phpmyadmin e não consegue. Caso ele ja tenha visto, pede pra ele dar F5 na pagina ai :)

Link to comment
Share on other sites

Alguém sabe informar como resolver esse erros?
 
 
 
:~# apt-get install libboost1.42-dev libboost-system1.42-dev libboost-filesystem1.42-dev libboost-date-time1.42-dev libboost-regex1.42-dev libboost-thread1.42-dev libgmp3-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 lua5.1 libsqlite0-dev libsqlite3-dev sqlite3 libmysql++-dev libmysqlclient-dev mysql-client-5.1 mysql-server-5.1 mysql-common libxml2-dev libxml++2.6-dev cpp gcc g++ make automake autoconf pkg-config subversion liblua5.1-sql-mysql-dev liblua5.1-sql-sqlite3-dev zlib1g-dev zlib1g libcrypto++-dev libcrypto++8 libcurl4-openssl-dev unzip apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin
Lendo listas de pacotes... Pronto
Construindo árvore de dependências
Lendo informação de estado... Pronto
Note, a seleccionar 'liblua5.1-0' para a expressão regular 'lua5.1'
O pacote mysql-client-5.1 não está disponível, mas é referenciado por outro pacote.
Isto pode significar que o pacote está faltando, ficou obsoleto ou
está disponível somente a partir de outra fonte
No entanto, os pacotes a seguir o substituem:
  mysql-server-5.5 mysql-client-5.5 mysql-server-core-5.5
 
O pacote mysql-server-5.1 não está disponível, mas é referenciado por outro pacote.
Isto pode significar que o pacote está faltando, ficou obsoleto ou
está disponível somente a partir de outra fonte
No entanto, os pacotes a seguir o substituem:
  mysql-server-5.5 mysql-server-core-5.5
 
O pacote libsqlite0-dev não está disponível, mas é referenciado por outro pacote.
Isto pode significar que o pacote está faltando, ficou obsoleto ou
está disponível somente a partir de outra fonte
 
E: Impossível encontrar o pacote libboost1.42-dev
E: Não foi possível encontrar o pacote através da expressão regular 'libboost1.42-dev'
E: Impossível encontrar o pacote libboost-system1.42-dev
E: Não foi possível encontrar o pacote através da expressão regular 'libboost-system1.42-dev'
E: Impossível encontrar o pacote libboost-filesystem1.42-dev
E: Não foi possível encontrar o pacote através da expressão regular 'libboost-filesystem1.42-dev'
E: Impossível encontrar o pacote libboost-date-time1.42-dev
E: Não foi possível encontrar o pacote através da expressão regular 'libboost-date-time1.42-dev'
E: Impossível encontrar o pacote libboost-regex1.42-dev
E: Não foi possível encontrar o pacote através da expressão regular 'libboost-regex1.42-dev'
E: Impossível encontrar o pacote libboost-thread1.42-dev
E: Não foi possível encontrar o pacote através da expressão regular 'libboost-thread1.42-dev'
E: Impossível encontrar o pacote libgmp3-dev
E: Impossível encontrar o pacote liblua5.1-0-dev
E: Não foi possível encontrar o pacote através da expressão regular 'liblua5.1-0-dev'
E: Impossível encontrar o pacote liblua50-dev
E: Impossível encontrar o pacote liblualib50-dev
E: Impossível encontrar o pacote lua50
E: O pacote 'libsqlite0-dev' não tem candidato para instalação
E: Impossível encontrar o pacote libmysql++-dev
E: Não foi possível encontrar o pacote através da expressão regular 'libmysql++-dev'
E: O pacote 'mysql-client-5.1' não tem candidato para instalação
E: O pacote 'mysql-server-5.1' não tem candidato para instalação
E: Impossível encontrar o pacote libxml++2.6-dev
E: Não foi possível encontrar o pacote através da expressão regular 'libxml++2.6-dev'
E: Impossível encontrar o pacote liblua5.1-sql-mysql-dev
E: Não foi possível encontrar o pacote através da expressão regular 'liblua5.1-sql-mysql-dev'
E: Impossível encontrar o pacote liblua5.1-sql-sqlite3-dev
E: Não foi possível encontrar o pacote através da expressão regular 'liblua5.1-sql-sqlite3-dev'
E: Impossível encontrar o pacote libcrypto++-dev
E: Não foi possível encontrar o pacote através da expressão regular 'libcrypto++-dev'
E: Impossível encontrar o pacote libcrypto++8
E: Não foi possível encontrar o pacote através da expressão regular 'libcrypto++8'
E: Impossível encontrar o pacote libapache2-mod-auth-mysql
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Do you agree with our terms?