Memo/Aipo

http://dexlab.net/pukiwiki/index.php?Memo/Aipo
 

無料グループウェア Aipo

  • 無料グループウェア 『アイポ5』
    • 日本語
    • 携帯対応
    • スマートフォン対応(iPhone,Android,WindowsMobile?)
    • スケジュール(カレンダー)管理
    • 勤怠管理
    • インストール型
    • Java + Tomcat + PostgreSQL
    • オープンソースだが、修正して販売するにはライセンス料支払いが必要

リマインダーメール

  1. vi /usr/local/aipo/tomcat/webapps/aipo/WEB-INF/conf/JetspeedJResources.properties
  2. ----
  3. daemon.entry=remainderscheduledaemon
  4.  
  5. daemon.remainderscheduledaemon.classname=com.aimluck.eip.schedule.daemon.RemainderScheduleDaemon
  6. daemon.remainderscheduledaemon.interval=30
  7. daemon.remainderscheduledaemon.onstartup=false
  8. ----
  9. /usr/local/aipo/bin/shutdown.sh
  10. /usr/local/aipo/bin/startup.sh

テーブル構成

  • Aipo5.1.0.1a
  • eip_t_mail
    1. org001=# \d eip_t_mail
    2.                                         TABLE "public.eip_t_mail"
    3.    COLUMN    |            Type             |                          Modifiers                          
    4. -------------+-----------------------------+--------------------------------------------------------------
    5.  mail_id     | integer                     | NOT NULL DEFAULT NEXTVAL('eip_t_mail_mail_id_seq'::regclass)
    6.  user_id     | integer                     | NOT NULL
    7.  account_id  | integer                     | NOT NULL
    8.  folder_id   | integer                     | NOT NULL
    9.  type        | character(1)                | 
    10.  read_flg    | character(1)                | 
    11.  subject     | character varying           | 
    12.  person      | character varying           | 
    13.  event_date  | timestamp without time zone | 
    14.  file_volume | integer                     | 
    15.  has_files   | character(1)                | 
    16.  file_path   | character varying           | 
    17.  mail        | bytea                       | 
    18.  create_date | date                        | 
    19.  update_date | timestamp without time zone | 
    20. Indexes:
    21.     "eip_t_mail_pkey" PRIMARY KEY, btree (mail_id)

DBパスワード

  • 以下にファイルがあり、「********」の部分がパスワード
    1. cat /home/aipo_postgres/.pgpass
    2. localhost:5432:org001:aipo_postgres:********

Webメールを定期的に削除する

  • 以下非公式なので何が起きても自己責任。

Aipo5.1のWebメールはPOPクライアントとして動作するようで、データベース内にどんどんメールがたまり、消えません。バックアップ時にも時間と容量が圧迫されます。
サポートセンターにメールしたところ、「また、Webメール一括削除SQL等につきましては、現在提供させていただいておりません。」との回答。

  • 6.5GB程ためこんだユーザが以下のエラーで受信できなくなりました。
    org.apache.turbine.util.TurbineException:
     Error rendering Velocity template:
     /controls/html/jetspeed.vm:
     Invocation of method 'getContent'
     in class org.apache.jetspeed.portal.security.portlets.CacheableStatefulPortletWrapper
     threw exception class java.lang.OutOfMemoryError : Java heap space
  • 1ヶ月より前のメールを削除
    1. psql -U aipo_postgres -p 5432 org001
    2.  
    3. DELETE FROM eip_t_mail WHERE cast(event_date AS timestamp) <= (current_timestamp - interval '1 month');
    4.  
    5. メール実体を削除
    6. find /usr/LOCAL/aipo/tomcat/webapps/aipo/WEB-INF/mail/ -type f -mtime +31 -exec rm -f {} \;
  • cronに設定。mailディレクトリはrootユーザなので、rootユーザで実行。1日に1回上記コマンドを実行。中身は環境に合わせて変える。
    1. sudo su -
    2.  
    3. cat >> /usr/local/aipo/bin/aipo_cleanup.sh << 'EOS'
    4. #!/bin/bash
    5. #
    6. # aipo cron
    7. #
    8. # - encoding : utf-8
    9.  
    10. AIPO_HOME=/usr/local/aipo
    11. AIPO_POSTGRES_USER=aipo_postgres
    12. port_num=5432
    13.  
    14. # Webメールが多すぎるとエラーが出るため、1ヶ月以上前のメールは削除
    15. sudo -u $AIPO_POSTGRES_USER $AIPO_HOME/postgres/bin/psql -U $AIPO_POSTGRES_USER -p $port_num org001 -c "delete from eip_t_mail where cast(event_date as timestamp) <= (current_timestamp - interval '1 month');"
    16.  
    17. find $AIPO_HOME/tomcat/webapps/aipo/WEB-INF/mail/ -type f -mtime +31 -exec rm -f {} \;
    18. EOS
    19.  
    20.  
    21. chmod 755 /usr/local/aipo/bin/aipo_cleanup.sh
    22. ln -s /usr/local/aipo/bin/aipo_cleanup.sh /etc/cron.daily/

Aipo5でDNSキャッシュがクリアされない

  • メールサーバのIPだけ変わった後、 Webメール機能で送受信できなくなりました。
  • メールサーバのログをみても、そもそもアクセスが無い。ということでJavaがキャッシュしているだとうと考えググるとありました。
  • Javaのセキュリティ設定で、TTLのデフォルトが-1(無期限)になっているため。これを 0(キャッシュしない)に変更
    1. chmod 644 /usr/local/aipo/jre/lib/security/java.security
    2. vi /usr/local/aipo/jre/lib/security/java.security
    3. ----
    4. networkaddress.cache.ttl=0
    5. ----
  • 再起動
    1. cd /usr/local/aipo/bin/
    2. ./shutdown.sh
    3. ./startup.sh

伝言メモのデフォルトを「選択して下さい」に変更

  • 伝言メモ追加の宛先について
  • 伝言メモのデフォルトを「選択して下さい」に変更。デフォルトの「ユーザ全員」だと誤って全員に送信してしまうため
    1. --- /usr/local/aipo/tomcat/webapps/aipo/javascript/aipo/note/form.js        2010-04-27 17:54:58.000000000 +0900
    2. +++ /usr/local/aipo/tomcat/webapps/aipo/javascript/aipo/note/form.js       2010-04-27 17:56:16.000000000 +0900
    3. @@ -62,7 +62,7 @@
    4.  }
    5.  
    6.  aipo.note.changeGroup = function(link, group, sel) {
    7. -    aimluck.utils.form.createSelect("dest_user_id", "destuserDiv", link + "?mode=group&groupname=" + group + "&inc_luser=false", "userId", "aliasName", sel, '<option value="all">(ユーザー全員)<\/option>');
    8. +    aimluck.utils.form.createSelect("dest_user_id", "destuserDiv", link + "?mode=group&groupname=" + group + "&inc_luser=false", "userId", "aliasName", sel, '<option value="">(選択して下さい)</option><option value="all">(ユーザー全員)<\/option>');
    9.  }
    10.  
    11.  aipo.note.onReceiveMessage = function(msg){

アンインストール


another postmaster may be running

  1. cd /usr/local/aipo/bin
  2. bash shutdown.sh
  3. bash startup.sh
  4.  
  5. pg_ctl: another postmaster may be running; trying to start postmaster anyway
  6. pg_ctl: could not start postmaster
  • 解決方法
    • プロセスが残っていないか確認。複数ポートで起動している場合は注意。
      1. ps aux | grep postmaster
    • 残っていないなら、pidを削除
      1. cd /usr/local/aipo/
      2. rm ./postgres/data/postmaster.pid
      3. cd bin
      4. bash shutdown.sh
      5. bash startup.sh

携帯でみると真っ白になる対策

  • / -> /aipo/ にリダイレクトしようとして失敗している模様
  • 対策 .htaccessやhttpd.confでhttpヘッダでリダイレクトを行うようにする
    1. # 携帯でリダイレクトに失敗して画面が真っ白になる対策
    2. RedirectMatch ^\/$ http://group.example.com/aipo/
  • iモードエミュレータのエラー
    1. ==<HTMLのチェックを行います>==
    2. <meta>に設定された属性"http-equiv"に指定されている値"refresh"は正しくないため無視されました。
    3. ==<HTMLのチェックが終了しました>==
    4. 読込みサイズ: 228
    5. 読込み完了。
    6. ============================================================
  • 出力しているhtml
    1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    2. <html>
    3. <head>
    4. <META HTTP-EQUIV="refresh" CONTENT="0;URL=/aipo/">
    5. <title>Aipo</title>
    6. </head>
    7. <body>
    8. </body>
    9. </html>

セッションタイムアウトの延長

  • デフォルト30分
    1. /usr/local/aipo/tomcat/conf/web.xml
    2. ----
    3. <session-timeout>30</session-timeout>
    4. ----
  • 変更したらtomcatの再起動
    1. /usr/local/aipo/bin/shutdown.sh
    2. /usr/local/aipo/bin/startup.sh

Apacheと同居

  • Apacheがポート80で動作しており、同一サーバにAipoをインストールする場合
  • Aipoはポート81の例
  • リバースプロキシで http://group.example.com:80/ -> http://127.0.0.1:81/ アクセスさせる
  • Basic認証 /usr/local/aipo/etc/.htpasswd
  • バーチャルホストの設定例
    • /etc/httpd/conf.d/group.example.com.conf
      1. <VirtualHost *:80>
      2.     # ドメイン
      3.     ServerName group.example.com
      4.     ServerAdmin webmaster@example.com
      5.     # アクセスログ
      6. #    LogLevel debug
      7.     TransferLog logs/group.example.com-transfer_log
      8.     ErrorLog logs/group.example.com-error_log
      9.     CustomLog logs/group.example.com-access_log combined env=!no_log
      10.  
      11.     #---
      12.     ProxyRequests Off
      13.  
      14.     #プロキシの到達先にもホスト名を伝える(Aipo利用の場合は必須)
      15.     ProxyPreserveHost On
      16.  
      17.     # 127.0.0.1はAipoをインストールしている
      18.     # サーバーのIPを指定してください
      19.     ProxyPass / http://127.0.0.1:81/ retry=5
      20.     ProxyPassReverse / http://127.0.0.1:81/
      21.  
      22.     #---
      23.     #ベーシック認証
      24.     <Location />
      25.         # 携帯でリダイレクトに失敗して画面が真っ白になる対策
      26.         RedirectMatch ^\/$ http://group.example.com/aipo/
      27.         AuthUserFile /usr/local/aipo/etc/.htpasswd
      28.         AuthName "Password"
      29.         AuthType Basic
      30.         Require valid-user
      31.     </Location>
      32. </VirtualHost>

お問い合わせ画面の削除

  • お問い合わせの削除
    1. /usr/local/aipo/tomcat/webapps/aipo/WEB-INF/psml/user/admin/html/default.psml
    2. ----
    3. <entry id="120" parent="AipoNews"> 
    4. <layout position="0" size="-1"> 
    5. <property name="column" value="0"/> 
    6. <property name="row" value="0"/> 
    7. </layout> 
    8. </entry>
    9. ----

httpポートの変更

  1. vi /usr/local/aipo/tomcat/webapps/aipo/WEB-INF/conf/AipoResources.properties
  2. ----
  3. aipo.webappserver.port=81
  4. ----
  5.  
  6. vi /usr/local/aipo/tomcat/conf/server.xml
  7. ----
  8. <Connector port="81"
  9. ----
  10.  
  11. ./shutdown.sh

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-11-04 (水) 11:51:39 (1022d)