## Enisys 2.0.1 インストールマニュアル 2017.04.28 ********************************************************************** 1 想定環境 ********************************************************************** [共通] OS : CentOS 7.2 サーバ : Apache 2.4 DBシステム : MariaDB 5.5.47 キャッシュ : memcached 1.4.15 Ruby : Ruby 2.3.0 [GW] Rails : Rails 4.2.6 ホスト名 : enisysgw.co.jp [Mail] Rails : Rails 4.2.6 Mailサーバ : SMTP, IMAP4 ホスト名 : enisysmail.co.jp ※ホスト名は一例です。ご利用の環境に応じて変更してください。 ********************************************************************** 2 CentOS のインストール ********************************************************************** CentOSをインストールします。 インストール完了後、ご利用の環境に合わせて適切なセキュリティ設定を行ってください。 CentOSに関するセキュリティ設定については、本マニュアルの範囲外となります。 [設定] 接続を許可します。 # firewall-cmd --permanent --add-port=25/tcp # firewall-cmd --permanent --add-port=80/tcp # firewall-cmd --permanent --add-port=143/tcp firewallを再起動します # systemctl restart firewalld # firewall-cmd --list-all hostsを設定します。 # vi /etc/hosts - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # 後ろにホスト名を追記する。 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 enisysmail.co.jp enisysgw.co.jp - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SELinuxを無効にします。 # vi /etc/sysconfig/selinux - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SELINUX=disabled - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kernel panic対策として起動時のオプションを変更します。 # vi /etc/default/grub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # 後ろに「selinux=0」を追記する。 GRUB_CMDLINE_LINUX="crashkernel=auto ... rhgb quiet selinux=0" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - grub.cfgファイルの再構築を行います。 # grub2-mkconfig -o /boot/grub2/grub.cfg 再起動します。 # shutdown -r now ********************************************************************** 3 事前準備 ********************************************************************** rootユーザーに変更します。 # su - Enisys GW/Mail の実行に必要なパッケージをインストールします。 # yum install -y wget make gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel # yum install -y openssl-devel make bzip2 autoconf automake libtool bison iconv-devel libjpeg-devel libpng-devel # yum install -y ImageMagick ImageMagick-devel curl-devel libevent libevent-devel mariadb mariadb-server mysql-server mysql-devel httpd httpd-devel # yum install -y libxslt libxslt-devel libxml2-devel librsvg2-devel ghostscript-devel shared-mime-info memcached Enisys GWソースコードを設置します。 # mkdir /var/share # tar xvzf enisysgw-2.0.1.tar.gz -C /var/share # chown -R apache:apache /var/share/enisysgw Enisys Mailソースコードを設置します。 # mkdir /var/share # tar xvzf enisysmail-2.0.1.tar.gz -C /var/share # chown -R apache:apache /var/share/enisysmail ********************************************************************** 4 Apache の設定 ********************************************************************** Apacheの設定ファイルを編集します。 # vi /etc/httpd/conf/httpd.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #ホスト名を設定します ServerName enisys.co.jp - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #バーチャルホストを設定します NameVirtualHost *:80 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #アクセス制限を設定を変更します AllowOverride none #Require all denied - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 自動起動に設定します。 # systemctl enable httpd.service ********************************************************************** 5 MariaDB の設定 ********************************************************************** 設定ファイルを編集 # vi /etc/my.cnf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [mysqld] character-set-server=utf8 default-storage-engine=innodb [mysql] default-character-set=utf8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## [mysqld]に設定を追加、[mysql]と設定を追加。 MariaDBを初期化 # mysql_install_db # chown -R mysql:mysql /var/lib/mysql/ MariaDBを起動します。 # systemctl start mariadb.service 自動起動に設定します。 # systemctl enable mariadb.service DBの初期設定 # mysql_secure_installation rootユーザーのパスワードを設定します。 # /usr/bin/mysqladmin -u root password "pass" enisysユーザーを作成します。 # /usr/bin/mysql -u root -p -e "grant all on *.* to enisys@localhost IDENTIFIED BY 'pass'" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # パスワード入力を要求した場合は、rootユーザーのパスワードを入力する。 Enter password: [rootのpassword] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ********************************************************************** 6 Ruby on Rails のインストール ********************************************************************** ====================================================================== 6.1 Ruby のインストール ====================================================================== RVM(Ruby Version Manager)をインストールします。 # curl -sSL https://rvm.io/mpapis.asc | gpg2 --import - # curl -L get.rvm.io | bash -s stable Rubyをインストールします。 ( RVMのインストール後、一旦ログアウトして、再度ログインしてから行います。 ) # rvm get head # rvm get stable # rvm install 2.3.0 ====================================================================== 6.2 Phusion Passenger のインストール ====================================================================== Phusion Passengerをインストールします。 # gem install passenger -v 5.0.27 # passenger-install-apache2-module ( 画面の内容を確認して Enterキーを押してください。 ) ====================================================================== 6.3 gemライブラリ のインストール ====================================================================== # gem install bundle Enisys Gwのライブラリをインストールします。 # cd /var/share/enisysgw # bundle install Enisys Mailのライブラリをインストールします。 # cd /var/share/enisysmail # bundle install ********************************************************************** 7 Enisys Gw のインストール ********************************************************************** Enisys GWを配置したディレクトリに移動します。 # cd /var/share/enisysgw ====================================================================== 7.1 設定ファイル ====================================================================== 以下の設定ファイルを編集します。 [is_attach]の値を設定します。ランダムな文字列を指定して下さい。 # vi config/application.yml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - gw: #大文字・小文字アルファベット、数字のみ可 is_attach: 52nL40gAaL54XI2lwW2YhgCCx4vHzH79GDxpg25Z - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## 上記の「52nL40gAaL54XI2lwW2YhgCCx4vHzH79GDxpg25Z」は例です。他者に特定されない値を設定してください。 secret_tokenの設定 # cd /var/share/enisysgw # rake secret # vi config/initializers/secret_token.rb - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EnisysGw::Application.config.secret_token = '2b8920b0b5eedd707b774f535403d589eb79589ad85625296e089af3c0d8ab3755c750141235de2993a978bdeeb17581f75ab3aa1f48251c6b10c0c07b05b6be' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## 上記の「2b89...b6be」は例です。 ## 上記の形になるよう、['']の中身が[# rake secret]の結果になるよう設定してください。 環境に応じて設定ファイルを編集します。 Enisys Mailのurl情報 # vi config/application.yml DB接続情報 # vi config/database.yml LDAP接続情報 # vi config/ldap.yml SMTP接続情報 # vi config/environments/development.rb ※ production環境の場合は # vi config/environments/production.rb ※メール機能を利用する場合はSMTPの設定が必要です。 ====================================================================== 7.2 データベースの作成 ====================================================================== ※作業の途中でmysqlに設定したパスワードを聞かれますのでご用意ください。 データベース、テーブルを作成します。 # cd /var/share/enisysgw # rake db:create RAILS_ENV=development # rake db:migrate RAILS_ENV=development ※Railsの実行環境がproductionの場合、RAILS_ENVの指定は下記のようにしてください。 RAILS_ENV=production 初期(サンプル)データを登録します。 # mysql -u root -p development_enisysgw < ./db/demo_jgw_core_init.sql # mysql -u root -p development_enisysgw < ./db/demo_jgw_gw_init.sql ※Railsの実行環境がproductionの場合、データベース名は下記のようにしてください。 (.sqlファイルの名前はそのまま) production_enisysgw ※初期データの管理者ユーザーは、enisysadmです。  パスワードはenisysadmです。 ********************************************************************** 8 Enisys Mailのインストール ********************************************************************** Enisys Mailを配置したディレクトリに移動します。 # cd /var/share/enisysmail ====================================================================== 8.1 設定ファイル ====================================================================== 環境に応じて設定ファイルを編集します。 Enisys GWのurl情報 # vi config/application.yml Enisys Mail 基本設定 # vi config/core.yml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - title : Enisys Mail uri : http://enisysmail.co.jp/ proxy : ※プロキシ map_key: mail_domain: enisysmail.co.jp - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ※プロキシ プロキシサーバが導入されている場合は http://example:8080/ の様に記述してください。 DB接続情報 # vi config/database.yml SMTP, IMAPサーバ設定 # vi config/environments/development.rb ※ production環境の場合は # vi config/environments/production.rb ====================================================================== 8.2 データベースの作成 ====================================================================== ※作業の途中でmysqlに設定したパスワードを聞かれますのでご用意ください。 データベース、テーブルを作成します。 # cd /var/share/enisysmail/ # rake db:create RAILS_ENV=development # rake db:migrate RAILS_ENV=development ※Railsの実行環境がproductionの場合、RAILS_ENVの指定は下記のようにしてください。 RAILS_ENV=production 初期(サンプル)データを登録します。 # mysql -u root -ppass enisysmail < ./db/demo_mail_init.sql ********************************************************************** 9 memcached のインストール ********************************************************************** 自動起動に設定します。 # systemctl enable memcached.service memcachedを起動します。 # systemctl start memcached.service ********************************************************************** 10 VirtualHost の反映 ********************************************************************** Apacheの設定ファイルを追加します。 # cp /var/share/enisysgw/config/samples/enisys.conf /etc/httpd/conf.d Apacheを起動します。 # /sbin/service httpd start 以上でEnisysのインストールが完了しました。 ********************************************************************** 11 定期実行設定 ********************************************************************** ここではcrontabによる定期実行に関する設定例を説明しています。 削除期間が過ぎた情報を削除します。 以下の例は毎日3時〜4時にかけて削除しています。 動作環境が development 以外の場合は -e development の箇所をご利用の環境に書き換えてください。 例) rails runner -e development 'Scriptname' → rails runner -e production 'Scriptname'   # su - 削除期間が過ぎたスケジュールを削除します。 # crontab -e - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 00 3 * * * cd /var/share/enisysgw; /usr/local/bin/ruby script/rails runner -e development 'Gw::Script::Schedule.delete' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 期限切れで削除期間が過ぎた掲示板を削除します。 # crontab -e - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10 3 * * * cd /var/share/enisysgw; /usr/local/bin/ruby script/rails runner -e development 'Gwbbs::Script::Task.delete' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 期限切れで削除期間が過ぎた回覧板を削除します。 # crontab -e - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 20 3 * * * cd /var/share/enisysgw; /usr/local/bin/ruby script/rails runner -e development 'Gwcircular::Script::Task.delete' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 不要となったセッションのデータを削除します。 # crontab -e - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 30 3 * * * cd /var/share/enisysgw; /usr/local/bin/ruby script/rails runner -e development 'System::Script::Session.delete_expired_sessions' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 不要となった掲示板のデータを削除します。 # crontab -e - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 40 3 * * * cd /var/share/enisysgw; /usr/local/bin/ruby script/rails runner -e development 'Gwbbs::Script::Task.preparation_delete' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 不要となったドキュメント管理のデータを削除します。 # crontab -e - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 50 3 * * * cd /var/share/enisysgw; /usr/local/bin/ruby script/rails runner -e development 'Doclibrary::Script::Task.preparation_delete' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 既読となった新着情報を削除します。 # crontab -e - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 00 4 * * * cd /var/share/enisysgw; /usr/local/bin/ruby script/rails runner -e development 'Gw::Script::Reminder.clear' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 削除期間が過ぎたアクセスログを削除します。 # crontab -e - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10 4 * * * cd /var/share/enisysgw; /usr/local/bin/ruby script/rails runner -e development 'System::Script::Access_log.delete' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - **********************************************************************