## Joruri CMS 2.2.1 インストールマニュアル 2017.03.14 ********************************************************************** 1 想定環境 ********************************************************************** [システム] OS : CentOS 6.6 64bit Webサーバ : Apache 2.2 DBシステム : MySQL 5 Ruby : 2.1.5 Rails : 3.2.13 [設定] IPアドレス : 192.168.0.2 ドメイン : 192.168.0.2 ********************************************************************** 2 CentOS のインストール ********************************************************************** CentOSをインストールします。 インストール完了後、ご利用の環境に合わせて適切なセキュリティ設定を行ってください。 CentOSに関するセキュリティ設定については、本マニュアルの範囲外となります。 ********************************************************************** 3 事前準備 ********************************************************************** rootユーザに変更します。 $ su - 必要なパッケージをインストールします。 # yum -y install \ git wget make gcc-c++ patch \ libxslt libxslt-devel libxml2-devel libyaml-* \ libjpeg-devel libpng-devel \ librsvg2-devel ghostscript-devel \ ImageMagick ImageMagick-devel \ curl-devel nkf openldap-devel \ shared-mime-info \ httpd httpd-devel \ mysql-server mysql-devel Joruriユーザを作成します。 # useradd joruri # passwd joruri Joruriソースコードを設置します。 # mkdir /var/share # git clone -b v2-master https://github.com/joruri/joruri-cms.git /var/share/joruri # cd /var/share/joruri # cp config/original/* config/ # cp -r public/_common/themes/joruri.original public/_common/themes/joruri # chown -R joruri:joruri ./ ********************************************************************** 4 Ruby 環境の構築 ********************************************************************** ====================================================================== 4.1 Rubyのインストール ====================================================================== Rubyをインストールします。 # yum -y install gcc-c++ libffi-devel libyaml-devel make openssl-devel readline-devel zlib-devel # cd /usr/local/src # curl -fsSLO http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz # tar xvzf ruby-2.1.5.tar.gz && cd ruby-2.1.5 && ./configure && make && make install ====================================================================== 4.2 gemライブラリのインストール ====================================================================== RubyGemsを更新します。 # gem update --system Ruby on Railsをインストールします。 # gem install rails -v 3.2.13 必要なライブラリをインストールします。 # cd /var/share/joruri # bundle install ********************************************************************** 5 MySQL のインストール ********************************************************************** 文字エンコーディングの標準を UTF-8 に設定します。 # vi /etc/my.cnf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [mysqld] character-set-server=utf8 default-table-type=myisam [client] default-character-set = utf8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## [mysqld]に設定を追加、[client]と設定を追加。 MySQLを起動します。 # /usr/bin/mysql_install_db --user=mysql # /sbin/service mysqld start 自動起動に設定します。 # /sbin/chkconfig mysqld on rootユーザのパスワードを設定します。 # mysqladmin -u root password "pass" joruriユーザを作成します。 # mysql -u root -ppass -e "grant all on *.* to joruri@localhost IDENTIFIED BY 'pass'" ※パスワードは適切な値を設定してください。本マニュアルでは pass と設定しています。 ********************************************************************** 6 Webサーバのインストール ********************************************************************** Apacheは[6.1]を、Thinは[6.2]の手順を進めてください。 ====================================================================== 6.1 Apacheの設定 ====================================================================== 設定ファイルを編集します。 # vi /etc/httpd/conf/httpd.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ServerName 192.168.0.2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Phusion Passengerをインストールします。 # gem install rack -v=1.6.4 # gem install passenger --no-ri --no-rdoc -v 4.0.53 # passenger-install-apache2-module ## 画面の内容を確認して Enterキーを押してください。 # cp /var/share/joruri/config/samples/passenger.conf /etc/httpd/conf.d/ 設定ファイルを登録します。 # vi /var/share/joruri/config/hosts/joruri.conf ## IPアドレス、ディレクトリパスを環境に合わせて修正してください。 # ln -s /var/share/joruri/config/hosts/joruri.conf /etc/httpd/conf.d/ 設定にエラーがないことを確認し、Apacheを起動します。 # /sbin/service httpd configtest # /sbin/service httpd start 自動起動に設定します。 # /sbin/chkconfig httpd on 設定に変更があった場合はApacheを再起動してください。 # /sbin/service httpd restart ====================================================================== 6.2 Thinの設定 ====================================================================== Thinをインストールします。 # thin install # sed -i "s/\/usr\/bin\/env ruby/\/usr\/local\/bin\/ruby/" /usr/local/bin/thin # chmod 777 /var/share/joruri/tmp/pids 設定ファイルを登録します。 # vi /var/share/joruri/config/hosts/joruri.yml ## IPアドレス、ディレクトリパスを環境に合わせて修正してください。 # ln -s /var/share/joruri/config/hosts/joruri.yml /etc/thin/ 自動起動に設定します。 # ln -s /etc/rc.d/thin /etc/rc.d/init.d/thin # /sbin/chkconfig thin on Thinを起動します。 # /sbin/service thin start ********************************************************************** 7 Joruri の設定 ********************************************************************** Joruriユーザに変更します。 # su - joruri $ cd /var/share/joruri ====================================================================== 7.1 設定ファイル ====================================================================== 環境に応じて設定ファイルを編集します。 Production(本番)モードでの動作を想定しています。 Joruriの基本設定 $ vi config/core.yml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - title : 管理画面ウィンドウタイトル uri : 管理画面URL (記述例 http://example.jp/) http_proxy : HTTP プロキシー (記述例 http://example.jp:8080/) https_proxy: HTTPSプロキシー (記述例 http://example.jp:8080/) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - その他の設定ファイルも適宜編集してください。 application.yml ... アプリケーション設定 database.yml ... データベース設定 ldap.yml ... LDAP設定 smtp.yml ... SMTP設定 ====================================================================== 7.2 データベースの作成 ====================================================================== データベースを作成します。 $ mysql -u root -p -e "create database joruri character set utf8" テーブルを作成します。 $ bundle exec rake db:schema:load RAILS_ENV=production 初期データを登録します。 $ bundle exec rake db:seed RAILS_ENV=production サンプルデータを登録します。 $ bundle exec rake db:seed:demo RAILS_ENV=production ====================================================================== 7.3 動作の確認 ====================================================================== ここまでの手順で Joruri にアクセスすることができます。 公開画面 : http://192.168.0.2/ 管理画面 : http://192.168.0.2/_admin サンプルデータでは次のユーザが登録されています。 +---------------+-----------+---------+-----------+ |ユーザ名 |権限 |ユーザID |パスワード | +---------------+-----------+---------+-----------+ |システム管理者 |管理者 | admin | admin | |徳島 太郎 |一般ユーザ | user1 | user1 | |徳島 花子 |一般ユーザ | user2 | user2 | |吉野 三郎 |一般ユーザ | user3 | user3 | +---------------+-----------+---------+-----------+ ********************************************************************** 8 ふりがな・読み上げ設定 ********************************************************************** 必要なパッケージをインストールします。 # yum -y install sox hts_engine APIをインストールします。 # cd /usr/local/src # curl -fsSLO http://downloads.sourceforge.net/hts-engine/hts_engine_API-1.09.tar.gz # tar zxf hts_engine_API-1.09.tar.gz && cd hts_engine_API-1.09 && ./configure CFLAGS='-O3 -march=native -funroll-loops' && make && make install Open JTalkをインストールします。 # cd /usr/local/src # curl -fsSLO http://downloads.sourceforge.net/open-jtalk/open_jtalk-1.08.tar.gz # tar zxf open_jtalk-1.08.tar.gz && cd open_jtalk-1.08 # sed -i 's/#define MAXBUFLEN 1024/#define MAXBUFLEN 10240/' bin/open_jtalk.c # ./configure --with-charset=UTF-8 CFLAGS='-O3 -march=native -funroll-loops' CXXFLAGS='-O3 -march=native -funroll-loops' && make && make install Dictionaryをインストールします。 # cd /usr/local/src # curl -fsSLO http://downloads.sourceforge.net/open-jtalk/open_jtalk_dic_utf_8-1.08.tar.gz # tar zxf open_jtalk_dic_utf_8-1.08.tar.gz # mkdir /usr/local/share/open_jtalk && mv open_jtalk_dic_utf_8-1.08 /usr/local/share/open_jtalk/dic LAMEをインストールします。 # cd /usr/local/src # curl -fsSLO http://jaist.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz # tar zxf lame-3.99.5.tar.gz && cd lame-3.99.5 && ./configure && make && make install MeCabをインストールします。 # cd /usr/local/src # curl -fsSL 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE' -o mecab-0.996.tar.gz # tar zxf mecab-0.996.tar.gz && cd mecab-0.996 && ./configure --enable-utf8-only && make && make install MeCab-IPAdicをインストールします。 # cd /usr/local/src # curl -fsSL 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM' -o mecab-ipadic-2.7.0-20070801.tar.gz # tar zxf mecab-ipadic-2.7.0-20070801.tar.gz && cd mecab-ipadic-2.7.0-20070801 && ./configure --with-charset=utf8 && make && make install MeCab-Rubyをインストールします。 # cd /usr/local/src # curl -fsSL 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7VUNlczBWVDZJbE0' -o mecab-ruby-0.996.tar.gz # tar zxf mecab-ruby-0.996.tar.gz && cd mecab-ruby-0.996 && ruby extconf.rb && make && make install ********************************************************************** 9 定期実行設定 ********************************************************************** # su - joruri $ crontab -e - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin 10,25,40,55 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake sys:tasks:exec' # 日時指定処理 #*/5 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake cms:nodes:publish_top' # トップページのみ書き出し */15 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake cms:nodes:publish' # ページ書き出し */15 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake cms:talks:publish' # 音声書き出し */30 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake cms:feeds:read' # フィード取り込み */10 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake newsletter:requests:read' # メルマガ読者登録 # 00 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake article:docs:rebuild' # 記事再構築(ページ) # 00 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake faq:docs:rebuild' # FAQ再構築(ページ) # 00 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake enquete:answers:pull' # アンケート取り込み ※[9.1] # 00 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake db:session:sweep' # DBセッション削除 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ====================================================================== 9.1 アンケートの取り込み ====================================================================== アンケートの取り込みは対象のデータベース設定を追加してください。 $ cd /var/share/joruri $ vi config/database.yml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - production_pull_database: adapter : mysql2 database: joruri username: joruri password: pass timeout : 5000 encoding: utf8 reconnect: true host: 192.168.0.4 production_pull_database_2: # settings production_pull_database_3: # settings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - **********************************************************************