By Sajid Qureshi, Alibaba Cloud Tech Share Author. Tech Share is Alibaba Cloud's incentive program to encourage the sharing of technical knowledge and best practices within the cloud community.
BigTree CMS is a free and open source content management system written in PHP. It is lightweight and comes with extensive and extensible content management capabilities.
BigTree CMS is very fast and capable of powering multiple sites and millions of hits per day. BigTree can help you build a powerful platform to manage your content. It can find missing files or pages, and automatically create redirects for them within the module.
In this guide, we will show you how to install BigTree CMS on your Alibaba Cloud Elastic Compute Service (ECS) CentOS 7 server.
1. You must have Alibaba Cloud Elastic Compute Service (ECS) activated and verified your valid payment method. If you are a new user, you can get a free account in your Alibaba Cloud account. If you don't know about how to set up your ECS instance, you can refer to this tutorial or quick-start guide. Your ECS instance must have at least 1GB RAM and 1 Core processor.
2. A domain name registered from Alibaba Cloud. If you have already registered a domain from Alibaba Cloud or any other host, you can update its domain nameserver records.
3. Root user
We recommend you to update the system before installing any new packages on your CentOS server. Execute the below command and all the available packages will be upgraded.
yum -y update
You will need to install Apache web server before downloading BigTree CMS. Run the following command to install the Apache web server.
yum -y install httpd
Now, you can start Apache and enable it to start at boot time, using the following commands.
systemctl start httpd.service && systemctl enable httpd.service
To install BigTree CMS, it is required that mod_rewrite
Apache module is loaded. You can check this from the base module configuration file using any text editor.
nano /etc/httpd/conf.modules.d/00-base.conf
If the mod_rewrite
Apache module is already loaded then you should find a configuration line looking like this:
LoadModule rewrite_module modules/mod_rewrite.so
If the above line starts with a semi-colon then it is not loaded so, you will have to remove the semi-colon to uncomment the line to load the module then save the file and exit from the text editor.
Finally, restart your Apache web server using the following command.
systemctl restart httpd
You can check the status of Apache web server using the following command.
systemctl status httpd
You should see the following output:
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2018-11-07 04:05:26 UTC; 2min 8s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 387 (httpd)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
├─387 /usr/sbin/httpd -DFOREGROUND
├─388 /usr/sbin/httpd -DFOREGROUND
├─389 /usr/sbin/httpd -DFOREGROUND
├─390 /usr/sbin/httpd -DFOREGROUND
├─391 /usr/sbin/httpd -DFOREGROUND
└─392 /usr/sbin/httpd -DFOREGROUNDNov 07 04:05:26 ip-172-31-23-61 systemd[1]: Starting The Apache HTTP Server...
Nov 07 04:05:26 ip-172-31-23-61 systemd[1]: Started The Apache HTTP Server.
[root@Sajid ~]#
Once the Apache web server is installed, you can proceed further to install PHP with all of the necessary PHP modules required by Big Tree CMS. Run the following command to do so.
yum -y install php php-mbstring php-gd php-common php-pdo php-mysqlnd
Next, you will need to change some default settings of PHP in 'php.ini' file using the following command.
nano /etc/php.ini
Change the following lines as shown below:
short_open_tag = On
upload_max_filesize = 32MB
Save the file and exit from the editor.
We will need to install MariaDB for database purposes for BigTree CMS. MariaDB 5.5 is shipped in the default CentOS 7 repository, so just run this command to install MariaDB.
yum -y install mariadb-server
Now you'll have to start the MariaDB service and enable it to start at the boot time like we have done before for apache server, to do so please run following command.
systemctl start mariadb.service && systemctl enable mariadb.service
You can check the status of MariaDB using this below-given command and you should see the following output.
systemctl status mariadb.service
[root@Sajid ~]# systemctl status mariadb.service
● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2018-11-07 14:47:40 UTC; 22s ago
Main PID: 18035 (mysqld_safe)
CGroup: /system.slice/mariadb.service
├─18035 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
└─18192 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/ma...Nov 07 14:47:38 ip-172-31-22-142 mariadb-prepare-db-dir[17956]: The latest information about MariaDB is available at http://mariadb.org/.
Nov 07 14:47:38 ip-172-31-22-142 mariadb-prepare-db-dir[17956]: You can find additional information about the MySQL part at:
Nov 07 14:47:38 ip-172-31-22-142 mariadb-prepare-db-dir[17956]: http://dev.mysql.com
Nov 07 14:47:38 ip-172-31-22-142 mariadb-prepare-db-dir[17956]: Support MariaDB development by buying support/new features from MariaDB
Nov 07 14:47:38 ip-172-31-22-142 mariadb-prepare-db-dir[17956]: Corporation Ab. You can contact us about this at sales@mariadb.com.
Nov 07 14:47:38 ip-172-31-22-142 mariadb-prepare-db-dir[17956]: Alternatively consider joining our community based development effort:
Nov 07 14:47:38 ip-172-31-22-142 mariadb-prepare-db-dir[17956]: http://mariadb.com/kb/en/contributing-to-the-mariadb-project/
Nov 07 14:47:39 ip-172-31-22-142 mysqld_safe[18035]: 170208 14:47:39 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Nov 07 14:47:39 ip-172-31-22-142 mysqld_safe[18035]: 170208 14:47:39 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Nov 07 14:47:40 ip-172-31-22-142 systemd[1]: Started MariaDB database server.
We recommend you to make sure that this installation is secure and to do so run following command.
mysql_secure_installation
You'll be asked to provide a root password, so enter an appropriate password and answer yes to all questions by pressing Y.
Now, you'll have to create a database for BigTree CMS so, please follow the instructions.
mysql -u root -p
You'll be asked to enter a password so simply enter a password and now execute the following queries to create a new database.
CREATE DATABASE bigtree_data;
The above query will create a database named bigtree_data. For the database, you can use any name you prefer in the place of bigtree_data. Make sure that you use semicolon at the end of each query as a query always ends with a semicolon. Once the database is created you can create a new user and grant the required permissions to the user for the database.
CREATE USER 'bigtree_user'@'localhost' IDENTIFIED BY 'StrongPassword';
The above query will create a user with username bigtree_user. You can use any preferred username instead of bigtree_user. Replace StrongPassword with a strong password.
Now provide the appropriate privileges to your database user over the database you have created. Run the following query to do so.
GRANT ALL PRIVILEGES ON bigtree_data.* TO 'bigtree_user'@'localhost';
Now run the following query to immediately apply the changes to the database privileges.
FLUSH PRIVILEGES;
Now you can exit from MariaDB prompt using the following command.
exit
All the dependencies required to install BigTree CMS are installed now. You can proceed further and download BigTree CMS and install it. First of all, change your current directory to default web root directory using the following command.
cd /var/www/html/
Next, download the latest stable release of BigTree CMS using the following command.
wget https://www.bigtreecms.org/files/installers/bigtree-4.3.1.zip
You can always check for the most recent version of BigTree CMS here.
Now, unzip the downloaded file using the following command.
unzip bigtree-4.3.1.zip
Next, we will move all of the BigTree installation files to the web root directory and change the ownership rules. Execute the following commands and they will do the job for you.
mv BigTree-CMS/* /var/www/html
chmod 777 ./
Finally, restart your Apache web server using the following command.
systemctl restart httpd
You will need to modify firewall rules because default web ports will be blocked by firewalld
by default. Execute the following commands one by one and they will do the job for you.
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload
Finally, you will need to disable SELinux services to access BigtTree CMS through the web. Execute the following command to temporarily disable the SELinux services.
setenforce 0
Open up your favorite web browser and visit http://YourServerIP/install.php you will be redirected to BigTree CMS installation webpage. You will have to complete this BigTree CMS installation from here. You will be asked to provide some general information like database details, administrative details, and others. For example, enter the following details in the database details:
Hostname: localhost
Database: bigtree_data
Username: bigtree_user
Password: StrongPassword
Similarly, enter all the details asked and finally click on Install Now button to finish this installation wizard.
Now, you can access the administration area by visiting http://YourServerIP/admin/
You will be asked for login credentials simply enter them and login to the administrator dashboard.
In this guide, you have downloaded and installed BigTree CMS on your CentOS 7 server. You can start adding your content and configuring the look of your site. We hope now you have enough knowledge to work with BigTree CMS and you can manage your content.
MVP #FridayFive: Alibaba Cloud IoT, Cybersecurity, and Blockchain
In-depth Interpretation of DAMO Academy's Top 10 Technology Trends for 2019
2,599 posts | 762 followers
FollowAlibaba Clouder - April 1, 2019
Alibaba Clouder - April 12, 2019
Alibaba Clouder - April 27, 2018
Alibaba Clouder - April 12, 2019
Alibaba Clouder - May 21, 2018
Alibaba Clouder - April 12, 2019
2,599 posts | 762 followers
FollowElastic and secure virtual cloud servers to cater all your cloud hosting needs.
Learn MoreLearn More
An encrypted and secure cloud storage service which stores, processes and accesses massive amounts of data from anywhere in the world
Learn MoreMore Posts by Alibaba Clouder