How to Install Multicraft on CentOS 7

Updated on December 23, 2021
How to Install Multicraft on CentOS 7 header image

Multicraft is a database-driven web interface for Minecraft servers. You can create, pause, start or stop your server through the Multicraft control panel. You can also monitor its day-to-day configuration and manage all its upload/download processes with a few clicks of the mouse. It contains features such as:

Follow the steps below to install Multicraft on CentOS 7.

Install MySQL

Enable the MySQL 8.0 repository with the following command:

 yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

Install MySQL 8.0 package with yum:

 yum install mysql-community-server

Set MySQL to start on bootup, and then start MySQL:

 systemctl enable mysqld
 systemctl start mysqld

Check MySQL service status:

systemctl status mysqld

mysqld.service - MySQL Server  
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)  
   Active: active (running) since Wed 2021-10-29 11:02:43 UTC; 14min ago  
     Docs: man:mysqld(8)  
           http://dev.mysql.com/doc/refman/en/using-systemd.html  
  Process: 4293 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)  
 Main PID: 4310 (mysqld)  
   Status: "SERVER_OPERATING"  
   CGroup: /system.slice/mysqld.service  
           └─4310 /usr/sbin/mysqld  

When the MySQL server is started for the first time, a temporary password is generated for the MySQL root user.

Get MySQL temporary password:

grep 'temporary password' /var/log/mysqld.log  

2021-10-29T10:59:51.251159Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: q&0)V!?fjksL

Run the mysql_secure_installation command to improve the security of our MySQL installation:

mysql_secure_installation

Install Apache

yum install httpd

Set Apache to start on bootup, then start Apache:

systemctl enable httpd.service
systemctl start httpd.service

Install PHP and PHP extensions

yum install php

Search PHP module and extensions

yum search php-

Install PHP extensions:

yum install php-mysql php-gd php-ldap php-odbc php-pear php-common php-mbstring php-xml php-xmlrpc php-bcmath php-pdo php-bcmath

Restart Apache:

systemctl restart httpd.service

Next, we have a few more prerequisites. Install dependencies by running:

yum -y install wget tar zip curl java-1.8.0-openjdk

Install phpMyAdmin

CentOS 7 does not have access to phpMyAdmin in its default software repository, to do this you will need to turn on the EPEL repo and install phpMyAdmin.

yum install -y epel-release

After enabling the repository, it is recommended to do an update on the EPEL repository.

yum –y update

Install phpMyAdmin

yum -y install phpmyadmin

Open phpMyAdmin configuration file to configure access to use phpMyAdmin

vim /etc/httpd/conf.d/phpMyAdmin.conf 

Find this section in the configuration file and change Deny to Allow:

<IfModule !mod_authz_core.c>
# Apache 2.4
  Order Deny,Allow
  Deny from All
  Allow from 127.0.0.1
  Allow from ::1
</IfModule>

After changing the file, save it and restart Apache service:

systemctl restart httpd.service

You can now login to phpMyAdmin through yourserverIP/phpMyAdmin. Please note that phpMyAdmin is case sensitive.

The default login account is "root" and your root password.

Create two database:

multicraft_panel
multicraft_daemon

Allow Override in Apache configuration file:

vim /etc/httpd/conf/httpd.conf

Scroll down until you find the section that looks like:

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
AllowOverride None

Change None To All. Save the file, and restart apache:

systemctl restart httpd.service

Install Multicraft

Download and run the Multicraft installer.

wget http://www.multicraft.org/download?arch=linux64 -O multicraft.tar.gz

Then extract it and change to the directory. Once in the directory, run the installer:

tar xvzf multicraft.tar.gz
cd multicraft
./setup.sh      

The script will ask you for your desired settings, either the ones you already have or that default configured for you.

***
*** Welcome to Multicraft!
***
This installer will help you get Multicraft up and running.
No changes are made to the system until all of the required information has been collected.
NOTE: This script automates the installation as described on the Multicraft website. Use it at your own risk.
Run each Minecraft server under its own user? (Multicraft will create system users): [y]/n

Press ENTER

Run Multicraft under this user: [minecraft]

Press ENTER

User not found. Create user 'minecraft' on start of installation? [y]/n

Press ENTER

Install Multicraft in: [/home/minecraft/multicraft]

Press ENTER

If you have a license key you can enter it now: [no]

Enter your license key if you have one and continue, or press ENTER

If you control multiple machines from one control panel you need to assign each daemon a unique ID (requires a Dynamic or custom license). Daemon ID? [1]

Press ENTER

Will the PHP frontend run on this machine? [y]/n

Press ENTER

User of the webserver: [apache]

Press ENTER

Location of the PHP frontend: [/var/www/html/multicraft]

Press ENTER

Enable builtin FTP server? [y]/n

Press ENTER

IP the FTP server will listen on (empty for same as daemon): [192.0.2.123] FTP server port: [21]

Press ENTER

Block FTP upload of .jar files and other executables (potentially dangerous plugins)? [y]/n 

Press n, then ENTER

What kind of database do you want to use? [sqlite]/mysql

Type mysql, then press ENTER

NOTE: This is for the daemon config, the front end has an installation routine for database configuration and initialization.

Database host: [127.0.0.1]
Database name: [multicraft_daemon]
Database user: [root]
Database password: [] YourPassword

Enter your MySQL password, and press ENTER

***
*** Please use the control panel to initialize the database.
***
NOTE: Any running daemon will be stopped!
Ready to install Multicraft. Start installation? [y]/n

Press ENTER

***
*** INSTALLING

(Trimmed verbose output here)

*** Installation complete!
***
PLEASE READ:
Before starting the daemon you need to run the control panel installer to initialize your database. (example: http://your.address/multicraft/install.php)
The daemon WILL NOT work correctly as long as the database hasn't been initialized.
After running the control panel installer start the daemon using the following command:
/home/minecraft/multicraft/bin/multicraft -v start
If there are any issues, please check the log file: '/home/minecraft/multicraft/multicraft.log'
After reading the instructions above, press [Enter] to continue

Press ENTER

In case you want to rerun this script you can save the entered settings.  
Save entered settings? ([y]/n)

Press ENTER

Saving settings to 'setup.config'.

Panel Configuration

To do panel configuration, go to yourdomain.com/multicraft or yourserverIP/multicraft. You will get the Multicraft panel installer.

Start by pressing START INSTALLATION and then review the requirements. If your server meets all the requirements, press CONTINUE, then CONTINUE once again.

When you arrive at the Database 1: PANEL page, you will want to select MySQL from the database type drop-down, then fill in the required data, including your password. Press SAVE AND TEST to initialize the database.

Once the database is initialized, you can continue to the next step of logging into the panel. The username is admin and the password is admin.

Once logged in, press CONTINUE, and head to the next database section, Database 2: DAEMON. Again, select MySQL, fill in the required data, then press CONTINUE.

You are now directed to the last page, Settings. The only configuration needed here is to set "Administrator contact Email" to your email address. Then press SAVE.

Finally, start the Multicraft control daemon by returning to the command line and running:

/home/minecraft/multicraft/bin/multicraft -v start

You can now log in to the panel and control your Minecraft servers.