■CentOS6.2のApacheでSPDYを有効にしたメモ
 GoogleのSPDYが簡単に利用できるようになったようなのでテストしてみたメモ。CentOS6.2環境下だととても簡単。ちなみにCentOS5.xでは標準ではApacheのバージョンがSPDYの条件を満たさないため一工夫必要。以下CentOS6.2がWebServer設定等でatとmod_sslが有効な状態でインストールされている前提でのメモ。ホント簡単。

■mod_spdyのインストール
 mod_sslをGoogleからダウンロードしてインストールする(ここではi386版)

  1. # wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_i386.rpm
  2.  # rpm -U mod-spdy-beta_current_i386.rpm
  3.  # apachectl graceful

■SPDYが有効になっていることを確認する
 ここではMacOSX 10.6.8で普通に起動したChrome 18.0.1025.165で確認した。

1)新規タブで以下のURLを開く
 chrome://net-internals/#spdy
2)左メニューのSPDY項目をクリックして表示しておく
3)新規タブを開いてSPDYを有効にした試験サーバにアクセスする
 https://www.example.com/
4)SPDY項目のタブに戻る(必要ならSPDY項目を再度クリック)
 SPDY sessionsのホストリストにwww.example.comが表示されていればOK

ChromeではSPDY利用について以下のように標準設定されているよう。
SSLが必ず必須になっていることに注意。

  1. SPDY Status
  2.  
  3. SPDY Enabled: true
  4. Use Alternate Protocol: true
  5. Force SPDY Always: false
  6. Force SPDY Over SSL: true
  7. Next Protocols: http/1.1,spdy/2
, , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■CentOS6.2環境に最新のphp5.3.10を導入するメモ
 CentOS6.2環境に最新のphpを導入するため試行錯誤したメモ。導入するリポジトリはIUS Community Projectのもの。同ProjectはPHP,MySQLの最新版をRH6系ディストリビューション向けに提供することを目的としている。現在本家のドキュメントと導入方法が結構異なっているのでメモしておく。

■IUSリポジトリの導入
 リポジトリインストール用のrpmパッケージが用意されていないので以下の手順で導入する。RH5系と違ってepelは必須になっていない模様。

  1. # vi /etc/yum.repos.d/ius.repo
  2. [ius]
  3. name=IUS Community Packages for Enterprise Linux 6 - $basearch
  4. #baseurl=http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/$basearch
  5. mirrorlist=http://dmirr.iuscommunity.org/mirrorlist?repo=ius-el6&arch=$basearch
  6. failovermethod=priority
  7. enabled=1
  8. gpgcheck=1
  9. gpgkey=file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY
  10.  
  11. # cd /etc/pki/rpm-gpg/
  12. # wget http://dl.iuscommunity.org/pub/ius/IUS-COMMUNITY-GPG-KEY
  13.  
  14. # yum update

■phpの入替え
 yumのreplaceプラグインを利用して一気に入替えを行う。

  1. # yum install yum-plugin-replace
  2. # yum replace php --replace-with php53u

これでphp5.3.10にリプレースされる。
インストール可能なrpmパッケージの一覧はここから参照可能。
http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/

, , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (1 投票, 平均値/最大値: 3.00 / 5)
Loading...

■CommuniGate Proの稼働状況をmuninで監視する
 CommuniGate Proの稼働状態をmuninで監視するためのメモ。前記事の続き。CommuniGate Proでのsnmp取得設定ができていることを前提とする。

■サーバ設定
 snmpwalkを使用可能にする
 # yum install net-snmp-utils
 CGPから値が取得できることを確認する
 # snmpwalk -v 2c -c password servername .1.3.6.1.4.1.5678.2

■script作成から設置まで
 サンプルとしてCGPのスレッド数を取得するscriptを作成する
 # cd /usr/share/munin/plugins/
 以下のscriptを作成
 # vi cgp_threads

  1. #!/bin/sh
  2.  
  3. if [ "$1" = "autoconf" ]; then
  4.         if [ -x /usr/bin/snmpwalk ]; then
  5.                 echo yes
  6.                 exit 0
  7.         else
  8.                 echo no
  9.                 exit 1
  10.         fi
  11. fi
  12.  
  13. if [ "$1" = "config" ]; then
  14.  
  15.         # THREADWARNING=200
  16.  
  17.         echo 'graph_title CGP Active Threads'
  18.         echo "graph_args -l 0"
  19.         echo 'graph_vlabel CGP Active Threads'
  20.         echo 'graph_info This graph shows CGP Active Threads'
  21.         echo 'graph_category CGP'
  22.  
  23.         echo 'threads.label CGP Active Threads'
  24.         echo 'threads.draw LINE2'
  25.         echo "threads.warning $THREADWARNING"
  26.         echo "threads.info CGP Active Threads"
  27.  
  28.         exit 0
  29. fi
  30.  
  31.         echo -n "threads.value "
  32.         snmpwalk -v 2c -c password servername 1.3.6.1.4.1.5678.2.100.20 | awk '{ print $4 }'

 実行権を付与する
 # chmod +x cgp_threads
 値が取得できるか確認する
 # munin-run -servicedir /usr/share/munin/plugins/ cgp_threads
 値が取得できれば実行できるよう設定する
 # cd /etc/munin/plugins/
 # ln -s /usr/share/munin/plugins/cgp_threads cgp_threads

これで後はグラフが更新されるのを待てばよい。

, , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■CommuniGate Proからsnmpで稼働状況取得
 CommuniGate Proの稼働状態をsnmpで取得するためのメモ。muninやzabbixなどの監視ツールで稼働状況を詳細に把握するためデータ取得を可能にする。

■サーバ設定
 CGPサーバ側でsnmpを有効にする(OSではなくCGPで)
 管理画面>設定>サービス>SNMP
 パスワードとトラップパスワードを設定する
 リスナーのリンクを開いてポートに161を指定する
 必要ならリモートIPアドレス制限に値を入力し制限をかける

■取得側設定
 CGPのsnmp出力はSNMPV2なので以下のコマンドで全パラメータが取得できる
 $ snmpwalk -v 2c -c password servername .1.3.6.1.4.1.5678.2

 MIB情報は以下より取得可能
 管理画面>モニター>統計>MIBのリンクをクリック

muninでグラフを作成するには、/usr/share/munin/plugins以下にあるsnmp関連のscriptを改造すればよいと思われる。

, , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■無償高機能Webmail Horde4 をインストールしてるメモ
 iPhone/iPadに対応した無償利用可能な高機能Webmail Horde4 webmail editionをインストールしている試行錯誤中のメモ。iPhone用のUIがなかなか使いやすいので期待している。Hordeの多彩な機能を利用可能にするために、必要なものを組み込んでいくとphpのエラーなどで使えなくなるという…。スケジュール周りのパーツが怪しそうなのだがまだ特定できず。現在までの手順とメモを覚書。このエントリは当面随時修正されますのでご注意ください。

■インストール環境

・CentOS6.2
・WebServerを選択しphp/mysql系を有効にする
・java/tomcat等不要なものはできるだけ削る

■インストール前準備

iptablesでWebアクセスを可能にする
# vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT
# service iptables restart

SELinuxの無効化(これしないとtest.phpでハマる)
# getenforce
Enforcing
# vi /etc/sysconfig/selinux
SELINUX=disabled
# reboot

■インストール手順(未完)

epelリポジトリの追加
# wget http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-5.noarch.rpm
# rpm -ivh epel-release-6-5.noarch.rpm
# yum update

必要なものをインストール(未完おそらく入れてはいけないものがある)
# yum install gcc php-eaccelerator php-pdo php-gd php-xml php-xmlrpc php-soap php-ldap php-imap php-mbstring php-pear php-tidy php-zts php-pecl-memcache php-intl php-devel re2c php-pear-XML-Serializer php-pecl-ssh2

php.iniを編集する
# vi /etc/php.ini
memory_limit = 384M
date.timezone = Asia/Tokyo
session.gc_divisor = 10000

mysqlにデータベースを作成する
# mysql -u root -p
mysql> grant all privileges on horde.* to horde@localhost identified by ‘hordepassword’ WITH GRANT OPTION;
mysql> CREATE DATABASE `horde` DEFAULT CHARACTER SET utf8 ;
mysql> quit

Horde4をインストールする(位置がhttp://www.example.com/horde/となるように)
# mkdir /var/www/html/horde
# pear upgrade PEAR
# pear channel-discover pear.horde.org
# pear install horde/horde_role
# pear run-scripts horde/horde_role
Filesystem location for the base Horde application : /var/www/html/horde
# pear install -a -B horde/webmail
# webmail-install

  1. Installing Horde Groupware Webmail Edition
  2.  
  3. Configuring database settings
  4.  
  5. What database backend should we use?
  6.     (false) [None]
  7.     (mysql) MySQL / PDO
  8.     (mysqli) MySQL (mysqli)
  9.     (pgsql) PostgreSQL
  10.     (sqlite) SQLite
  11.  
  12. Type your choice []: mysql
  13. Request persistent connections?
  14.     (1) Yes
  15.     (0) No
  16.  
  17. Type your choice [0]:
  18.  
  19. Username to connect to the database as* [] horde
  20. Password to connect with hordepassword
  21. How should we connect to the database?
  22.     (unix) UNIX Sockets
  23.     (tcp) TCP/IP
  24.  
  25. Type your choice [unix]:
  26.  
  27. Location of UNIX socket [] /var/lib/mysql/mysql.sock
  28.  
  29. Database name to use* [] horde
  30.  
  31. Internally used charset* [utf-8]
  32. Use SSL to connect to the server?
  33.     (1) Yes
  34.     (0) No
  35.  
  36. Type your choice [0]:
  37.  
  38. Certification Authority to use for SSL connections []
  39. Split reads to a different server?
  40.     (false) Disabled
  41.     (true) Enabled
  42.  
  43. Type your choice [false]:
  44.  
  45. Writing main configuration file... done.
  46.  
  47. Creating and updating database tables... done.
  48.  
  49. Configuring administrator settings
  50.  
  51. Specify an existing mail user who you want to give administrator
  52. permissions (optional): 管理ユーザ名
  53.  
  54. Writing main configuration file... done.
  55.  
  56. Thank you for using Horde Groupware Webmail Edition!

# vi /var/www/html/horde/config/conf.php
$conf[‘testdisable’] = false;

http://www.example.com/horde/test.php にアクセスして動作確認。

現手順ではtest.phpは動作するが、http://www.example.com/horde/でログイン画面を表示しようとすると何も出てこない。apacheのerrorログにphpエラーが検出されている。追加機能をいくつか対応する前は動作していたので余計なものを追加したのがいけない模様…現在調査中。また動作した場合であってもtest.phpでは外部アクセス可能なのに、ログインではローカルにあるIMAPサーバにしか接続できない状態だったので、設定をいろいろ検証する必要ありorz

■追加機能への対応

idn対応の追加
# yum install libidn-devel php-idn
# pecl install idn channel://pecl.php.net/idn-0.2.0
# vi /etc/php.ini
extension=idn.so

ImageMagick対応の追加
# yum install ImageMagick ImageMagick-devel php-magickwand
# pecl install imagick
Please provide the prefix of Imagemagick installation [autodetect] :
# vi /etc/php.ini
extension=imagick.so

GeoIP対応の追加
# yum install GeoIP php-pecl-geoip

Date_Holidaysの追加
# pear install Date_Holidays channel://pear.php.net/Date_Holidays-0.21.6
# pear install Date_Holidays_Japan channel://pear.php.net/Date_Holidays_Japan-0.1.2

, , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■VirtualBoxでCloneしたCentOS6のネットワーク接続回復手順
 VirtualBoxでCloneする際にMACアドレスの再設定をしてしまうと、Cloneした仮想マシンのeth0が起動時に認識されないため回復するための手順をメモ。

ネットワーク状態を確認(この時点ではeth0は表示されない)
# ifconfig

認識されているIFを確認(こちらではeth0が表示されるはず)
# ifconfig -a

もし見えなければ以下で確認
# cat /var/log/dmesg | grep eth0

eth0のMACアドレスをメモして、以下の2ヶ所と比較する
値が異なっていた場合メモの内容に書き換える(小文字表記も大文字で書くこと)
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# vi /etc/udev/rules.d/70-persistent-net.rules

eth0を有効にする
# ifup eth0
もしくは
# service network restart

これで接続が回復できるはず。

, ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■無償グループウェアaipo6をインストールしたメモ
 国産のOSSグループウェアaipo6をCentOS5.8にインストールしたメモ。多機能でシンプルなデザインになっているので若く小規模な事業体にウケそうな感じ。携帯電話やiPhone/iPadに標準で対応しているということで試してみた。インストールはVirtualBox上のWebServerとして最小構成に近いCentOS5.8。sshd以外tcpをListenしていない状態。

■インストール

# cd ~
# mkdir download
# cd download/
# wget http://aipo.googlecode.com/files/aipo6030ja_linux32.tar.gz
# tar -xvf aipo6030ja_linux32.tar.gz

説明ドキュメントが含まれるので必ず読むこと
# less ReadmeLinux.txt
インストールに必要なものをインストール
# yum install gcc make nmap zlib-devel readline-devel
アーカイブを展開
# tar -xvf aipo6030.tar.gz
/usr/localに配置する(任意)
# mv aipo /usr/local/
# cd /usr/local/aipo/bin/
# sh installer.sh

これでインストールが開始される。終了すると以下の表示。
==Aipo6.0.3.0インストール終了==
user:aipo_postgres
pass:q88as7cxxxxx
directory:/usr/local/aipo/postgres
port:5432
Aipo URL: http://192.168.0.xxx:80/aipo/

aipo組込みのPostgresのIDとパスが表示されるのでメモすること。
この状態ではaipoは起動していないので、以下で起動する。

# ./startup.sh
found temp directory
Using CATALINA_BASE: /usr/local/aipo/tomcat
Using CATALINA_HOME: /usr/local/aipo/tomcat
Using CATALINA_TMPDIR: /usr/local/aipo/tomcat/temp
Using JRE_HOME: /usr/local/aipo/jre
Using CLASSPATH: /usr/local/aipo/tomcat/bin/bootstrap.jar
Starting Aipo Version 6.0.3.0
Aipo URL: http://192.168.0.xxx:80/aipo/

この状態で上記URLにアクセスするとログイン画面が表示される。
初期のアカウントは説明ドキュメントを確認のこと。
終了は同パスで以下のコマンド

# ./shutdown.sh

■雑感

aipo自体はWebとDBを組み込んだグループウェアなので、メールサーバが別途必要。
Webメールアプリは標準ログインしたユーザ画面にはないがマイページタブの歯車アイコンをクリックし、レイアウトやアプリの設定をする画面から追加できる。残念なのはpop受信にしか対応しておらず、imapが使えないこと。ただSMTP/POPがそれぞれSSLに対応しているのは好印象。Webメールの使い勝手は微妙。メールを開く場合ブラウザ画面中央にポップアップ画面で表示するため、長文メールだとわずらわしい。しかも固定幅でリサイズが一切できない…。ヘッダ等は確認しやすい実装になっているだけに実に惜しい。

管理者が最初設定されているが、新規に管理権限を持つユーザを登録して、そのユーザで画面レイアウトなどを設定することで全ユーザに反映する画面レイアウトを構成することができるようになる。アプリケーションの追加も可能でaipo storeが専用に用意され、URLを読込むことで機能追加される面白い仕様となっている。

少し気になったことは以下のようにaipoはjavaが直接Webサーバとして動作していること、起動直後何か複数の外部アクセスを行っていること(1e100.netはGoogle管理のドメイン、www.terracottatech.comは現在www.terracottatech.orgとなってOSSのプロダクトをリリースしている)。採用しているライブラリ等の関連だと推測するがあまり気持ちいい感じはしない。少なくともインターネットからアクセス可能にする場合にはUTM配下に設置しIPSなどを有効にしておくことが必要と思われる。

  1. # lsof -i
  2. COMMAND    PID          USER   FD   TYPE DEVICE SIZE NODE NAME
  3. sshd      3492          root    3u  IPv6  38215       TCP *:ssh (LISTEN)
  4. sshd      3492          root    4u  IPv4  38217       TCP *:ssh (LISTEN)
  5. sshd      3806          root    3u  IPv4  38816       TCP aipo.example.com:ssh->192.168.0.63:50114 (ESTABLISHED)
  6. sshd      3842          root    3u  IPv4  44055       TCP aipo.example.com:ssh->192.168.0.63:50564 (ESTABLISHED)
  7. postgres 17813 aipo_postgres    3u  IPv6  72977       TCP *:postgres (LISTEN)
  8. postgres 17813 aipo_postgres    4u  IPv4  72978       TCP *:postgres (LISTEN)
  9. postgres 17813 aipo_postgres    6u  IPv4  72985       UDP aipo.example.com:54204->aipo.example.com:54204
  10. postgres 17844 aipo_postgres    6u  IPv4  72985       UDP aipo.example.com:54204->aipo.example.com:54204
  11. postgres 17845 aipo_postgres    6u  IPv4  72985       UDP aipo.example.com:54204->aipo.example.com:54204
  12. postgres 17846 aipo_postgres    6u  IPv4  72985       UDP aipo.example.com:54204->aipo.example.com:54204
  13. postgres 17847 aipo_postgres    6u  IPv4  72985       UDP aipo.example.com:54204->aipo.example.com:54204
  14. java     17849          root   36u  IPv6  73136       TCP *:http (LISTEN)
  15. java     17849          root   38u  IPv6  73193       TCP aipo.example.com:8005 (LISTEN)
  16. java     17849          root   99u  IPv6  73172       TCP aipo.example.com:40500->nrt19s12-in-f7.1e100.net:http (ESTABLISHED)
  17. java     17849          root  104u  IPv6  73181       TCP aipo.example.com:41698->nrt19s12-in-f16.1e100.net:http (ESTABLISHED)
  18. java     17849          root  105u  IPv6  73184       TCP aipo.example.com:40288->tx-in-f95.1e100.net:http (ESTABLISHED)
  19. java     17849          root  106u  IPv6  73192       TCP aipo.example.com:40369->www.terracottatech.com:http (ESTABLISHED)

iPhone/iPad/Android/Androidタブレットでそれぞれ利用してみたが、iPhone/Android用のスマホ画面では利用できる機能が限定されているらしく、標準ではスケジュール・ブログ・ワークフロー・掲示板・webメール・ToDo・アドレス帳・個人設定しか表示されず、項目を追加する方法がわからなかった。iPad/AndroidタブレットではPCと同じ画面が表示された。Androidタブレットでは標準ブラウザで若干表示がもたつく場合があり、可能ならChromeを利用する方が望ましいと思われた。

, , , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...