[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 install libluajit-5.1-dev
sudo vim /usr/lib/gcc/aarch64-linux-gnu/11/include/arm_acle.h
Replace all code with this: https://github.com/gcc-mirror/gcc/blob/8e8f6434760cfe2a1c6c9644181189fdb4d987bb/gcc/config/aarch64/arm_acle.h
Save the file.
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:
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:
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:
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 uploading 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:
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