Here is my Ubuntu Version:

Step 1 Install Apache2 HTTP Server
sudo apt install apache2
Below is the installation screen and Apache version that I installed:
jimlee@CRMServer:~$ sudo apt install apache2
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0
Suggested packages:
apache2-doc apache2-suexec-pristine | apache2-suexec-custom
The following NEW packages will be installed:
apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0
0 upgraded, 9 newly installed, 0 to remove and 121 not upgraded.
Need to get 1,818 kB of archives.
After this operation, 7,935 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 libapr1 amd64 1.6.5-1ubuntu1 [91.4 kB]
Get:2 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 libaprutil1 amd64 1.6.1-4ubuntu2 [84.7 kB]
Get:3 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 libaprutil1-dbd-sqlite3 amd64 1.6.1-4ubuntu2 [10.5 kB]
Get:4 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 libaprutil1-ldap amd64 1.6.1-4ubuntu2 [8,736 B]
Get:5 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 liblua5.2-0 amd64 5.2.4-1.1build3 [106 kB]
Get:6 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 apache2-bin amd64 2.4.41-4ubuntu3 [1,179 kB]
Get:7 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 apache2-data all 2.4.41-4ubuntu3 [159 kB]
Get:8 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 apache2-utils amd64 2.4.41-4ubuntu3 [83.3 kB]
Get:9 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 apache2 amd64 2.4.41-4ubuntu3 [95.5 kB]
Fetched 1,818 kB in 1s (1,598 kB/s)
Selecting previously unselected package libapr1:amd64.
(Reading database ... 178839 files and directories currently installed.)
Preparing to unpack .../0-libapr1_1.6.5-1ubuntu1_amd64.deb ...
Unpacking libapr1:amd64 (1.6.5-1ubuntu1) ...
Selecting previously unselected package libaprutil1:amd64.
Preparing to unpack .../1-libaprutil1_1.6.1-4ubuntu2_amd64.deb ...
Unpacking libaprutil1:amd64 (1.6.1-4ubuntu2) ...
Selecting previously unselected package libaprutil1-dbd-sqlite3:amd64.
Preparing to unpack .../2-libaprutil1-dbd-sqlite3_1.6.1-4ubuntu2_amd64.deb ...
Unpacking libaprutil1-dbd-sqlite3:amd64 (1.6.1-4ubuntu2) ...
Selecting previously unselected package libaprutil1-ldap:amd64.
Preparing to unpack .../3-libaprutil1-ldap_1.6.1-4ubuntu2_amd64.deb ...
Unpacking libaprutil1-ldap:amd64 (1.6.1-4ubuntu2) ...
Selecting previously unselected package liblua5.2-0:amd64.
Preparing to unpack .../4-liblua5.2-0_5.2.4-1.1build3_amd64.deb ...
Unpacking liblua5.2-0:amd64 (5.2.4-1.1build3) ...
Selecting previously unselected package apache2-bin.
Preparing to unpack .../5-apache2-bin_2.4.41-4ubuntu3_amd64.deb ...
Unpacking apache2-bin (2.4.41-4ubuntu3) ...
Selecting previously unselected package apache2-data.
Preparing to unpack .../6-apache2-data_2.4.41-4ubuntu3_all.deb ...
Unpacking apache2-data (2.4.41-4ubuntu3) ...
Selecting previously unselected package apache2-utils.
Preparing to unpack .../7-apache2-utils_2.4.41-4ubuntu3_amd64.deb ...
Unpacking apache2-utils (2.4.41-4ubuntu3) ...
Selecting previously unselected package apache2.
Preparing to unpack .../8-apache2_2.4.41-4ubuntu3_amd64.deb ...
Unpacking apache2 (2.4.41-4ubuntu3) ...
Setting up libapr1:amd64 (1.6.5-1ubuntu1) ...
Setting up liblua5.2-0:amd64 (5.2.4-1.1build3) ...
Setting up apache2-data (2.4.41-4ubuntu3) ...
Setting up libaprutil1:amd64 (1.6.1-4ubuntu2) ...
Setting up libaprutil1-ldap:amd64 (1.6.1-4ubuntu2) ...
Setting up libaprutil1-dbd-sqlite3:amd64 (1.6.1-4ubuntu2) ...
Setting up apache2-utils (2.4.41-4ubuntu3) ...
Setting up apache2-bin (2.4.41-4ubuntu3) ...
Setting up apache2 (2.4.41-4ubuntu3) ...
Enabling module mpm_event.
Enabling module authz_core.
Enabling module authz_host.
Enabling module authn_core.
Enabling module auth_basic.
Enabling module access_compat.
Enabling module authn_file.
Enabling module authz_user.
Enabling module alias.
Enabling module dir.
Enabling module autoindex.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module filter.
Enabling module deflate.
Enabling module status.
Enabling module reqtimeout.
Enabling conf charset.
Enabling conf localized-error-pages.
Enabling conf other-vhosts-access-log.
Enabling conf security.
Enabling conf serve-cgi-bin.
Enabling site 000-default.
Created symlink /etc/systemd/system/multi-user.target.wants/apache2.service → /lib/systemd/system/apache2.service.
Created symlink /etc/systemd/system/multi-user.target.wants/apache-htcacheclean.service → /lib/systemd/system/apache-htcacheclean.se
rvice.
Processing triggers for ufw (0.36-6) ...
Processing triggers for systemd (245.4-4ubuntu3) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9) ...
jimlee@CRMServer:~$ apache2 -v
Server version: Apache/2.4.41 (Ubuntu)
Server built: 2020-04-13T17:19:17
Now you can open firefox then typing “localhost” at the URL filed. You will see the page below:

we need add virtual host there, if you want only access Yetiforce from the server IP Address, ex. 192.168.0.123
sudo nano /etc/apache2/sites-available/yetiforce.conf
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/yetiforce
ServerName example.com
ServerAlias www.example.com
<Directory /var/www/yetiforce/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/yetiforce
ServerName 192.168.0.123
ServerAlias 192.168.0.123
<Directory /var/www/yetiforce/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Then you need restart Apache2 on Ubuntu:
sudo a2ensite yetiforce.conf
sudo a2enmod rewrite
sudo systemctl restart apache2.service
Step 2 Install MySQL
sudo apt-get install mysql-server -y
Remember, After the installation, MySQL default user is “root” and password is also “root”. You need change it later. Below is the installation screenshot .
jimlee@CRMServer:~$ sudo apt-get install mysql-server -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libaio1 libcgi-fast-perl libcgi-pm-perl libevent-core-2.1-7 libfcgi-perl libhtml-template-perl libmecab2 mecab-ipadic
mecab-ipadic-utf8 mecab-utils mysql-client-8.0 mysql-client-core-8.0 mysql-server-8.0 mysql-server-core-8.0
Suggested packages:
libipc-sharedcache-perl mailx tinyca
The following NEW packages will be installed:
libaio1 libcgi-fast-perl libcgi-pm-perl libevent-core-2.1-7 libfcgi-perl libhtml-template-perl libmecab2 mecab-ipadic
mecab-ipadic-utf8 mecab-utils mysql-client-8.0 mysql-client-core-8.0 mysql-server mysql-server-8.0 mysql-server-core-8.0
0 upgraded, 15 newly installed, 0 to remove and 121 not upgraded.
Need to get 30.0 MB of archives.
After this operation, 245 MB of additional disk space will be used.
Get:1 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 mysql-client-core-8.0 amd64 8.0.20-0ubuntu0.20.04.1 [4,196 kB]
Get:2 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 mysql-client-8.0 amd64 8.0.20-0ubuntu0.20.04.1 [22.0 kB]
Get:3 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 libaio1 amd64 0.3.112-5 [7,184 B]
Get:4 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 libevent-core-2.1-7 amd64 2.1.11-stable-1 [89.1 kB]
Get:5 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 libmecab2 amd64 0.996-10build1 [233 kB]
Get:6 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 mysql-server-core-8.0 amd64 8.0.20-0ubuntu0.20.04.1 [17.2 MB]
Get:7 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 mysql-server-8.0 amd64 8.0.20-0ubuntu0.20.04.1 [1,228 kB]
Get:8 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 libcgi-pm-perl all 4.46-1 [186 kB]
Get:9 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 libfcgi-perl amd64 0.79-1 [33.1 kB]
Get:10 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 libcgi-fast-perl all 1:2.15-1 [10.5 kB]
Get:11 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 libhtml-template-perl all 2.97-1 [59.0 kB]
Get:12 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 mecab-utils amd64 0.996-10build1 [4,912 B]
Get:13 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 mecab-ipadic all 2.7.0-20070801+main-2.1 [6,714 kB]
Get:14 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 mecab-ipadic-utf8 all 2.7.0-20070801+main-2.1 [4,380 B]
Get:15 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 mysql-server all 8.0.20-0ubuntu0.20.04.1 [9,540 B]
Fetched 30.0 MB in 22s (1,337 kB/s)
Preconfiguring packages ...
Selecting previously unselected package mysql-client-core-8.0.
(Reading database ... 179547 files and directories currently installed.)
Preparing to unpack .../00-mysql-client-core-8.0_8.0.20-0ubuntu0.20.04.1_amd64.deb ...
Unpacking mysql-client-core-8.0 (8.0.20-0ubuntu0.20.04.1) ...
Selecting previously unselected package mysql-client-8.0.
Preparing to unpack .../01-mysql-client-8.0_8.0.20-0ubuntu0.20.04.1_amd64.deb ...
Unpacking mysql-client-8.0 (8.0.20-0ubuntu0.20.04.1) ...
Selecting previously unselected package libaio1:amd64.
Preparing to unpack .../02-libaio1_0.3.112-5_amd64.deb ...
Unpacking libaio1:amd64 (0.3.112-5) ...
Selecting previously unselected package libevent-core-2.1-7:amd64.
Preparing to unpack .../03-libevent-core-2.1-7_2.1.11-stable-1_amd64.deb ...
Unpacking libevent-core-2.1-7:amd64 (2.1.11-stable-1) ...
Selecting previously unselected package libmecab2:amd64.
Preparing to unpack .../04-libmecab2_0.996-10build1_amd64.deb ...
Unpacking libmecab2:amd64 (0.996-10build1) ...
Selecting previously unselected package mysql-server-core-8.0.
Preparing to unpack .../05-mysql-server-core-8.0_8.0.20-0ubuntu0.20.04.1_amd64.deb ...
Unpacking mysql-server-core-8.0 (8.0.20-0ubuntu0.20.04.1) ...
Selecting previously unselected package mysql-server-8.0.
Preparing to unpack .../06-mysql-server-8.0_8.0.20-0ubuntu0.20.04.1_amd64.deb ...
Unpacking mysql-server-8.0 (8.0.20-0ubuntu0.20.04.1) ...
Selecting previously unselected package libcgi-pm-perl.
Preparing to unpack .../07-libcgi-pm-perl_4.46-1_all.deb ...
Unpacking libcgi-pm-perl (4.46-1) ...
Selecting previously unselected package libfcgi-perl.
Preparing to unpack .../08-libfcgi-perl_0.79-1_amd64.deb ...
Unpacking libfcgi-perl (0.79-1) ...
Selecting previously unselected package libcgi-fast-perl.
Preparing to unpack .../09-libcgi-fast-perl_1%3a2.15-1_all.deb ...
Unpacking libcgi-fast-perl (1:2.15-1) ...
Selecting previously unselected package libhtml-template-perl.
Preparing to unpack .../10-libhtml-template-perl_2.97-1_all.deb ...
Unpacking libhtml-template-perl (2.97-1) ...
Selecting previously unselected package mecab-utils.
Preparing to unpack .../11-mecab-utils_0.996-10build1_amd64.deb ...
Unpacking mecab-utils (0.996-10build1) ...
Selecting previously unselected package mecab-ipadic.
Preparing to unpack .../12-mecab-ipadic_2.7.0-20070801+main-2.1_all.deb ...
Unpacking mecab-ipadic (2.7.0-20070801+main-2.1) ...
Selecting previously unselected package mecab-ipadic-utf8.
Preparing to unpack .../13-mecab-ipadic-utf8_2.7.0-20070801+main-2.1_all.deb ...
Unpacking mecab-ipadic-utf8 (2.7.0-20070801+main-2.1) ...
Selecting previously unselected package mysql-server.
Preparing to unpack .../14-mysql-server_8.0.20-0ubuntu0.20.04.1_all.deb ...
Unpacking mysql-server (8.0.20-0ubuntu0.20.04.1) ...
Setting up libmecab2:amd64 (0.996-10build1) ...
Setting up mysql-client-core-8.0 (8.0.20-0ubuntu0.20.04.1) ...
Setting up libcgi-pm-perl (4.46-1) ...
Setting up libhtml-template-perl (2.97-1) ...
Setting up mecab-utils (0.996-10build1) ...
Setting up libevent-core-2.1-7:amd64 (2.1.11-stable-1) ...
Setting up mysql-client-8.0 (8.0.20-0ubuntu0.20.04.1) ...
Setting up libfcgi-perl (0.79-1) ...
Setting up libaio1:amd64 (0.3.112-5) ...
Setting up mecab-ipadic (2.7.0-20070801+main-2.1) ...
Compiling IPA dictionary for Mecab. This takes long time...
reading /usr/share/mecab/dic/ipadic/unk.def ... 40
emitting double-array: 100% |###########################################|
/usr/share/mecab/dic/ipadic/model.def is not found. skipped.
reading /usr/share/mecab/dic/ipadic/Adnominal.csv ... 135
reading /usr/share/mecab/dic/ipadic/Noun.number.csv ... 42
reading /usr/share/mecab/dic/ipadic/Postp.csv ... 146
reading /usr/share/mecab/dic/ipadic/Filler.csv ... 19
reading /usr/share/mecab/dic/ipadic/Noun.nai.csv ... 42
reading /usr/share/mecab/dic/ipadic/Noun.demonst.csv ... 120
reading /usr/share/mecab/dic/ipadic/Postp-col.csv ... 91
reading /usr/share/mecab/dic/ipadic/Conjunction.csv ... 171
reading /usr/share/mecab/dic/ipadic/Noun.others.csv ... 151
reading /usr/share/mecab/dic/ipadic/Interjection.csv ... 252
reading /usr/share/mecab/dic/ipadic/Noun.proper.csv ... 27328
reading /usr/share/mecab/dic/ipadic/Noun.adjv.csv ... 3328
reading /usr/share/mecab/dic/ipadic/Adverb.csv ... 3032
reading /usr/share/mecab/dic/ipadic/Prefix.csv ... 221
reading /usr/share/mecab/dic/ipadic/Others.csv ... 2
reading /usr/share/mecab/dic/ipadic/Suffix.csv ... 1393
reading /usr/share/mecab/dic/ipadic/Noun.place.csv ... 72999
reading /usr/share/mecab/dic/ipadic/Adj.csv ... 27210
reading /usr/share/mecab/dic/ipadic/Noun.csv ... 60477
reading /usr/share/mecab/dic/ipadic/Noun.org.csv ... 16668
reading /usr/share/mecab/dic/ipadic/Noun.adverbal.csv ... 795
reading /usr/share/mecab/dic/ipadic/Symbol.csv ... 208
reading /usr/share/mecab/dic/ipadic/Noun.verbal.csv ... 12146
reading /usr/share/mecab/dic/ipadic/Auxil.csv ... 199
reading /usr/share/mecab/dic/ipadic/Verb.csv ... 130750
reading /usr/share/mecab/dic/ipadic/Noun.name.csv ... 34202
emitting double-array: 100% |###########################################|
reading /usr/share/mecab/dic/ipadic/matrix.def ... 1316x1316
emitting matrix : 100% |###########################################|
done!
update-alternatives: using /var/lib/mecab/dic/ipadic to provide /var/lib/mecab/dic/debian (mecab-dictionary) in auto mode
Setting up libcgi-fast-perl (1:2.15-1) ...
Setting up mysql-server-core-8.0 (8.0.20-0ubuntu0.20.04.1) ...
Setting up mecab-ipadic-utf8 (2.7.0-20070801+main-2.1) ...
Compiling IPA dictionary for Mecab. This takes long time...
reading /usr/share/mecab/dic/ipadic/unk.def ... 40
emitting double-array: 100% |###########################################|
/usr/share/mecab/dic/ipadic/model.def is not found. skipped.
reading /usr/share/mecab/dic/ipadic/Adnominal.csv ... 135
reading /usr/share/mecab/dic/ipadic/Noun.number.csv ... 42
reading /usr/share/mecab/dic/ipadic/Postp.csv ... 146
reading /usr/share/mecab/dic/ipadic/Filler.csv ... 19
reading /usr/share/mecab/dic/ipadic/Noun.nai.csv ... 42
reading /usr/share/mecab/dic/ipadic/Noun.demonst.csv ... 120
reading /usr/share/mecab/dic/ipadic/Postp-col.csv ... 91
reading /usr/share/mecab/dic/ipadic/Conjunction.csv ... 171
reading /usr/share/mecab/dic/ipadic/Noun.others.csv ... 151
reading /usr/share/mecab/dic/ipadic/Interjection.csv ... 252
reading /usr/share/mecab/dic/ipadic/Noun.proper.csv ... 27328
reading /usr/share/mecab/dic/ipadic/Noun.adjv.csv ... 3328
reading /usr/share/mecab/dic/ipadic/Adverb.csv ... 3032
reading /usr/share/mecab/dic/ipadic/Prefix.csv ... 221
reading /usr/share/mecab/dic/ipadic/Others.csv ... 2
reading /usr/share/mecab/dic/ipadic/Suffix.csv ... 1393
reading /usr/share/mecab/dic/ipadic/Noun.place.csv ... 72999
reading /usr/share/mecab/dic/ipadic/Adj.csv ... 27210
reading /usr/share/mecab/dic/ipadic/Noun.csv ... 60477
reading /usr/share/mecab/dic/ipadic/Noun.org.csv ... 16668
reading /usr/share/mecab/dic/ipadic/Noun.adverbal.csv ... 795
reading /usr/share/mecab/dic/ipadic/Symbol.csv ... 208
reading /usr/share/mecab/dic/ipadic/Noun.verbal.csv ... 12146
reading /usr/share/mecab/dic/ipadic/Auxil.csv ... 199
reading /usr/share/mecab/dic/ipadic/Verb.csv ... 130750
reading /usr/share/mecab/dic/ipadic/Noun.name.csv ... 34202
emitting double-array: 100% |###########################################|
reading /usr/share/mecab/dic/ipadic/matrix.def ... 1316x1316
emitting matrix : 100% |###########################################|
done!
update-alternatives: using /var/lib/mecab/dic/ipadic-utf8 to provide /var/lib/mecab/dic/debian (mecab-dictionary) in auto mode
Setting up mysql-server-8.0 (8.0.20-0ubuntu0.20.04.1) ...
update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Renaming removed key_buffer and myisam-recover options (if present)
mysqld will log errors to /var/log/mysql/error.log
mysqld is running as pid 7867
Created symlink /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service.
Setting up mysql-server (8.0.20-0ubuntu0.20.04.1) ...
Processing triggers for systemd (245.4-4ubuntu3) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9) ...
To check the MySQL version that installed in your Ubuntu, You need run this command “mysql -V”.
jimlee@CRMServer:~$ mysql -V
mysql Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
Please make sure you are using capital ‘V’ , otherwise you will get the error message:
jimlee@CRMServer:~$ mysql -v
ERROR 1045 (28000): Access denied for user 'jimlee'@'localhost' (using password: NO)
Now we need create database and database user for Yetiforce.
sudo mysql -u root -p
jimlee@CRMServer:~$ sudo mysql -u root -p
[sudo] password for jimlee: <here is the password of Ubuntu user>
Enter password: <here you can use default password 'root' if you not change it yet>
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.20-0ubuntu0.20.04.1 (Ubuntu)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Next, We will start create database for Yetiforce, you need write down the database name, database user name and password, because on step 4 you need input those info.
mysql> CREATE DATABASE yetiforce;
Query OK, 1 row affected (0.17 sec)
mysql> CREATE USER 'yetiforceuser'@'localhost' IDENTIFIED BY 'password_of_yetiforceuser';
Query OK, 0 rows affected (0.14 sec)
mysql> GRANT ALL ON yetiforce.* TO 'yetiforceuser'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.12 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.05 sec)
mysql> EXIT;
Bye
Now we have database ready for Yetiforce:
Database name: yetiforce
Database user: yetiforceuser
Database pass: password_of_yetiforceuser
Now we need change some setting of the database, innodb_lock_wait_timeout = 600; or you can see this articale:
and
show variables like 'innodb_lock_wait_timeout';
SET GLOBAL innodb_lock_wait_timeout = 600;
SELECT @@innodb_lock_wait_timeout;
SET SESSION innodb_lock_wait_timeout = 600;
SELECT @@innodb_lock_wait_timeout;
use yetiforce;
set character_set_server = utf8;
set character_set_database = utf8;
before:
mysql> show variables like "%character%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
after:
mysql> show variables like "%character%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
Step 3 Install PHP4 on Ubuntu
sudo apt install php7.4 libapache2-mod-php7.4 php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-bcmath php7.4-soap php7.4-ldap php7.4-imap php7.4-xml php7.4-cli php7.4-zip
Below is the screenshot:
jimlee@CRMServer:~$ sudo apt install php7.4 libapache2-mod-php7.4 php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-bcmath php7.4-soap php7.4-ldap php7.4-imap php7.4-xml php7.4-cli php7.4-zip
[sudo] password for jimlee:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libc-client2007e libonig5 libxmlrpc-epi0 libzip5 mlock php-common php7.4-json php7.4-opcache php7.4-readline
Suggested packages:
php-pear uw-mailutils
The following NEW packages will be installed:
libapache2-mod-php7.4 libc-client2007e libonig5 libxmlrpc-epi0 libzip5 mlock php-common php7.4 php7.4-bcmath php7.4-cli
php7.4-common php7.4-curl php7.4-gd php7.4-gmp php7.4-imap php7.4-intl php7.4-json php7.4-ldap php7.4-mbstring php7.4-mysql
php7.4-opcache php7.4-readline php7.4-soap php7.4-xml php7.4-xmlrpc php7.4-zip
0 upgraded, 26 newly installed, 0 to remove and 121 not upgraded.
Need to get 5,870 kB of archives.
After this operation, 24.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 php-common all 2:75 [11.9 kB]
Get:2 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 php7.4-common amd64 7.4.3-4ubuntu1.1 [979 kB]
Get:3 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 php7.4-json amd64 7.4.3-4ubuntu1.1 [19.2 kB]
Get:4 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 php7.4-opcache amd64 7.4.3-4ubuntu1.1 [199 kB]
Get:5 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 php7.4-readline amd64 7.4.3-4ubuntu1.1 [12.6 kB]
Get:6 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 php7.4-cli amd64 7.4.3-4ubuntu1.1 [1,421 kB]
Get:7 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 libapache2-mod-php7.4 amd64 7.4.3-4ubuntu1.1 [1,364 kB]
Get:8 http://ca.archive.ubuntu.com/ubuntu focal/universe amd64 mlock amd64 8:2007f~dfsg-7 [12.0 kB]
Get:9 http://ca.archive.ubuntu.com/ubuntu focal/universe amd64 libc-client2007e amd64 8:2007f~dfsg-7 [578 kB]
Get:10 http://ca.archive.ubuntu.com/ubuntu focal/universe amd64 libonig5 amd64 6.9.4-1 [142 kB]
Get:11 http://ca.archive.ubuntu.com/ubuntu focal/universe amd64 libzip5 amd64 1.5.1-0ubuntu1 [46.7 kB]
Get:12 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 php7.4 all 7.4.3-4ubuntu1.1 [9,240 B]
Get:13 http://ca.archive.ubuntu.com/ubuntu focal-updates/universe amd64 php7.4-bcmath amd64 7.4.3-4ubuntu1.1 [15.1 kB]
Get:14 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 php7.4-curl amd64 7.4.3-4ubuntu1.1 [30.4 kB]
Get:15 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 php7.4-gd amd64 7.4.3-4ubuntu1.1 [27.9 kB]
Get:16 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 php7.4-gmp amd64 7.4.3-4ubuntu1.1 [21.0 kB]
Get:17 http://ca.archive.ubuntu.com/ubuntu focal-updates/universe amd64 php7.4-imap amd64 7.4.3-4ubuntu1.1 [29.6 kB]
Get:18 http://ca.archive.ubuntu.com/ubuntu focal-updates/universe amd64 php7.4-intl amd64 7.4.3-4ubuntu1.1 [126 kB]
Get:19 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 php7.4-ldap amd64 7.4.3-4ubuntu1.1 [29.5 kB]
Get:20 http://ca.archive.ubuntu.com/ubuntu focal-updates/universe amd64 php7.4-mbstring amd64 7.4.3-4ubuntu1.1 [397 kB]
Get:21 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 php7.4-mysql amd64 7.4.3-4ubuntu1.1 [121 kB]
Get:22 http://ca.archive.ubuntu.com/ubuntu focal-updates/universe amd64 php7.4-soap amd64 7.4.3-4ubuntu1.1 [115 kB]
Get:23 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 php7.4-xml amd64 7.4.3-4ubuntu1.1 [97.4 kB]
Get:24 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 libxmlrpc-epi0 amd64 0.54.2-1.2 [30.5 kB]
Get:25 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 php7.4-xmlrpc amd64 7.4.3-4ubuntu1.1 [13.0 kB]
Get:26 http://ca.archive.ubuntu.com/ubuntu focal-updates/universe amd64 php7.4-zip amd64 7.4.3-4ubuntu1.1 [21.6 kB]
Fetched 5,870 kB in 3s (2,102 kB/s)
Selecting previously unselected package php-common.
(Reading database ... 180437 files and directories currently installed.)
Preparing to unpack .../00-php-common_2%3a75_all.deb ...
Unpacking php-common (2:75) ...
Selecting previously unselected package php7.4-common.
Preparing to unpack .../01-php7.4-common_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-common (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-json.
Preparing to unpack .../02-php7.4-json_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-json (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-opcache.
Preparing to unpack .../03-php7.4-opcache_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-opcache (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-readline.
Preparing to unpack .../04-php7.4-readline_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-readline (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-cli.
Preparing to unpack .../05-php7.4-cli_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-cli (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package libapache2-mod-php7.4.
Preparing to unpack .../06-libapache2-mod-php7.4_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking libapache2-mod-php7.4 (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package mlock.
Preparing to unpack .../07-mlock_8%3a2007f~dfsg-7_amd64.deb ...
Unpacking mlock (8:2007f~dfsg-7) ...
Selecting previously unselected package libc-client2007e.
Preparing to unpack .../08-libc-client2007e_8%3a2007f~dfsg-7_amd64.deb ...
Unpacking libc-client2007e (8:2007f~dfsg-7) ...
Selecting previously unselected package libonig5:amd64.
Preparing to unpack .../09-libonig5_6.9.4-1_amd64.deb ...
Unpacking libonig5:amd64 (6.9.4-1) ...
Selecting previously unselected package libzip5:amd64.
Preparing to unpack .../10-libzip5_1.5.1-0ubuntu1_amd64.deb ...
Unpacking libzip5:amd64 (1.5.1-0ubuntu1) ...
Selecting previously unselected package php7.4.
Preparing to unpack .../11-php7.4_7.4.3-4ubuntu1.1_all.deb ...
Unpacking php7.4 (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-bcmath.
Preparing to unpack .../12-php7.4-bcmath_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-bcmath (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-curl.
Preparing to unpack .../13-php7.4-curl_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-curl (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-gd.
Preparing to unpack .../14-php7.4-gd_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-gd (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-gmp.
Preparing to unpack .../15-php7.4-gmp_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-gmp (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-imap.
Preparing to unpack .../16-php7.4-imap_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-imap (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-intl.
Preparing to unpack .../17-php7.4-intl_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-intl (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-ldap.
Preparing to unpack .../18-php7.4-ldap_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-ldap (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-mbstring.
Preparing to unpack .../19-php7.4-mbstring_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-mbstring (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-mysql.
Preparing to unpack .../20-php7.4-mysql_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-mysql (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-soap.
Preparing to unpack .../21-php7.4-soap_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-soap (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-xml.
Preparing to unpack .../22-php7.4-xml_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-xml (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package libxmlrpc-epi0:amd64.
Preparing to unpack .../23-libxmlrpc-epi0_0.54.2-1.2_amd64.deb ...
Unpacking libxmlrpc-epi0:amd64 (0.54.2-1.2) ...
Selecting previously unselected package php7.4-xmlrpc.
Preparing to unpack .../24-php7.4-xmlrpc_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-xmlrpc (7.4.3-4ubuntu1.1) ...
Selecting previously unselected package php7.4-zip.
Preparing to unpack .../25-php7.4-zip_7.4.3-4ubuntu1.1_amd64.deb ...
Unpacking php7.4-zip (7.4.3-4ubuntu1.1) ...
Setting up php-common (2:75) ...
Created symlink /etc/systemd/system/timers.target.wants/phpsessionclean.timer → /lib/systemd/system/phpsessionclean.timer.
Setting up php7.4-common (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/calendar.ini with new version
Creating config file /etc/php/7.4/mods-available/ctype.ini with new version
Creating config file /etc/php/7.4/mods-available/exif.ini with new version
Creating config file /etc/php/7.4/mods-available/fileinfo.ini with new version
Creating config file /etc/php/7.4/mods-available/ffi.ini with new version
Creating config file /etc/php/7.4/mods-available/ftp.ini with new version
Creating config file /etc/php/7.4/mods-available/gettext.ini with new version
Creating config file /etc/php/7.4/mods-available/iconv.ini with new version
Creating config file /etc/php/7.4/mods-available/pdo.ini with new version
Creating config file /etc/php/7.4/mods-available/phar.ini with new version
Creating config file /etc/php/7.4/mods-available/posix.ini with new version
Creating config file /etc/php/7.4/mods-available/shmop.ini with new version
Creating config file /etc/php/7.4/mods-available/sockets.ini with new version
Creating config file /etc/php/7.4/mods-available/sysvmsg.ini with new version
Creating config file /etc/php/7.4/mods-available/sysvsem.ini with new version
Creating config file /etc/php/7.4/mods-available/sysvshm.ini with new version
Creating config file /etc/php/7.4/mods-available/tokenizer.ini with new version
Setting up php7.4-curl (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/curl.ini with new version
Setting up php7.4-mysql (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/mysqlnd.ini with new version
Creating config file /etc/php/7.4/mods-available/mysqli.ini with new version
Creating config file /etc/php/7.4/mods-available/pdo_mysql.ini with new version
Setting up libzip5:amd64 (1.5.1-0ubuntu1) ...
Setting up php7.4-bcmath (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/bcmath.ini with new version
Setting up mlock (8:2007f~dfsg-7) ...
Setting up libxmlrpc-epi0:amd64 (0.54.2-1.2) ...
Setting up php7.4-readline (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/readline.ini with new version
Setting up php7.4-intl (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/intl.ini with new version
Setting up php7.4-zip (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/zip.ini with new version
Setting up php7.4-ldap (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/ldap.ini with new version
Setting up php7.4-opcache (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/opcache.ini with new version
Setting up libc-client2007e (8:2007f~dfsg-7) ...
Setting up php7.4-soap (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/soap.ini with new version
Setting up libonig5:amd64 (6.9.4-1) ...
Setting up php7.4-gd (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/gd.ini with new version
Setting up php7.4-gmp (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/gmp.ini with new version
Setting up php7.4-json (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/json.ini with new version
Setting up php7.4-xml (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/dom.ini with new version
Creating config file /etc/php/7.4/mods-available/simplexml.ini with new version
Creating config file /etc/php/7.4/mods-available/xml.ini with new version
Creating config file /etc/php/7.4/mods-available/xmlreader.ini with new version
Creating config file /etc/php/7.4/mods-available/xmlwriter.ini with new version
Creating config file /etc/php/7.4/mods-available/xsl.ini with new version
Setting up php7.4-xmlrpc (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/xmlrpc.ini with new version
Setting up php7.4-imap (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/imap.ini with new version
Setting up php7.4-mbstring (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/mods-available/mbstring.ini with new version
Setting up php7.4-cli (7.4.3-4ubuntu1.1) ...
update-alternatives: using /usr/bin/php7.4 to provide /usr/bin/php (php) in auto mode
update-alternatives: using /usr/bin/phar7.4 to provide /usr/bin/phar (phar) in auto mode
update-alternatives: using /usr/bin/phar.phar7.4 to provide /usr/bin/phar.phar (phar.phar) in auto mode
Creating config file /etc/php/7.4/cli/php.ini with new version
Setting up libapache2-mod-php7.4 (7.4.3-4ubuntu1.1) ...
Creating config file /etc/php/7.4/apache2/php.ini with new version
Module mpm_event disabled.
Enabling module mpm_prefork.
apache2_switch_mpm Switch to prefork
apache2_invoke: Enable module php7.4
Setting up php7.4 (7.4.3-4ubuntu1.1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9) ...
Processing triggers for php7.4-cli (7.4.3-4ubuntu1.1) ...
Processing triggers for libapache2-mod-php7.4 (7.4.3-4ubuntu1.1) ...
jimlee@CRMServer:~$ php -v
PHP 7.4.3 (cli) (built: May 5 2020 12:14:27) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
Now we need change the php.ini to make yetiforce work.
sudo nano /etc/php/7.4/apache2/php.ini
short_open_tag = On
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
Step 4 Install Yetiforce
cd /tmp
wget https://cfhcable.dl.sourceforge.net/project/yetiforce/YetiForce%20CRM%205.x.x/5.3.0/YetiForceCRM-5.3.0-complete.zip
sudo mkdir /var/www/yetiforce
sudo unzip YetiForceCRM-5.3.0-complete.zip -d /var/www/yetiforce
sudo chown -R www-data:www-data /var/www/yetiforce/
sudo chmod -R 755 /var/www/yetiforce/
Now you just type your site or the ip address of your server.
Then fellow the installation step by step.
note, the last step (Enter company details) will take more than one hour after you click next, just wait. In my case, it took about 2 hour. Now I have Yetiforce 5.3.0 installed on my Ubuntu 20.04

Remark
if you change the setting of apache2 or PHP, you’d better to restart Apache2
sudo systemctl restart apache2.service
`If you change the setting of MySQL on Ubuntu, you need restart mysql service within ubuntu
sudo service mysql restart
or
sudo systemctl restart mysql