SIMPLE ALL IN ONE: From nothing to a fully working dedicated server on Ubuntu

OP
Don Daniello

Don Daniello

/root
Staff member
Administrator
Joined
Apr 11, 2008
Messages
3,522
Best answers
15
Reaction score
930
Location
Proland
@Don Daniello You might want to make it more obvious in the first post that people need to change that. Seems like not everyone does.
It already says:
Now log in as "otsmanager" (default password: "otsmanager") and change your password (passwd command). You will see instructions how to use your server after you log in.
I don't think it can be any more explicit.
 

Merrok

Magic Tomato
Joined
Jun 18, 2009
Messages
77
Best answers
4
Reaction score
90
I don't think it can be any more explicit.
Well i guess it can. I read it as well, but obviously multiple people did not. Of course you can state that it is their own fault, but it is no effort to at least mark it in red. Or change the system so that it requires you to change this users password on the first login. That is possible to do as well.
 

Himii

Premium User
Premium User
Joined
Jan 19, 2011
Messages
1,231
Best answers
5
Reaction score
152
Location
Sweden
Hello, its my first time trying to use a linux host and im getting this error:

Is this error something to do with TASK[git] or does it have to do with localhost?

Im using Ubuntu 16.04, im trying to figure it out but my linux skills are almost non existant right now
appreciate any help or tips!
 

TheGahl

Learning in Progress
Joined
Jul 28, 2018
Messages
200
Best answers
3
Reaction score
119
@Don Daniello
Hello,
Just to get one thing out of the way, I'm very noob as these things (I try the best I can though).

I tried to use your dedi setup.
I noticed it can't be used on Ubuntu 18, lots and lots of errors.. but that's fine for me.. I prefer ubuntu 16

When I try to install the dedi using your stuffs, I get some weird errors that I couldn't google for at all, nothing to be found.
So you're my only hope here.

Install problems in Ubuntu 16.04
Because the full command line didn't work to install everything, I broke them down and tried to install things one by one.
Error 1:
Code:
ansible-pull -i localhost, -U https://github.com/DevelopersPL/otshosting-provisioning.git -d /srv/otshosting-provisioning --purge -t phpMyAdmin
TASK [Set preseed info] ****
fatal: [localhost]: FAILED! => {"failed": true, "msg": "ERROR! 'randompass' is undefined"}

PLAY RECAP *
localhost : ok=8 changed=0 unreachable=0 failed=1
Error 2:
Code:
ansible-pull -i localhost, -U https://github.com/DevelopersPL/otshosting-provisioning.git -d /srv/otshosting-provisioning --purge -t tfs
TASK [Cmake forgottenserver source] ****
fatal: [localhost]: FAILED! => {"changed": true, "cmd": ["cmake", ".."], "delta": "0:00:01.054080", "end": "2019-05-30 18:24:34.805495", "failed": true, "rc": 1, "start": "2019-05-30 18:24:33.751415", "stderr": "CMake Error at /usr/share/cmake-3.5/Modules/FindBoost.cmake:1677 (message):\n Unable to find the requested Boost libraries.\n\n Boost version: 1.58.0\n\n Boost include path: /usr/include\n\n Could not find the following Boost libraries:\n\n boost_filesystem\n\n Some (but not all) of the required Boost libraries were found. You may\n need to install these additional Boost libraries. Alternatively, set\n BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT\n to the location of Boost.\nCall Stack (most recent call first):\n CMakeLists.txt:46 (find_package)", "stdout": "-- The C compiler identification is GNU 5.4.0\n-- The CXX compiler identification is GNU 5.4.0\n-- Check for working C compiler: /usr/bin/cc\n-- Check for working C compiler: /usr/bin/cc -- works\n-- Detecting C compiler ABI info\n-- Detecting C compiler ABI info - done\n-- Detecting C compile features\n-- Detecting C compile features - done\n-- Check for working CXX compiler: /usr/bin/c++\n-- Check for working CXX compiler: /usr/bin/c++ -- works\n-- Detecting CXX compiler ABI info\n-- Detecting CXX compiler ABI info - done\n-- Detecting CXX compile features\n-- Detecting CXX compile features - done\n-- cotire 1.7.6 loaded.\n-- Performing Test COMPILER_KNOWS_CXX11\n-- Performing Test COMPILER_KNOWS_CXX11 - Success\n-- Performing Test COMPILER_KNOWS_STDLIB\n-- Performing Test COMPILER_KNOWS_STDLIB - Failed\n-- Performing Test COMPILER_KNOWS_LTO\n-- Performing Test COMPILER_KNOWS_LTO - Success\n-- Found Crypto++: /usr/include \n-- Found PugiXML: /usr/include \n-- MySQL Include dir: /usr/include/mysql library dir: /usr/lib/x86_64-linux-gnu\n-- MySQL client libraries: /usr/lib/x86_64-linux-gnu/libmysqlclient.so\n-- Looking for pthread.h\n-- Looking for pthread.h - found\n-- Looking for pthread_create\n-- Looking for pthread_create - not found\n-- Looking for pthread_create in pthreads\n-- Looking for pthread_create in pthreads - not found\n-- Looking for pthread_create in pthread\n-- Looking for pthread_create in pthread - found\n-- Found Threads: TRUE \n-- Found LuaJIT: /usr/lib/x86_64-linux-gnu/libluajit-5.1.so;/usr/lib/x86_64-linux-gnu/libm.so (found version \"2.0.4\") \n-- CXX target tfs cotired without unity build.\n-- Configuring incomplete, errors occurred!\nSee also \"/home/otsmanager/forgottenserver/build/CMakeFiles/CMakeOutput.log\".\nSee also \"/home/otsmanager/forgottenserver/build/CMakeFiles/CMakeError.log\".", "stdout_lines": ["-- The C compiler identification is GNU 5.4.0", "-- The CXX compiler identification is GNU 5.4.0", "-- Check for working C compiler: /usr/bin/cc", "-- Check for working C compiler: /usr/bin/cc -- works", "-- Detecting C compiler ABI info", "-- Detecting C compiler ABI info - done", "-- Detecting C compile features", "-- Detecting C compile features - done", "-- Check for working CXX compiler: /usr/bin/c++", "-- Check for working CXX compiler: /usr/bin/c++ -- works", "-- Detecting CXX compiler ABI info", "-- Detecting CXX compiler ABI info - done", "-- Detecting CXX compile features", "-- Detecting CXX compile features - done", "-- cotire 1.7.6 loaded.", "-- Performing Test COMPILER_KNOWS_CXX11", "-- Performing Test COMPILER_KNOWS_CXX11 - Success", "-- Performing Test COMPILER_KNOWS_STDLIB", "-- Performing Test COMPILER_KNOWS_STDLIB - Failed", "-- Performing Test COMPILER_KNOWS_LTO", "-- Performing Test COMPILER_KNOWS_LTO - Success", "-- Found Crypto++: /usr/include ", "-- Found PugiXML: /usr/include ", "-- MySQL Include dir: /usr/include/mysql library dir: /usr/lib/x86_64-linux-gnu", "-- MySQL client libraries: /usr/lib/x86_64-linux-gnu/libmysqlclient.so", "-- Looking for pthread.h", "-- Looking for pthread.h - found", "-- Looking for pthread_create", "-- Looking for pthread_create - not found", "-- Looking for pthread_create in pthreads", "-- Looking for pthread_create in pthreads - not found", "-- Looking for pthread_create in pthread", "-- Looking for pthread_create in pthread - found", "-- Found Threads: TRUE ", "-- Found LuaJIT: /usr/lib/x86_64-linux-gnu/libluajit-5.1.so;/usr/lib/x86_64-linux-gnu/libm.so (found version \"2.0.4\") ", "-- CXX target tfs cotired without unity build.", "-- Configuring incomplete, errors occurred!", "See also \"/home/otsmanager/forgottenserver/build/CMakeFiles/CMakeOutput.log\".", "See also \"/home/otsmanager/forgottenserver/build/CMakeFiles/CMakeError.log\"."], "warnings": []}

PLAY RECAP *
localhost : ok=19 changed=10 unreachable=0 failed=1
Help would be very appreciated!
Thanks in advance :)
 

TheGahl

Learning in Progress
Joined
Jul 28, 2018
Messages
200
Best answers
3
Reaction score
119
@Don Daniello Your install thing doesn't work on ubuntu 18, errors say some ini file wasn't found and address points to a php 7.0 file, while it seems like ubuntu 18 has php 7.2 :(
And I don't know how to work around that :(
 
OP
Don Daniello

Don Daniello

/root
Staff member
Administrator
Joined
Apr 11, 2008
Messages
3,522
Best answers
15
Reaction score
930
Location
Proland
@Don Daniello Your install thing doesn't work on ubuntu 18, errors say some ini file wasn't found and address points to a php 7.0 file, while it seems like ubuntu 18 has php 7.2 :(
And I don't know how to work around that :(
I'll have to update it for 18.04 LTS. It probably doesn't work yet.
 

TheGahl

Learning in Progress
Joined
Jul 28, 2018
Messages
200
Best answers
3
Reaction score
119
I'll have to update it for 18.04 LTS. It probably doesn't work yet.
How long would you expect that to take?
Is there anything I can do meanwhile (trying to install it on my ubuntu 18 laptop) :(

Thanks for reply though :)
 
OP
Don Daniello

Don Daniello

/root
Staff member
Administrator
Joined
Apr 11, 2008
Messages
3,522
Best answers
15
Reaction score
930
Location
Proland
How long would you expect that to take?
Is there anything I can do meanwhile (trying to install it on my ubuntu 18 laptop) :(

Thanks for reply though :)
Try this - it's experimental now:
Bash:
ansible-pull -i localhost, -U https://github.com/DevelopersPL/otshosting-provisioning.git -d /srv/otshosting-provisioning --purge -t default,phpMyAdmin,DevAAC,tfs,tfs-old -C ubuntu1804
 

TheGahl

Learning in Progress
Joined
Jul 28, 2018
Messages
200
Best answers
3
Reaction score
119
Try this - it's experimental now:
Bash:
ansible-pull -i localhost, -U https://github.com/DevelopersPL/otshosting-provisioning.git -d /srv/otshosting-provisioning --purge -t default,phpMyAdmin,DevAAC,tfs,tfs-old -C ubuntu1804
Works fine, thank you! :)
 

Punktheedge

Member
Joined
Jul 2, 2019
Messages
32
Best answers
0
Reaction score
1
Ubuntu is a distribution based on Debian so if you are familiar with Debian, you will know how to use Ubuntu too.
This is the simplest guide how to configure your dedicated server ever. It cannot be simpler :)

You need a recent Ubuntu version (15.04 minimum). It also makes TFS compilation with LuaJIT possible.
Current latest supported (tested) version of Ubuntu is 18.04 - use this version if you can.

This must be a fresh-install, bare system. If you attempted to install anything on it before, reinstall the OS first.

Log in as root and execute:
Bash:
apt update
apt install -y -q python-paramiko python-yaml python-jinja2 python-simplejson git-core ansible aptitude
ansible-pull -i localhost, -U https://github.com/DevelopersPL/otshosting-provisioning.git -d /srv/otshosting-provisioning
Now log in as "otsmanager" (default password: "otsmanager") and change your password (passwd command). You will see instructions how to use your server after you log in.

We also have a detailed documentation for you on how to use your server: Home · DevelopersPL/otshosting-provisioning Wiki · GitHub

Hint: To update, you can run the last command (ansible-pull...) over and over again, even through cron, to make sure you have latest updates for your system and use our newest provisioning scripts.

This will:
  • Create a system user "otsmanager" with password "otsmanager"
  • Install required packages
  • Install and configure MySQL server with daily backups in /var/lib/automysqlbackup
  • Install phpMyAdmin to run at http://yourip:3380
  • Install nginx webserver with PHP5-FPM support. Put your web files in /home/otsmanager/www/public_html
  • Download and compile tfs source into /home/otsmanager/forgottenserver
  • Install auto-restarter and auto-start utility for TFS
  • Create "forgottenserver" database on MySQL server, generate random password and set it in config.lua
  • Import forgottenserver.sql schema into forgottenserver database
  • Install DevAAC. It does not modify your database so if you don't want to use it, just delete contents of /home/otsmanager/www

The whole procedure is tested, safe and secure. If you want to know how it works, check out Ansible is Simple IT Automation and GitHub - DevelopersPL/otshosting-provisioning: Ansible playbook for provisioning of OTS Hosting Ubuntu 15.04+ box.

This is how we install the OTS Hosting Service I am offering. I do not provide direct support or help with using this method. You are only guaranteed support if you purchase my hosting service. It's probably the cheapest way to host your server 24/7 for ~20 EUR / month with DDoS protection.

Feel free to post questions in this thread and issues to the GitHub repository.
[email protected]:~$ start tfs
Failed to connect to bus: No such file or directory
 

ls009

New Member
Joined
Apr 27, 2013
Messages
2
Best answers
0
Reaction score
0
Great server and guide, I got it all working no problemo.
Nice job
 
Last edited:

TheGahl

Learning in Progress
Joined
Jul 28, 2018
Messages
200
Best answers
3
Reaction score
119
@Don Daniello Sorry to bother you again, but I'm trying to compile a TFS 1.2 8.60 server on ubuntu 18 after used your tools,
And it compiles fine, until it's about to link into the tfs file and I get a shitload of errors,
Code:
/home/otsmanager/evoground/source/src/luascript.cpp:3536: undefined reference to `lua_getglobal'
/home/otsmanager/evoground/source/src/luascript.cpp:3543: undefined reference to `lua_getglobal'
/home/otsmanager/evoground/source/src/luascript.cpp:3552: undefined reference to `lua_callk'
CMakeFiles/tfs.dir/src/npc.cpp.o: In function `NpcScriptInterface::registerFunctions()':
/home/otsmanager/evoground/source/src/npc.cpp:502: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:503: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:504: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:505: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:506: undefined reference to `lua_setglobal'
CMakeFiles/tfs.dir/src/npc.cpp.o:/home/otsmanager/evoground/source/src/npc.cpp:507: more undefined references to `lua_setglobal' follow
collect2: error: ld returned 1 exit status
CMakeFiles/tfs.dir/build.make:2003: recipe for target 'tfs' failed
make[2]: *** [tfs] Error 1
CMakeFiles/Makefile2:99: recipe for target 'CMakeFiles/tfs.dir/all' failed
make[1]: *** [CMakeFiles/tfs.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
[email protected]:~/evoground/source/build$
How do I bypass that error to finish the compile? :eek:
 

Phemus

Intermediate OT User
Joined
Jun 16, 2012
Messages
133
Best answers
0
Reaction score
3
Hello, I get this error whenever I use the command log/follow tfs
Code:
No journal files were opened due to insufficient permissions.
 

razr55

Well-Known Member
Joined
Mar 26, 2011
Messages
26
Best answers
0
Reaction score
0
@Don Daniello mine fails at this point. Please help!

TASK [Install wine] ****
fatal: [localhost]: FAILED! => {"cache_update_time": 1569783287, "cache_updated": true, "changed": false, "msg": "'/usr/bin/apt-get -y -o \"Dpkg::Options::=--force-confdef\" -o \"Dpkg::Options::=--force-confold\" install 'wine'' failed: E: Package 'wine' has no installation candidate\n", "rc": 100, "stderr": "E: Package 'wine' has no installation candidate\n", "stderr_lines": ["E: Package 'wine' has no installation candidate"], "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nPackage wine is a virtual package provided by:\n wine-stable 3.0-1ubuntu1\n wine-development 3.6-1\n\n", "stdout_lines": ["Reading package lists...", "Building dependency tree...", "Reading state information...", "Package wine is a virtual package provided by:", " wine-stable 3.0-1ubuntu1", " wine-development 3.6-1", ""]}
 

razr55

Well-Known Member
Joined
Mar 26, 2011
Messages
26
Best answers
0
Reaction score
0
@Don Daniello Sorry to bother you again, but I'm trying to compile a TFS 1.2 8.60 server on ubuntu 18 after used your tools,
And it compiles fine, until it's about to link into the tfs file and I get a shitload of errors,
Code:
/home/otsmanager/evoground/source/src/luascript.cpp:3536: undefined reference to `lua_getglobal'
/home/otsmanager/evoground/source/src/luascript.cpp:3543: undefined reference to `lua_getglobal'
/home/otsmanager/evoground/source/src/luascript.cpp:3552: undefined reference to `lua_callk'
CMakeFiles/tfs.dir/src/npc.cpp.o: In function `NpcScriptInterface::registerFunctions()':
/home/otsmanager/evoground/source/src/npc.cpp:502: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:503: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:504: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:505: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:506: undefined reference to `lua_setglobal'
CMakeFiles/tfs.dir/src/npc.cpp.o:/home/otsmanager/evoground/source/src/npc.cpp:507: more undefined references to `lua_setglobal' follow
collect2: error: ld returned 1 exit status
CMakeFiles/tfs.dir/build.make:2003: recipe for target 'tfs' failed
make[2]: *** [tfs] Error 1
CMakeFiles/Makefile2:99: recipe for target 'CMakeFiles/tfs.dir/all' failed
make[1]: *** [CMakeFiles/tfs.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
[email protected]:~/evoground/source/build$
How do I bypass that error to finish the compile? :eek:
I am having this same issue. Did you ever figure out the problem?
 

demon088

#088 in the Horde
Joined
Jun 17, 2009
Messages
148
Best answers
3
Reaction score
11
Location
Hell
Im getting this error while runing the last ansible command.Captura.PNG
 
OP
Don Daniello

Don Daniello

/root
Staff member
Administrator
Joined
Apr 11, 2008
Messages
3,522
Best answers
15
Reaction score
930
Location
Proland
Don't use -c 1804, it was a temporary command. Use what's in the first post of this thread.
 

demon088

#088 in the Horde
Joined
Jun 17, 2009
Messages
148
Best answers
3
Reaction score
11
Location
Hell
I´m using Ubuntu 18.04. Tried with command from original post and...
1573403221694.png
 
Top