[Linux] Canary + aaPanel + MyAAC

This tutorial was created with /home/user. If you are using root user change for a normal user.

Create the user:

  • sudo adduser NAME

Give privileges to the created user:

  • sudo usermod -aG sudo NAME

Change in the Linux Terminal from root to the created user:

  • sudo su - NAME

1 - Download Bitvise:

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

1.1 - Bitvise Tutorial:

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

2 - Installation Canary:

Ubuntu 22.04
sudo apt update && sudo apt upgrade -y
sudo apt install git cmake build-essential autoconf libtool ca-certificates curl zip unzip tar pkg-config ninja-build ccache linux-headers-$(uname -r) -y

Update cmake:

sudo apt remove --purge cmake -y
hash -r
sudo apt install snapd -y
sudo snap install cmake --classic
cmake --version

Update gcc:

sudo apt update
sudo apt install gcc-12 g++-12 -y
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 --slave /usr/bin/g++ g++ /usr/bin/g++-12 --slave /usr/bin/gcov gcov /usr/bin/gcov-12
sudo update-alternatives --set gcc /usr/bin/gcc-12
gcc-12 --version
g++-12 --version

-

sudo apt install acl
cd ~

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
mv config.lua.dist config.lua
mkdir build && cd build

cmake -DCMAKE_TOOLCHAIN_FILE=~/vcpkg/scripts/buildsystems/vcpkg.cmake .. --preset linux-release
cmake --build linux-release -j4

cd ~
cd canary
cp -r build/linux-release/bin/canary .
sudo chmod +x canary
Ubuntu 22.04 ARM
sudo apt update && sudo apt upgrade -y
sudo apt install git cmake build-essential autoconf libtool ca-certificates curl zip unzip tar pkg-config ninja-build ccache linux-headers-$(uname -r) -y

Update cmake:

sudo apt remove --purge cmake -y
hash -r
sudo apt install snapd -y
sudo snap install cmake --classic
cmake --version

Update gcc:

sudo apt update
sudo apt install gcc-12 g++-12 -y
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 --slave /usr/bin/g++ g++ /usr/bin/g++-12 --slave /usr/bin/gcov gcov /usr/bin/gcov-12 --slave /usr/bin/aarch64-linux-gnu-gcc aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-gcc-12  --slave /usr/bin/aarch64-linux-gnu-g++ aarch64-linux-gnu-g++ /usr/bin/aarch64-linux-gnu-g++-12 /usr/bin/gcov-12
sudo update-alternatives --set gcc /usr/bin/gcc-12
gcc-12 --version
g++-12 --version

-

sudo apt install acl
cd ~

git clone https://github.com/microsoft/vcpkg
cd vcpkg
export VCPKG_FORCE_SYSTEM_BINARIES=1
./bootstrap-vcpkg.sh
cd ~

git clone --depth 1 https://github.com/opentibiabr/canary.git
cd canary
sudo mv config.lua.dist config.lua
sudo mkdir build && cd build
export VCPKG_FORCE_SYSTEM_BINARIES=1

cmake -DCMAKE_TOOLCHAIN_FILE=~/vcpkg/scripts/buildsystems/vcpkg.cmake .. --preset linux-release
cmake --build linux-release -j4

cd ~
cd canary
cp -r build/linux-release/bin/canary .
sudo chmod +x canary

Observations:

-- Running vcpkg install

This step will take a long time on the first run, as it needs to download and install all the dependencies, so be patient!

• How to update vcpkg:

If you already have vcpkg installed

To update vcpkg installation, run the commands below:

  • cd vcpkg

  • git pull

  • ./vcpkg upgrade

  • ./vcpkg upgrade --no-dry-run

  • ./bootstrap-vcpkg.sh

3 - Installation - aaPanel:

  • Open the Linux Terminal.

  • URL=https://www.aapanel.com/script/install_7.0_en.sh && if [ -f /usr/bin/curl ];then curl -ksSO "$URL" ;else wget --no-check-certificate -O install_7.0_en.sh "$URL";fi;bash install_7.0_en.sh aapanel

  • sudo bash install_7.0_en.sh aapanel

  • After aaPanel install, take note of your URL to access, username and password.

  • Access the aaPanel using your address https://10.x.y.z with the username and password.

  • In the Recommended Sofware Packages select LNMP (Recommended) with the options:

  • Then click in the One-click button.

  • Wait for the software packages installation.

4 - aaPanel - Website:

  • Go to the Website option in the menu.

  • Click in the Add Site button and fill the form.

  • Confirm.

  • After adding the website, go to Conf -> Site directory and disable Anti-XSS attack option.

  • Your website will be accessible by your address: http://10.x.y.z

5 - aaPanel - Database:

  • Go to the Databases option in the menu.

  • Click in the Add DB button and fill the form.

  • Confirm.

  • Click in the Import option.

  • Click in the Upload from local option.

  • Click in Select File button.

  • Find Canary schema.sql and click in the Upload button.

  • After upload the schema.sql click in the Close button.

  • Click in the Import option to confirm.

  • After the successfully imported the schema.sql file to the database close the window.

6 - Canary - Config.lua:

  • For data-canary:

  • -- Core settings
    -- Note: If you want to use datapack folder canary (custom), put only "data-canary"
    -- If you want to use the global datapack folder, put "data-otservbr-global"
    -- If "useAnyDatapackFolder" is set to true then you can choose any datapack folder for your server
    useAnyDatapackFolder = false
    dataPackDirectory = "data-canary"
    -- Don't change this unless you know what you're doing
    coreDirectory = "data"
    
    -- Map
    -- NOTE: set mapName WITHOUT .otbm at the end
    -- NOTE: If toggleDownloadMap if false, then the mapDownloadUrl will not be used
    -- NOTE: If a map with the name already exists in the world folder, the map will not be downloaded even if the toggleDownloadMap is true
    toggleDownloadMap = false
    mapName = "canary"
    mapDownloadUrl = "https://github.com/opentibiabr/canary/releases/download/v3.1.0/otservbr.otbm"
    mapAuthor = "OpenTibiaBR"
    
    -- Custom Map
    -- NOTE: toggleMapCustom set to true will load all maps in custom map folder
    toggleMapCustom = false
    
    -- Connection Config
    ip = "127.0.0.1"
    serverName = "Canary"
    
    -- MySQL
    mysqlHost = "127.0.0.1"
    mysqlUser = "your-username"                      
    mysqlPass = "your-password"                       
    mysqlDatabase = "your-database-name"        
    mysqlPort = 3306
    mysqlSock = ""
    passwordType = "sha1"
  • For data-otservbr-global:

  • -- Core settings
    -- Note: If you want to use datapack folder canary (custom), put only "data-canary"
    -- If you want to use the global datapack folder, put "data-otservbr-global"
    -- If "useAnyDatapackFolder" is set to true then you can choose any datapack folder for your server
    useAnyDatapackFolder = false
    dataPackDirectory = "data-otservbr-global"
    -- Don't change this unless you know what you're doing
    coreDirectory = "data"
    
    -- Map
    -- NOTE: set mapName WITHOUT .otbm at the end
    -- NOTE: If toggleDownloadMap if false, then the mapDownloadUrl will not be used
    -- NOTE: If a map with the name already exists in the world folder, the map will not be downloaded even if the toggleDownloadMap is true
    toggleDownloadMap = true
    mapName = "otservbr"
    mapDownloadUrl = "https://github.com/opentibiabr/canary/releases/download/v3.1.0/otservbr.otbm"
    mapAuthor = "OpenTibiaBR"
    
    -- Custom Map
    -- NOTE: toggleMapCustom set to true will load all maps in custom map folder
    toggleMapCustom = true
    
    -- Connection Config
    ip = "127.0.0.1"
    serverName = "OTServBR-Global"
    
    -- MySQL
    mysqlHost = "127.0.0.1"
    mysqlUser = "your-username"                      
    mysqlPass = "your-password"                       
    mysqlDatabase = "your-database-name"        
    mysqlPort = 3306
    mysqlSock = ""
    passwordType = "sha1"

7 - Installation - MyAAC:

  • Open the Linux Terminal.

cd ~
sudo setfacl -R -m g:www:rx /home/$USER/
sudo setfacl -R -m g:www:rx /home/$USER/canary
sudo chmod -R 775 canary

git clone https://github.com/opentibiabr/myaac.git
sudo mv myaac/* /www/wwwroot/10.x.y.z
sudo rm -rf myaac

cd /www/wwwroot/10.x.y.z
- Create a empty config.local.php file:
sudo nano config.local.php
sudo chmod 775 config.local.php
- Add your 10.x.y.z IP in the ip.txt file:
cd /www/wwwroot/10.x.y.z/install
sudo nano ip.txt

cd ~
sudo chown -R www:www /www/wwwroot/10.x.y.z
sudo usermod -aG www $(whoami)
cd /www/wwwroot/10.x.y.z
sudo chmod -R 775 . && sudo chmod -R 775 system/ images/ plugins/ tools/
  • Install MyAAC: http://10.x.y.z;

  • Follow the installation steps;

8 - Credits:

  • Libergod.

  • Majesty.

Last updated