ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Install IceHRM on Fedora 29

    IT Discussion
    icehrm hrms human resources fedora fedora 29
    3
    6
    730
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • JaredBuschJ
      JaredBusch
      last edited by JaredBusch

      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
      current_version

      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 file

      touch $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

      http://domain.com/icehrm

      Once it is completes it tells you to delete the install directory.

      rm -rf $APP_DIR/app/install
      
      1 Reply Last reply Reply Quote 2
      • JaredBuschJ
        JaredBusch
        last edited by

        Reserved for https

        1 Reply Last reply Reply Quote 0
        • JaredBuschJ
          JaredBusch
          last edited by

          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).

          black3dynamiteB 1 Reply Last reply Reply Quote 0
          • JaredBuschJ
            JaredBusch
            last edited by JaredBusch

            Added to the first post.
            IceHRM has 3 versions.
            <snip>

            1 Reply Last reply Reply Quote 0
            • notverypunnyN
              notverypunny
              last edited by

              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

              1 Reply Last reply Reply Quote 0
              • black3dynamiteB
                black3dynamite @JaredBusch
                last edited by

                @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?

                1 Reply Last reply Reply Quote 0
                • 1 / 1
                • First post
                  Last post