勤怠管理オープンソースソフトウェアのMosPをインストール

勤怠管理オープンソースソフトウェアのMosP環境を構築してみます

MosP
当サイトがターゲットとしている小規模オフィスを運営する場合、勤怠管理システムはSaaSなどのクラウド環境で使用した方が良いと個人的には考えています。
理由として、勤怠管理システムは24時間稼働している必要があり、サーバ導入、管理運用コストが掛かります。勤怠管理システムのようなバックオフィス系システムをクラウドに置くということが難しい場合もあります。
メリット、デメリットを検討して取捨選択ということになるかと思います。そして一番気にするべき点は、そのシステムをある程度の期間使い続けることになるので、安易に導入することは避けた方が良く、十分に試用して導入を考えるべきです。

勤怠管理オープンソースソフトウェアのMosP(MindOpenSourceProject)とは

これまでは勤怠管理システムと言えば商用パッケージソフトウェアを導入することが一般的であった(いまでも一般的かも)と思いますが、オープンソースソフトウェアも増えてきている印象があります。XXXXが開発するMosP(モスプと読むようです)MosPはGPLのオープンライセンス版と商用パッケージ版が用意されています。国産オープンソースソフトウェアなので、日本語対応は当然、日本語マニュアルが充実している点も導入のハードルを下げてくれるのではないでしょうか。

MosPの機能は給与計算・勤怠管理・人事管理と
バックオフィスシステムは、一度導入してしまうと簡単には替えることが難しいものです。オープンソースソフトウェアということで、十分に試してから本格導入ということもできるでしょうし、MosPは国内ベンダー様が開発しているため、日本の事情を考慮した上で開発されていると考えています。私自身はバックオフィス系システムに精通していないので、何がいいのかを説明できず申し訳ありません。

MosP公式サイト
https://mosp.jp/

MosPをインストール

下記のシステム要件をみていただくとお判りかと思いますが、推奨システム構成でOSはCentOS6.2となっています。いま時点(2018年2月)でCentOS6.2もどうかと思うため、6の中の最新版6.9を使用することにしました。また、kearnelもその時点で最新にしました。

# cat /etc/centos-release
CentOS release 6.9 (Final)
# uname -r
2.6.32-696.13.2.el6.x86_64

システム構成

システム構成は公式サイトからダウンロードしたインストールガイドを参考にしています。
https://ja.osdn.net/projects/mosp/downloads/61497/mosp_v4_install_manual_linux.pdf

サーバ環境

  • OS: CentOS6.2
  • DB: PostgreSQL8.4.x
  • Apache: 2.2.x
  • Tomcat6.0.x
  • Java: openjdk1.6.x

クライアント環境

  • OS: Windows7以上
  • ブラウザ: Firefox最新版 / Internet Explorer10 / 11
  • その他: Adobe Acrobat Reader 11

MosPパッケージのダウンロード先

MosPは機能毎にパッケージが分かれています。

給与計算 payroll4.war

https://ja.osdn.net/projects/mosp/releases/67469
https://ja.osdn.net/dl/mosp/payroll4.war

勤怠管理 time4.war

https://ja.osdn.net/projects/mosp/releases/67467
https://ja.osdn.net/dl/mosp/time4.war

人事管理 human4.war

https://ja.osdn.net/projects/mosp/releases/59839
https://ja.osdn.net/dl/mosp/human4.war

カレッジタイム(こちらは大学向けのもののようです)

https://ja.osdn.net/projects/mosp/releases/p14115

MosPのインストール

ここではCentOS6.9をMinimalインストールしてyum updateを実施した段階から記載しています。

  1. ユーザを作成します
  2. # useradd usermosp -p passmosp
    

    コマンドサンプル

    # useradd usermosp -p passmosp
    # cat /etc/passwd |grep usermosp
    usermosp:x:500:500::/home/usermosp:/bin/bash
    
  3. javaをインストールします
    インストール後はバージョン確認を実施します
  4. # yum install java-1.6.0-openjdk-devel
    # java -version
    

    コマンドサンプル

    [root@centos69-101 ~]# yum install java-1.6.0-openjdk-devel
    読み込んだプラグイン:fastestmirror
    インストール処理の設定をしています
    Loading mirror speeds from cached hostfile
     * base: ftp.iij.ad.jp
     * extras: ftp.iij.ad.jp
     * updates: centos.usonyx.net
    依存性の解決をしています
    
    ***長いので略***
    
    :
      java-1.6.0-openjdk-devel.x86_64 1:1.6.0.41-1.13.13.1.el6_8
    
    依存性関連をインストールしました:
      alsa-lib.x86_64 0:1.1.0-4.el6             flac.x86_64 0:1.2.1-7.el6_6
      fontconfig.x86_64 0:2.8.0-5.el6           freetype.x86_64 0:2.3.11-17.el6
      giflib.x86_64 0:4.1.6-3.1.el6             java-1.6.0-openjdk.x86_64 1:1.6.0.41-1.13.13.1.el6_8
      jpackage-utils.noarch 0:1.7.5-3.16.el6    libICE.x86_64 0:1.0.6-1.el6
      libSM.x86_64 0:1.2.1-2.el6                libX11.x86_64 0:1.6.4-3.el6
      libX11-common.noarch 0:1.6.4-3.el6        libXau.x86_64 0:1.0.6-4.el6
      libXcomposite.x86_64 0:0.4.3-4.el6        libXext.x86_64 0:1.3.3-1.el6
      libXi.x86_64 0:1.7.8-1.el6                libXrender.x86_64 0:0.9.10-1.el6
      libXtst.x86_64 0:1.2.3-1.el6              libasyncns.x86_64 0:0.8-1.1.el6
      libjpeg-turbo.x86_64 0:1.2.1-3.el6_5      libogg.x86_64 2:1.1.4-2.1.el6
      libpng.x86_64 2:1.2.49-2.el6_7            libsndfile.x86_64 0:1.0.20-5.el6
      libvorbis.x86_64 1:1.2.3-4.el6_2.1        libxcb.x86_64 0:1.12-4.el6
      mailcap.noarch 0:2.1.31-2.el6             pulseaudio-libs.x86_64 0:0.9.21-26.el6
      tzdata-java.noarch 0:2018c-1.el6
    
    完了しました!
    [root@centos69-101 ~]# java -version
    java version "1.6.0_41"
    OpenJDK Runtime Environment (IcedTea6 1.13.13) (rhel-1.13.13.1.el6_8-x86_64)
    OpenJDK 64-Bit Server VM (build 23.41-b41, mixed mode)
    
  5. Tomcatをインストール(起動設定変更含む)します
  6. # yum install tomcat6 tomcat6-webapps tomcat6-admin-webapps
    # chkconfig tomcat6 on
    # chkconfig --list tomcat6
    

    コマンドサンプル

    [root@centos69-101 ~]# yum install tomcat6 tomcat6-webapps tomcat6-admin-webapps
    読み込んだプラグイン:fastestmirror
    インストール処理の設定をしています
    Loading mirror speeds from cached hostfile
     * base: ftp.iij.ad.jp
     * extras: ftp.iij.ad.jp
     * updates: centos.usonyx.net
    依存性の解決をしています
    --> トランザクションの確認を実行しています。
    ---> Package tomcat6.noarch 0:6.0.24-111.el6_9 will be インストール
    base/filelists_db                                                            | 6.4 MB     00:00
    extras/filelists_db                                                          |  26 kB     00:00
    
    ***長いので略***
    
    インストール:
      tomcat6.noarch 0:6.0.24-111.el6_9             tomcat6-admin-webapps.noarch 0:6.0.24-111.el6_9
      tomcat6-webapps.noarch 0:6.0.24-111.el6_9
    
    依存性関連をインストールしました:
      apache-tomcat-apis.noarch 0:0.1-1.el6
      at.x86_64 0:3.1.10-49.el6
      atk.x86_64 0:1.30.0-1.el6
      avahi-libs.x86_64 0:0.6.25-17.el6
      axis.noarch 0:1.2.1-7.5.el6_5
      bc.x86_64 0:1.06.95-1.el6
      bcel.x86_64 0:5.2-7.2.el6
      cairo.x86_64 0:1.8.8-6.el6_6
      classpathx-jaf.x86_64 0:1.0-15.4.el6
      classpathx-mail.noarch 0:1.1.1-9.4.el6
      cups-libs.x86_64 1:1.4.2-78.el6_9
      cvs.x86_64 0:1.11.23-16.el6
      db4-cxx.x86_64 0:4.7.25-22.el6
      db4-devel.x86_64 0:4.7.25-22.el6
      ecj.x86_64 1:4.5.2-3.el6
      ed.x86_64 0:1.1-3.3.el6
      gdbm-devel.x86_64 0:1.8.0-39.el6
      gdk-pixbuf2.x86_64 0:2.24.1-6.el6_7
      gettext.x86_64 0:0.17-18.el6
      glibc-devel.x86_64 0:2.12-1.209.el6_9.2
      glibc-headers.x86_64 0:2.12-1.209.el6_9.2
      gtk2.x86_64 0:2.24.23-9.el6
      hicolor-icon-theme.noarch 0:0.11-1.1.el6
      jakarta-commons-collections.noarch 0:3.2.1-3.5.el6_7
      jakarta-commons-daemon.x86_64 1:1.0.1-8.9.el6
      jakarta-commons-dbcp.noarch 0:1.2.1-13.9.el6
      jakarta-commons-discovery.noarch 1:0.4-5.4.el6
      jakarta-commons-httpclient.x86_64 1:3.1-0.9.el6_5
      jakarta-commons-logging.noarch 0:1.0.4-10.el6
      jakarta-commons-pool.x86_64 0:1.3-12.7.el6
      jakarta-taglibs-standard.noarch 0:1.1.1-11.7.el6_7
      jasper-libs.x86_64 0:1.900.1-21.el6_9
      java-1.5.0-gcj.x86_64 0:1.5.0.0-29.1.el6
      java_cup.x86_64 1:0.10k-5.el6
      kernel-headers.x86_64 0:2.6.32-696.20.1.el6
      libXcursor.x86_64 0:1.1.14-2.1.el6
      libXdamage.x86_64 0:1.1.3-4.el6
      libXfixes.x86_64 0:5.0.3-1.el6
      libXft.x86_64 0:2.3.2-1.el6
      libXinerama.x86_64 0:1.1.3-2.1.el6
      libXrandr.x86_64 0:1.5.1-1.el6
      libart_lgpl.x86_64 0:2.3.20-5.1.el6
      libgcj.x86_64 0:4.4.7-18.el6
      libgomp.x86_64 0:4.4.7-18.el6
      libthai.x86_64 0:0.1.12-3.el6
      libtiff.x86_64 0:3.9.4-21.el6_8
      log4j.x86_64 0:1.2.14-6.4.el6
      mailx.x86_64 0:12.4-8.el6_6
      man.x86_64 0:1.6f-39.el6
      mx4j.noarch 1:3.0.1-9.13.el6
      pango.x86_64 0:1.28.1-11.el6
      patch.x86_64 0:2.6-6.el6
      pax.x86_64 0:3.4-10.1.el6
      perl.x86_64 4:5.10.1-144.el6
      perl-CGI.x86_64 0:3.51-144.el6
      perl-ExtUtils-MakeMaker.x86_64 0:6.55-144.el6
      perl-ExtUtils-ParseXS.x86_64 1:2.2003.0-144.el6
      perl-Module-Pluggable.x86_64 1:3.90-144.el6
      perl-Pod-Escapes.x86_64 1:1.04-144.el6
      perl-Pod-Simple.x86_64 1:3.13-144.el6
      perl-Test-Harness.x86_64 0:3.17-144.el6
      perl-Test-Simple.x86_64 0:0.92-144.el6
      perl-devel.x86_64 4:5.10.1-144.el6
      perl-libs.x86_64 4:5.10.1-144.el6
      perl-version.x86_64 3:0.77-144.el6
      pixman.x86_64 0:0.32.8-1.el6
      redhat-lsb-core.x86_64 0:4.0-7.el6.centos
      regexp.x86_64 0:1.5-4.4.el6
      sinjdoc.x86_64 0:0.5-9.1.el6
      time.x86_64 0:1.7-38.el6
      tomcat6-el-2.1-api.noarch 0:6.0.24-111.el6_9
      tomcat6-jsp-2.1-api.noarch 0:6.0.24-111.el6_9
      tomcat6-lib.noarch 0:6.0.24-111.el6_9
      tomcat6-servlet-2.5-api.noarch 0:6.0.24-111.el6_9
      wsdl4j.noarch 0:1.5.2-7.8.el6
      xalan-j2.noarch 0:2.7.0-9.9.el6_5
      xml-commons-apis.x86_64 0:1.3.04-3.6.el6
      xml-commons-resolver.x86_64 0:1.1-4.18.el6
      xz.x86_64 0:4.999.9-0.5.beta.20091007git.el6
      xz-lzma-compat.x86_64 0:4.999.9-0.5.beta.20091007git.el6
      zip.x86_64 0:3.0-1.el6_7.1
    
    完了しました!
    [root@centos69-101 ~]# chkconfig tomcat6 on
    [root@centos69-101 ~]# chkconfig --list tomcat6
    tomcat6         0:off   1:off   2:on    3:on    4:on    5:on    6:off
    
  7. Apacheをインストール(起動設定変更含む)します
  8. # yum install httpd
    # httpd -v
    # chkconfig httpd on
    # chkconfig --list httpd
    

    コマンドサンプル

    [root@centos69-101 ~]# yum install httpd
    読み込んだプラグイン:fastestmirror
    インストール処理の設定をしています
    Loading mirror speeds from cached hostfile
     * base: ftp.iij.ad.jp
     * extras: ftp.iij.ad.jp
     * updates: centos.usonyx.net
    依存性の解決をしています
    
    *** 長いので略***
    
    インストール:
      httpd.x86_64 0:2.2.15-60.el6.centos.6
    
    依存性関連をインストールしました:
      apr.x86_64 0:1.3.9-5.el6_9.1                   apr-util.x86_64 0:1.3.9-3.el6_0.1
      apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1         httpd-tools.x86_64 0:2.2.15-60.el6.centos.6
    
    完了しました!
    [root@centos69-101 ~]# httpd -v
    Server version: Apache/2.2.15 (Unix)
    Server built:   Oct 19 2017 16:43:38
    
    [root@centos69-101 ~]# chkconfig httpd on
    [root@centos69-101 ~]# chkconfig --list httpd
    httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
    
  9. httpdとtomcatを連携します
    /etc/httpd/conf.d/proxy_ajp.confが存在しなかったため新規で作成
    検証環境ではカレッジタイムは設定していません
  10. # vi /etc/httpd/proxy_ajp.conf
    記述内容
    ProxyPass /time4/srv/ ajp://localhost:8009/time4/srv/
    ProxyPass /time4/pub/ ajp://localhost:8009/time4/pub/
    ProxyPass /human4/srv/ ajp://localhost:8009/human4/srv/
    ProxyPass /human4/pub/ ajp://localhost:8009/human4/pub/
    ProxyPass /payroll4/srv/ ajp://localhost:8009/payroll4/srv/
    ProxyPass /payroll4/pub/ ajp://localhost:8009/payroll4/pub/
    
  11. httpdとtomcat6を開始します
  12. # service tomcat6 start
    # serivce httpd start
    
    [root@centos69-101 ~]# service tomcat6 start
    Starting tomcat6:                                          [  OK  ]
    [root@centos69-101 ~]# service httpd start
    httpd を起動中: httpd: apr_sockaddr_info_get() failed for centos69-101
    httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                               [  OK  ]
    
  13. PostgreSQLをインストール
  14. # yum install postgresql-server
    # psql --version
    

    コマンドサンプル

    [root@centos69-101 ~]# yum install postgresql-server
    読み込んだプラグイン:fastestmirror
    インストール処理の設定をしています
    Loading mirror speeds from cached hostfile
     * base: download.nus.edu.sg
     * extras: centos.usonyx.net
     * updates: centos.usonyx.net
    依存性の解決をしています
    --> トランザクションの確認を実行しています。
    
    ****長いので略****
    
    インストール:
      postgresql-server.x86_64 0:8.4.20-8.el6_9
    
    依存性関連をインストールしました:
      postgresql.x86_64 0:8.4.20-8.el6_9             postgresql-libs.x86_64 0:8.4.20-8.el6_9
    
    完了しました!
    [root@centos69-101 ~]# psql --version
    psql (PostgreSQL) 8.4.20
    コマンドライン編集機能のサポートが組み込まれています。
    
  15. PostgreSQLのデータベースを初期化します
  16. # service postgresql initdb
    

    コマンドサンプル

    [root@centos69-101 ~]# service postgresql initdb
    データベースを初期化中:                                    [  OK  ]
    
  17. 認証方法を指定します
  18. # vi /var/lib/pgsql/data/pg_hba.conf
    

    変更箇所

    # IPv4 local connections:
    host    all         all         127.0.0.1/32          ident
    

    変更後

    # IPv4 local connections:
    host    all         all         127.0.0.1/32          md5
    
  19. PostreSQLを開始(起動設定変更含む)します
  20. # chkconfig postgresql on
    # service postgresql start
    

    コマンドサンプル

    [root@centos69-101 ~]# chkconfig postgresql on
    [root@centos69-101 ~]# service postgresql start
    postgresql サービスを開始中:                               [  OK  ]
    
  21. PostgreSQLのパスワード設定
    パスワードはインストールガイドに従ってpostgresを設定しています
  22. # su - postgres
    

    コマンドサンプル

    [root@centos69-101 ~]# su - postgres
    -bash-4.1$ psql
    psql (8.4.20)
    "help" でヘルプを表示します.
    
    postgres=# \password
    新しいパスワード:
    もう一度入力してください:
    postgres=# \q
    -bash-4.1$ exit
    logout
    
  23. MosPアプリケーションをダウンロードします
  24. # wget https://ja.osdn.net/dl/mosp/payroll4.war
    # wget https://ja.osdn.net/dl/mosp/time4.war
    # wget https://ja.osdn.net/dl/mosp/human4.war
    

    コマンドサンプル(抜粋)

    [root@centos69-101 ~]# wget https://ja.osdn.net/dl/mosp/payroll4.war
    --2018-02-19 11:50:35--  https://ja.osdn.net/dl/mosp/payroll4.war
    
    長さ: 23335289 (22M)
    `payroll4.war' に保存中
    
    100%[==========================================================>] 23,335,289  7.63M/s 時間 2.9s
    
    2018-02-19 11:50:57 (7.63 MB/s) - `payroll4.war' へ保存完了 [23335289/23335289]
    
    [root@centos69-101 ~]# wget https://ja.osdn.net/dl/mosp/time4.war
    --2018-02-19 11:53:12--  https://ja.osdn.net/dl/mosp/time4.war
    
    `time4.war' に保存中
    
    100%[==========================================================>] 21,850,480  7.38M/s 時間 2.8s
    
    2018-02-19 11:53:18 (7.38 MB/s) - `time4.war' へ保存完了 [21850480/21850480]
    
    [root@centos69-101 ~]# wget https://ja.osdn.net/dl/mosp/human4.war
    --2018-02-19 11:51:29--  https://ja.osdn.net/dl/mosp/human4.war
    
    長さ: 14271678 (14M)
    `human4.war' に保存中
    
    100%[==========================================================>] 14,271,678  8.12M/s 時間 1.7s
    
    2018-02-19 11:51:31 (8.12 MB/s) - `human4.war' へ保存完了 [14271678/14271678]
    
  25. MosPアプリケーションを配置します
    検証では/root/ディレクトリにダウンロードしたwarファイルが存在している状態です
    warファイルは/usr/share/tomcat6/webapps/以下に配置します
  26. # mv time4.war /usr/share/tomcat6/webapps/time4.war
    # mv human4.war /usr/share/tomcat6/webapps/human4.war
    # mv payroll4.war /usr/share/tomcat6/webapps/payroll4.war
    
    [root@centos69-101 ~]# ls /usr/share/tomcat6/webapps/
    ROOT  examples  host-manager  manager  sample
    [root@centos69-101 ~]# mv time4.war /usr/share/tomcat6/webapps/time4.war
    [root@centos69-101 ~]# mv human4.war /usr/share/tomcat6/webapps/human4.war
    [root@centos69-101 ~]# mv payroll4.war /usr/share/tomcat6/webapps/payroll4.war
    [root@centos69-101 ~]# ls /usr/share/tomcat6/webapps/
    ROOT      host-manager  human4.war  payroll4      sample  time4.war
    examples  human4        manager     payroll4.war  time4
    
  27. httpdとtomcatを再起動します
  28. # service tomcat6 restart
    # service httpd restart
    

    コマンドサンプル

    [root@centos69-101 ~]# service tomcat6 restart
    Stopping tomcat6: waiting for processes 1889 to exit
                                                               [  OK  ]
    Starting tomcat6:                                          [  OK  ]
    [root@centos69-101 ~]# service httpd restart
    httpd を停止中:                                            [  OK  ]
    httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                               [  OK  ]
    

ここまででインストールは完了です。
httpdのエラーはhttpd.confの設定をすることで解消するハズです。

MosPの初期設定

MosPデータベースを設定するために次のURLにブラウザでアクセスします。

  • 勤怠管理
    http://localhost/time4/pub/common/html/setup.html
  • 給与計算
    http://localhost/payroll4/pub/common/html/setup.html
  • 人事管理
    http://localhost/human4/pub/common/html/setup.html

検証環境はデスクトップをインストールしていないので、リモートからブラウザでアクセスします。
この場合はlocalhost箇所をサーバのIPアドレスに変更します。

  1. ブラウザから設定用URLを開きます
    サンプルではhttp://192.168.1.101/time4/pub/common/html/setup.html
  2. MosP 初期設定

  3. Postgresパスワードを入力して[DB接続]ボタンをクリックします
    ここで入力するのはPostgresのパスワード設定項で設定したパスワードです
    マニュアルに従っていればpostgres
  4. MosP 初期設定

  5. 接続確認に[OK]ボタンをクリックします
    ログイン情報を記憶させるかの確認が出る場合は[x]で閉じます
  6. MosP 初期設定

  7. DB-ROLE作成でDB名、ユーザ名、DBパスワードを確認して[作成]ボタンをクリックします
  8. MosP 初期設定

  9. 作成確認に[OK]ボタンをクリックします
  10. MosP 初期設定

  11. 新規ユーザ登録で管理者ユーザを登録します
  12. MosP 初期設定
    MosP 初期設定

  13. 登録確認に[OK]ボタンをクリックします
  14. 登録が完了したら[MosPへGO!]ボタンをクリックします
    ここで表示しているIDとパスワードでログインします
  15. MosP 初期設定

  16. 移動確認に[OK]ボタンをクリックします
  17. ユーザIDとパスワードを入力して[ログイン]ボタンをクリックします
    ログイン情報を記憶させるかの確認が出る場合は[x]で閉じます
  18. MosP 初期設定
    MosP 初期設定

  19. ポリシーに合わせてパスワードを設定します
    入力後に[変更]ボタンをクリックします
  20. MosP 初期設定

  21. 変更確認に[OK]ボタンをクリックします
  22. MosP 初期設定

  23. ログイン完了
  24. MosP 初期設定

今回は3つの機能をインストールしていますが、初期設定は1つで実施すれば他の機能も使用できました。

ガイドに沿って作業をすればエラーもなくインストールと環境構築ができました。オープンソースソフトウェアの場合、躓くこともおおいのですが、MosPは良くできていると感じました。

MosPの操作ガイド

操作ガイドはMosP公式サイトからダウンロードします。また、デモサイトも参考にした方がいいかと思います。
カスタマイズできるのですが、私はバックオフィスシステムを業務にしたことが無いため、使い易さなどを記述することができません。申し訳ありません。