Difference between revisions of "Process:Installation guide"

From MintHCM Wiki

(Preparing for installation)
 
(31 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
{{Process-infobox
 
{{Process-infobox
|Process-name=Installation guide
+
|Process-name=MintHCM Installation Guide
 
|Process-type=Technical Process
 
|Process-type=Technical Process
|Short Description=Installation guide for MintHCM
+
|Related Processes=Installation guide MintHCM v3
 +
|Short Description=This guide covers the installation process for MintHCM version 4.x onwards.
 
}}
 
}}
==Preparing for installation==
+
For instructions for previous releases please visit [[Process:Installation_guide_MintHCM_v3|MintHCM 3.x Installation Guide]].
 +
<br>
 +
For instructions for running on Docker please visit [[Process:Running_on_Docker|Deploy MintHCM on Docker]].
 +
==Requirements==  
 +
Before installing MintHCM, ensure that your system meets the following requirements:
 +
* '''Web Server''':
 +
** Linux or Windows machine running Apache2
 +
* '''PHP''':
 +
** 7.4 - 8.0
 +
* '''Database''' (one of the following):
 +
** MySQL 5.7 or 8.0
 +
** Percona 8.0
 +
** MariaDB 10
 +
* '''ElasticSearch''':
 +
** 7.9
  
To install MintHCM you will need Linux or Windows platform, a web server with PHP installed and a database.
+
<br>
 +
===== Apache2 Configuration: =====
 +
* Required Modules: Rewrite and Headers
 +
* AllowOverride: Ensure that AllowOverride All is set within the <Directory> directive for MintHCM in your Apache configuration. This allows the use of .htaccess files for additional configuration.
 +
For example:
 +
<pre>
 +
<VirtualHost *:80>
 +
    DocumentRoot /var/www/minthcm
  
First step towards installation is downloading MintHCM to your server and preparing files to be installed. To do so, follow the steps:
+
    <Directory /var/www/minthcm>
 +
        Options Indexes FollowSymLinks
 +
        AllowOverride All
 +
        Require all granted
 +
    </Directory>
  
# Download MintHCM zip file from https://minthcm.org/download/
+
    # ... other configurations ...
# Copy the zip file to your server and unzip it in directory of your choice
+
 
# Change files permissions in that directory accordingly with your platform demands
+
</VirtualHost>
+
</pre>
For Ubuntu Linux/Apache it will be:
+
<br>
 +
===== Browser compatibility =====
 +
MintHCM offers a user-friendly interface accessible through the following web browsers:
 +
* Chromium
 +
* Firefox
 +
* Edge
 +
<br>
 +
While we strive to provide the best user experience on these browsers, Internet Explorer (IE) is not supported. However, you are welcome to test and use it at your discretion.
 +
 
 +
==Getting started==
 +
 
 +
===== Download MintHCM =====
 +
Download the latest release of MintHCM zip file from the official website: https://minthcm.org/download/
 +
<br>
 +
 
 +
===== Copy the zip file to your server =====
 +
Copy the downloaded zip file to your server using your preferred method (e.g., SCP, FTP).
 +
<br>
 +
 
 +
===== Unzip the files =====
 +
Navigate to the directory where you want to install MintHCM and unzip the downloaded file.
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
cd ../<yourMintHCMdirectory>
+
cd /path/to/your/MintHCMdirectory
sudo chown -R www-data:www-data *
+
unzip MintHCM.zip
sudo chmod -R 755 *
 
 
</syntaxhighlight>
 
</syntaxhighlight>
where www-data are default user and group for Ubuntu Linux/Apache. However, it might have been changed on your server. Use the actual system user.
 
  
==Installation of MintHCM==
+
===== Change file permissions =====
 +
Adjust file permissions based on your platform's requirements. For Ubuntu Linux with Apache, use the following commands:
 +
<syntaxhighlight lang="bash">
 +
cd /path/to/your/MintHCMdirectory
 +
sudo chown -R www-data:www-data .
 +
sudo chmod -R 755 .
 +
</syntaxhighlight>
 +
Note: Replace www-data:www-data with the actual user and group on your server if they differ from Linux/Apache defaults. This ensures proper ownership and permissions for MintHCM files.
  
Once you have your files prepared, you can start actual installation. Follow the steps:
+
== Installation process ==
  
1. Put following URL into your web browser:
+
'''Open the Installation Wizard'''
  
http://<yourServer>/<yourMintHCMdirectory>/install.php
+
Open your web browser and enter the following URL to initiate the installation wizard:
  
The installation wizard will start now.  
+
<syntaxhighlight lang="bash">
 +
https://my-server-or-domain.com/my-minthcm-directory
 +
</syntaxhighlight>
  
2. On the first screen you have to accept the license agreement. After that you can click next button.  
+
The installation wizard will commence automatically, guiding you through the setup process. Follow the on-screen instructions to configure MintHCM for your environment.
  
[[File:MintHCM - Installation - Start.png|900px|thumb|center|MintHCM - Installation - Start]]
+
===== 1. Accept the License Agreement =====
 +
On the first screen, you need to accept the license agreement. After that, you can click the "Next" button.
  
3. In a moment another screen with system environment information will appear.  
+
[[File:MintHCM Installation - License.png|900px|thumb|center|MintHCM - Installation - License]]
  
[[File:MintHCM - Installation - System Environment.png|900px|thumb|center|MintHCM - Installation - System Environment]]
+
===== 2. System Environment Check =====
  
What is really important here is an instruction how to set up a Crontab, that allows MintHCM to perform actions in the background of your server.
+
[[File:MintHCM4 - Installation - System Environment.png|900px|thumb|center|MintHCM - Installation - System Environment]]
You should do this only after the installation is concluded.
 
  
To do so, you have to edit your web server user's crontab file. You can open it with a command:
+
===== 3. Database Configuration =====
 +
On this screen, you'll provide essential database configuration details and administrator user data. Follow these steps:
  
sudo crontab -e -u www-data (or another actual user)
+
'''Host Name:'''
 +
* If the database and MintHCM are on the same server, enter 'localhost' in the Host Name field.
 +
* If the database is on a different server, enter the hostname or IP address of the database server in the Host Name field.
 +
<br>
 +
'''Database User:'''
 +
* The MintHCM Database User is set to 'root' by default. If you prefer to use another user, update this field accordingly.
 +
<br>
 +
'''Note:'''
 +
* If you are unsure about the database server's hostname or IP address, consult your server administrator or hosting provider.
 +
* Choosing a secure and unique Database User is recommended for enhanced security.
  
Now you have to add the following line to the crontab file:
+
[[File:MintHCM4 - Installation - Database configuration.png|900px|thumb|center|MintHCM - Installation - Database configuration]]
  
*    *    *    *    *    cd /var/www/MintHCM/MintHCM; php -f cron.php > /dev/null 2>&1
+
Once you've entered the necessary information, proceed to the next step in the installation process.
  
Information about Crontab edition may be also found in Schedulers in Administration panel of MintHCM after installation.
+
===== 4. ElasticSearch Connection =====
  
Note that Windows or other systems have different background processes mechanisms.  
+
Configure your ElasticSearch connection (make sure that it's running) to enable MintHCM to display data in lists and in the Global Search feature.
  
4. On the next screen you have to provide basic database configuration and administrator user data.
 
  
If your database is on the same server that MintHCM instance, you may put 'localhost' in Host Name field. If it is somewhere else, put there a proper host of your database.
+
[[File:MintHCM4 - Installation - ElasticSearch.png|900px|thumb|center|MintHCM - Installation - ElasticSearch configuration]]
  
[[File:MintHCM - Installation - Database configuration.png|900px|thumb|center|MintHCM - Installation - Database configuration]]
+
===== 5. Site Configuration =====
  
 +
* SiteURL (Optional):
 +
** Optionally, you can change the prefilled SiteURL field if you decide to run MintHCM in a custom directory. This is useful if MintHCM is not installed in the root directory of your web server.
 +
* Create a username and password for your administrator account.
 +
* Populate with Dummy Data (Optional):
 +
** Decide whether you want your Mint installation to be populated with dummy data for demonstration purposes. This can be helpful for testing and exploring MintHCM features.
  
MintHCM Database User is by default set to admin. If you want to choose another user, change it here.
+
[[File:MintHCM4 - Installation - Site configuration.png|900px|thumb|center|MintHCM - Installation - Site configuration]]
  
5. Set up your administrator user name and password, so you can log in MintHCM later.
+
After configuring the administrator username and password, proceed to the next step in the installation process.
  
In these screen you can also configure basic global settings of your MintHCM instance, such as email server settings, branding (including logo of your company), system settings (i.e. time and data format) and security options. All of those settings may be configured after the installation as well.  
+
===== 6. Installation =====
  
6. If everything was alright with data provided, installation will begin. It may take a while.  
+
If all the provided data is correct, the installation process will begin. Please be patient as this may take a few minutes.
  
[[File:MintHCM - Installation - Installation in progress.png|900px|thumb|center|MintHCM - Installation - Installation in progress]]
+
Note:
 +
* During this phase, MintHCM is configuring and setting up the necessary components. The duration may vary based on server resources and network conditions.
 +
* Avoid interrupting the installation process to ensure a successful setup.
  
7. After installation is completed, you will see the last screen. Among others, it provides information of total time of installation and memory use.
+
[[File:MintHCM4 - Installation - Processing.png|900px|thumb|center|MintHCM - Installation - Installation in progress]]
  
[[File:MintHCM - Installation - Finish.png|900px|thumb|center|MintHCM - Installation - Finish]]
+
Once the installation is completed, you will proceed to the next step in the process.
  
After you click the finish button, installation will be finished and you can log in your MintHCM instance as admin with username and password set up during installation.
+
===== 7. Completion =====
 +
The installation is now complete, and you can log in as an administrator using the username and password you set up earlier.
  
==Troubleshooting==
+
[[File:MintHCM4 - Installation - Finish.png|900px|thumb|center|MintHCM - Installation - Finish]]
  
During the installation process some errors may occur.
+
===== 8. Adding Crontab for MintHCM =====
 +
After completing the installation, it's crucial to set up a Crontab to enable MintHCM to run background tasks, especially for indexing data to ElasticSearch. Follow these steps to add a Crontab entry:
  
===Permissions error===
+
* Open the Crontab Editor:
 +
<syntaxhighlight lang="bash">
 +
sudo crontab -e -u www-data  # Use the actual user if not www-data
 +
</syntaxhighlight>
  
[[File:MintHCM - Installation  - Permissions error.png|900px|thumb|center|Permissions error]]
+
* Add the Crontab Entry:
 +
<syntaxhighlight lang="bash">
 +
*    *    *    *    *    cd /var/www/<dir_to_your_instance>/legacy; php -f cron.php > /dev/null 2>&1
 +
</syntaxhighlight>
 +
This line schedules the execution of the MintHCM background tasks every minute.
  
This may occur, when files permissions were not change before the installation. Check your file permissions in MintHCM installation files directory, if necessary run commends provided below and start installation again.  
+
* Note:
 +
** Adjust the path /var/www/<dir_to_your_instance>/legacy to the actual path where your MintHCM instance is installed.
 +
** Ensure that the user specified (e.g., www-data) has the necessary permissions to execute the Crontab entry.
 +
After adding the Crontab entry, MintHCM will automatically run background tasks, including data indexing to ElasticSearch.
  
sudo chown -R www-data:www-data *
+
* Additional Information:
sudo chmod -R 755 *
 
 
===Database could not be established===
 
  
"The provided database host, username, and/or password is invalid, and a connection to the database could not be established. Please enter a valid host, username and password"
+
** You can find information about Crontab setup in the Schedulers section of the [[Process:Administration_Guide|Administration panel]] within MintHCM after installation.
  
[[File:MintHCM - Installation - Database configuration error.png|900px|thumb|center|Database configuration error]]
+
* Note for Windows or Other Systems:
  
This error is most probably caused by invalid data provided by user, such as database host name or password. To solve this, double check your host, user name, password, etc. Also, check if your MintHCM Database user matches the actual user you can and want to use in this instance of MintHCM.
+
** Windows and other operating systems may have different mechanisms for managing background processes. Refer to the respective documentation for your system.
  
===Config.php file is missing===
 
  
[[File:MintHCM - Installation - Config.php error.png|900px|thumb|center|MintHCM - Installation - Config.php error]]
+
==Troubleshooting==
 
 
 
 
This error may also be caused by file permission restrictions. You can check them and eventually restart installation. Or you can create config.php file manually.
 
  
To do so, just create config.php file in your MintHCM instance directory, paste the code form the installer and save the file. After that, you can go to your instance (i.e. through URL http://<yourServer>/<yourMintHCMdirectory>). The instance should be running and you should see basic configuration options after logging in.
+
[[Process:Installation_guide#Troubleshooting|Troubleshooting MintHCM3]]
 
{{Process-links}}
 
{{Process-links}}

Latest revision as of 14:37, 21 December 2023

Info
Process Name MintHCM Installation Guide
Process Type ⧼ev-Technical Process⧽
Related Processes Installation guide MintHCM v3
Related Modules
MintHCM Installation Guide

Short Description

This guide covers the installation process for MintHCM version 4.x onwards.


For instructions for previous releases please visit MintHCM 3.x Installation Guide.
For instructions for running on Docker please visit Deploy MintHCM on Docker.

Requirements

Before installing MintHCM, ensure that your system meets the following requirements:

  • Web Server:
    • Linux or Windows machine running Apache2
  • PHP:
    • 7.4 - 8.0
  • Database (one of the following):
    • MySQL 5.7 or 8.0
    • Percona 8.0
    • MariaDB 10
  • ElasticSearch:
    • 7.9


Apache2 Configuration:
  • Required Modules: Rewrite and Headers
  • AllowOverride: Ensure that AllowOverride All is set within the <Directory> directive for MintHCM in your Apache configuration. This allows the use of .htaccess files for additional configuration.

For example:

<VirtualHost *:80>
    DocumentRoot /var/www/minthcm

    <Directory /var/www/minthcm>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    # ... other configurations ...

</VirtualHost>


Browser compatibility

MintHCM offers a user-friendly interface accessible through the following web browsers:

  • Chromium
  • Firefox
  • Edge


While we strive to provide the best user experience on these browsers, Internet Explorer (IE) is not supported. However, you are welcome to test and use it at your discretion.

Getting started

Download MintHCM

Download the latest release of MintHCM zip file from the official website: https://minthcm.org/download/

Copy the zip file to your server

Copy the downloaded zip file to your server using your preferred method (e.g., SCP, FTP).

Unzip the files

Navigate to the directory where you want to install MintHCM and unzip the downloaded file.

cd /path/to/your/MintHCMdirectory
unzip MintHCM.zip
Change file permissions

Adjust file permissions based on your platform's requirements. For Ubuntu Linux with Apache, use the following commands:

cd /path/to/your/MintHCMdirectory
sudo chown -R www-data:www-data .
sudo chmod -R 755 .

Note: Replace www-data:www-data with the actual user and group on your server if they differ from Linux/Apache defaults. This ensures proper ownership and permissions for MintHCM files.

Installation process

Open the Installation Wizard

Open your web browser and enter the following URL to initiate the installation wizard:

 https://my-server-or-domain.com/my-minthcm-directory

The installation wizard will commence automatically, guiding you through the setup process. Follow the on-screen instructions to configure MintHCM for your environment.

1. Accept the License Agreement

On the first screen, you need to accept the license agreement. After that, you can click the "Next" button.

MintHCM - Installation - License
2. System Environment Check
MintHCM - Installation - System Environment
3. Database Configuration

On this screen, you'll provide essential database configuration details and administrator user data. Follow these steps:

Host Name:

  • If the database and MintHCM are on the same server, enter 'localhost' in the Host Name field.
  • If the database is on a different server, enter the hostname or IP address of the database server in the Host Name field.


Database User:

  • The MintHCM Database User is set to 'root' by default. If you prefer to use another user, update this field accordingly.


Note:

  • If you are unsure about the database server's hostname or IP address, consult your server administrator or hosting provider.
  • Choosing a secure and unique Database User is recommended for enhanced security.
MintHCM - Installation - Database configuration

Once you've entered the necessary information, proceed to the next step in the installation process.

4. ElasticSearch Connection

Configure your ElasticSearch connection (make sure that it's running) to enable MintHCM to display data in lists and in the Global Search feature.


MintHCM - Installation - ElasticSearch configuration
5. Site Configuration
  • SiteURL (Optional):
    • Optionally, you can change the prefilled SiteURL field if you decide to run MintHCM in a custom directory. This is useful if MintHCM is not installed in the root directory of your web server.
  • Create a username and password for your administrator account.
  • Populate with Dummy Data (Optional):
    • Decide whether you want your Mint installation to be populated with dummy data for demonstration purposes. This can be helpful for testing and exploring MintHCM features.
MintHCM - Installation - Site configuration

After configuring the administrator username and password, proceed to the next step in the installation process.

6. Installation

If all the provided data is correct, the installation process will begin. Please be patient as this may take a few minutes.

Note:

  • During this phase, MintHCM is configuring and setting up the necessary components. The duration may vary based on server resources and network conditions.
  • Avoid interrupting the installation process to ensure a successful setup.
MintHCM - Installation - Installation in progress

Once the installation is completed, you will proceed to the next step in the process.

7. Completion

The installation is now complete, and you can log in as an administrator using the username and password you set up earlier.

MintHCM - Installation - Finish
8. Adding Crontab for MintHCM

After completing the installation, it's crucial to set up a Crontab to enable MintHCM to run background tasks, especially for indexing data to ElasticSearch. Follow these steps to add a Crontab entry:

  • Open the Crontab Editor:
sudo crontab -e -u www-data  # Use the actual user if not www-data
  • Add the Crontab Entry:
*    *    *    *    *     cd /var/www/<dir_to_your_instance>/legacy; php -f cron.php > /dev/null 2>&1

This line schedules the execution of the MintHCM background tasks every minute.

  • Note:
    • Adjust the path /var/www/<dir_to_your_instance>/legacy to the actual path where your MintHCM instance is installed.
    • Ensure that the user specified (e.g., www-data) has the necessary permissions to execute the Crontab entry.

After adding the Crontab entry, MintHCM will automatically run background tasks, including data indexing to ElasticSearch.

  • Additional Information:
    • You can find information about Crontab setup in the Schedulers section of the Administration panel within MintHCM after installation.
  • Note for Windows or Other Systems:
    • Windows and other operating systems may have different mechanisms for managing background processes. Refer to the respective documentation for your system.


Troubleshooting

Troubleshooting MintHCM3

Mentioned in other articles