Install IceHRM on Fedora 29
-
IceHRM has 3 versions.
https://icehrm.com/compare-opensource-icehrmpro-cloud
OpenSource, Professional, and Cloud.This guide was for the open source version.
The instructions for the Professional version are identical, except you get the download link via email instead of github.
Make sure Fedora is fully up to date
dnf upgrade -y --refresh
Install system admin tools
This is my general list. Install what you want.
dnf install -y nano sysstat glances htop
Determine the current version of IceHRM
Go here to find the current link: https://github.com/gamonoid/icehrm/releases
As of the wirting of this guide, it is v24.0.0.0
Setup some session variables
###################################################### ############## EDIT THESE APPROPRIATELY ############## ############### BEFORE YOU COPY/PASTE ################ ###################################################### # Database name to use for application export DB_NAME='icehrm' # Database user to use for application export DB_USER='ice_user' # Folder to install application into export APP_DIR='/var/www/html/icehrm' # IceHRM Verison number to download export APP_VER='v24.0.0.OS'
Choose a random root password or your own.
Copy and paste the one of these you wish to use.
# Specify your own password for MariaDB root user export DB_ROOT_PASS="somebigpasswordgoeshere" # Generate a random password for MariaDB root user export DB_ROOT_PASS="$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 30)" echo "This is your MariaDB root password: $DB_ROOT_PASS"
Do the same for the application database user password
Copy and paste the one you wish to use
# Specify your own password for MariaDB root user export DB_PASS="somebigpasswordgoeshere" # Generate a random password for the application's database user export DB_PASS="$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 30)" echo "This is your password for the application user: $DB_PASS"
Some session variables that you should not edit unles you know what you are actually doing
###################################################### ######### DO NOT CHANGE ANYTHING BELOW HERE ########## ###################################################### #SELinux RW label for Apache export HTTPDRW='httpd_sys_rw_content_t'
Install dependencies
See: https://icehrm.com/docs/installation-and-setup
dnf install -y httpd mariadb mariadb-server memcached php php-gd php-mysqli php-pear php-pecl-memcached policycoreutils-python-utils tar wget
Download the current release from Github
wget https://github.com/gamonoid/icehrm/releases/download/$APP_VER/icehrm_$APP_VER.tar.gz
Create the directory to install the application and extract the tarbal into it.
mkdir -p $APP_DIR tar -xf icehrm_$APP_VER.tar.gz -C $APP_DIR --strip 1
Create an empty
config.php
filetouch $APP_DIR/app/config.php
Give Apache ownership of the application folder and everything in it
chown apache:apache -R $APP_DIR
Start, and set to start on boot, MariaDB
systemctl enable --now mariadb
Create the database and database user for the application
mysql -e "CREATE DATABASE $DB_NAME;" mysql -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" mysql -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost';" mysql -e "FLUSH PRIVILEGES;"
Secure the database
# Secure MariaDB (this does what mysql_secure_installation performs without interaction) mysql -e "UPDATE mysql.user SET Password=PASSWORD('$DB_ROOT_PASS') WHERE User='root';" mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');" mysql -e "DELETE FROM mysql.user WHERE User='';" # As of the writing of this guide MariaDB no longer seems to create a test database. # mysql -e "DROP DATABASE test;" mysql -e "FLUSH PRIVILEGES;"
Setup SELinux permissions
setsebool -P httpd_can_sendmail 1 setsebool -P httpd_can_network_connect 1 semanage fcontext -a -t ${HTTPDRW} "${APP_DIR}/app/data(/.*)?" restorecon -R -F ${APP_DIR}/app/data semanage fcontext -a -t ${HTTPDRW} "${APP_DIR}/app/config.php" restorecon -R -F ${APP_DIR}/app/config.php
Allow HTTP through the firewall default zone
firewall-cmd --add-port=http/tcp --permanent firewall-cmd --reload
Start and enable Apache
systemctl enable --now httpd
Display the database information
cat << EOF MySql Database Name : $DB_NAME Database User : $DB_USER Database User Password : $DB_PASS Database Root Password : $DB_ROOT_PASS EOF
Got to the web interface and run the install wizard
Once it is completes it tells you to delete the install directory.
rm -rf $APP_DIR/app/install
-
Reserved for https
-
Going to be a heck of a learning curve for my client.
They have zero HR currently. They are implementing their first HR person (existing employee with new part time duties).
-
Added to the first post.
IceHRM has 3 versions.
<snip> -
Looks interesting, I'm not familiar with this package though. Any idea how it compares to orange hrm? Skimming the site really quickly on my phone they look to be similar from a feature standpoint
-
@JaredBusch said in Install IceHRM on Fedora 29:
Going to be a heck of a learning curve for my client.
They have zero HR currently. They are implementing their first HR person (existing employee with new part time duties).
Cost to much for your client to use something like ADP?