ラベル 運用 の投稿を表示しています。 すべての投稿を表示
ラベル 運用 の投稿を表示しています。 すべての投稿を表示

2018年5月10日木曜日

リモートデスクトップができなくなった(WindowsUpdate)

事務スタッフからの連絡を受けて事務所へ急行。
接続してみると。。。確かに接続できない。


要求された関数はサポートされていません
原因はCredSSP 暗号化オラクルの修復である可能性があります

見たことないメッセージ。ってオラクルってなんで?と思いつつ、エラーメッセージでGoogle検索すると、リモートデスクトップの接続元(ゲストPC)と、接続先(ホストPC)で、暗号化に関する機能のレベルが不一致だと起きる模様。

後で聞いたら、昨日の夜にWindowsUpdateが動いていたのだと。
https://blogs.technet.microsoft.com/jpsecurity/2018/05/09/201805-security-updates/

対処としては、同じ暗号化機能のバージョンが双方にあればよい。つまり、WindowsUpdateで双方を最新化すればよい。


ホストPC側もWindowsUpdateは済んでいて再起動待ちだったので、再起動して処置完了しました。

2018年4月4日水曜日

TERATERMマクロでYAMAHA RTXのconfigをまとめて取得

概略

タイトルがマニアックですが、要は

1)ネットワーク内に管理したいルーターがたくさんある
2)各ルーターのConfigを取得してテキストへ保管したい
3)同じ処理を繰り返すので、マクロ(TTPMACRO)など活用で何とかしたい

という要件です。

管理端末から各ルーターへの疎通は当然できる状態で、
1.ログイン
2.ログ取得開始
3.CONFIGを表示する命令を実施
4.ログ取得終了
5.ログアウト

ができればOKとします。

マクロファイルの作り方

teratermインストールディレクトリに拡張子が.ttlのサンプルファイルがいくつかありますがそれを参考としました。

;マクロ例
;ホストのIPを指定。ルーターへはTelnet接続
HOST = '192.168.107.254'
ADDR = ''
LOGNAME = ''
;ホスト名を生成(ADDR)
strconcat ADDR HOST
strconcat ADDR ':23 /nossh /T=1'
;ログファイル名を生成
strconcat LOGNAME HOST
strconcat LOGNAME '.log'
connect ADDR
wait   'Password:'
sendln 'パスワードを記載'
wait   '>'
sendln 'administrator'
wait   'Password:'
sendln 'パスワードを記載'
logopen logname 0 0
sendln 'show config'
wait   '#'
logclose
sendln 'exit'
wait   '>'
sendln 'exit'
あとはこれを.ttlファイルとしてttpmacro.exeで読み込ませるだけです

ホストもたくさんあるのだが

上記を改良していきます。今回は上部の「IPアドレス」だけを変えて、あとは同じ動作をするようにします。
アプローチとして
1)上位にバッチファイルをかませてバッチファイルで書き換えていく
2)TERATERMのマクロでホスト名ファイルを読込んで処理する

の1)が始めの想定でしたが、2)ができることが分かったので2)で実装します。

HOSTFILE='IPLIST.TXT'
fileopen fh HOSTFILE 0
:readloop
filereadln fh buf
if result goto loop_exit
HOST = ''
strconcat HOST buf
if result<>1 CALL MAIN_OPERATION
goto readloop
:loop_exit
fileclose fh
end

:MAIN_OPERATION
;HOST = '192.168.107.254' ループ側で指定される
ADDR = ''
LOGNAME = ''
;ホスト名を生成(ADDR)
strconcat ADDR HOST
strconcat ADDR ':23 /nossh /T=1'
;ログファイル名を生成
strconcat LOGNAME HOST
strconcat LOGNAME '.log'
connect ADDR
wait 'Password:'
sendln 'パスワードを指定'
wait '>'
sendln 'administrator'
wait 'Password:'
sendln 'パスワードを指定'
logopen logname 0 0
sendln 'show config'
wait '#'
;早すぎてログが出力されないケースがあるのでpauseを入れる
pause 1
logclose
sendln 'exit'
wait '>'
;コンソールを閉じるわけではないのでclosettへ変更
closett
return
サーバーに接続できない場合のケースや実行日時を記録するなど、まだまだ追加機能は必要そうですが一旦はこれで完了とします

2016年6月1日水曜日

MySQLにてtoo many connections のエラーが出たときの対処

稼働中アプリを動かしていたところ、システムエラーが発生しました。
エラーログを見てみると [ too many connections ] と。
MySQLのエラーということはわかったので、mysqlサーバーへコンソールログインして確認、処置を行います。

現在の接続状況を確認

> show processlist;
+------+-------+-----------------+-----------+---------+------+------+------+
| Id   | User  | Host            | db        | Command | Time | State| Info |
+------+-------+-----------------+-----------+---------+------+------+------+
| 1944 | user  | hostname : port | dbName    | Sleep   |    6 |      | NULL |
+------+-------+-----------------+-----------+---------+------+------+------|
140 rows in set (0.00 sec)

ここでいうところのrows が接続数

設定の確認

> show variables like "%max_connections%";
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 151   |
+-----------------+-------+

現在は151

> show variables like "%wait_timeout%";
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| innodb_lock_wait_timeout | 50    |
| table_lock_wait_timeout  | 50    |
| wait_timeout             | 28800 |
+--------------------------+-------+

8時間って・・・長いし。(デフォルトでした)

一時しのぎとしてオンラインで設定変更

> set global max_connections = 300;
からの確認

> show variables like "%max_connections%";
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 300   |
+-----------------+-------+

変わりました。

永続設定

/etc/my.cnfへ記載します。
[mysqld]
wait_timeout=3600
max_connections=200

2016年4月22日金曜日

利用者へのサポートについて(雑記・まとまっていません

IT業におけるサポート業務というのは環境状況において諸々あると思うのですが、
今までなんとなく対応していた業務クラウドソフトのサポート業務を
見直す機会が出てきたため、今現時点の発想をまとめておこうと思います。


注) まとめといいながら、今現時点ではまだまとまっていません。


以下、サポートの切り口です。

1) 電話

なんといっても対応が早い。日本語解釈の違いなどによる意思疎通ズレも少なくなります。
反面、時間をとられてしまうので使い方には要注意。
高度化するとCTIなどになると思いますが、現状そこまでは不要です。
やり取りした情報を、FAQとしてデータベース化するための仕組みも必要です。

2) メール

双方とも、時間を気にせず発信できるのがメリットです。
文章(データ)として残るので、あとあとのためにも役に立ちます。
CC等の活用により、関係者とも情報共有できるのも強みです。

3) 訪問

対応で言ったら一番早いですよね。問題は立地や移動時間やそこで発生する実費。
サービス対価を頂けるのであれば問題ない方法です。

4) 遠隔リモート

立地は関係なし。直接環境を見れるのでズレが少ない。
デメリットがあるとすれば、リモート環境構築までに少しだけ、手間が発生するということ。
この楽さに利用者が慣れてしまうと、いつでもどこでも聞いていて「リモートで見てほしい」となってしまう事でしょうか。
⇒メリットとするケースもあると思うのでケースバイケースです。

5) チャット・メッセージングツール

メールと、電話の中間でしょうか?
時間がとられつつ、データは残りつつ、問い合わせは解消できる。

6) 掲示板

メールとほぼ類似だとは思いますが、登録した情報が第三者にも見れるという点では、メリットはあると思います。

7) ホームページ等での周知・公開

ホームページに関わらず、最近ではTwitterやLINEなどでも情報発信が行われています。
先手を打って情報公開する事により、メリットは出てきそうです。

結局は?

まだ整理の途中(上記以外の手段もまだまだあるはずです)ですが、結局は、ニーズを把握して、リソースを適切に割り当てられる方法を採用する事になると思います。

業務クラウドソフトのサポートであり、料金もクラウドに即した体系となっているため訪問は見合いませんし、とはいえ、訪問による利用者の信頼度向上は間違いないので、一方的に切り捨てる判断も難しい。

まだまだ検討・整理段階ではありますが、アイデアを絞って利用者のためになるサポート体系を構築・運用する必要があると思いました。

2014年8月10日日曜日

ネットワーク(LAN)はループさせてはいけません(ブロードキャストストーム)

先日、お客様先へシステム納品時に、LAN障害が発生。
結局はループだったであろう。という事なのですが、
改めてその爆発力を目の当たりにしたのでまとめておきます。

現象

・ネットワークがつながったり、切れたりする。
・PINGを継続して実行していると、何回かに1回くらい、Request Timeoutが出る。

インフラ屋さんがあれこれ調べてやっていたのですが、ひょんなところで気がついた
ハブに、ネットワークループがありました。
その片方を取り外したところ、解決。

結論


ネットワークはループさせたらだめ。
※但し、STP(スパニングツリープロトコル)を持っているハブを利用しているだとか
 VLANとか、意図的にループ経路を作っている場合には別


そもそもネットワークのループって?

ループってどういうことか?っていうと、
・1本のLANケーブルを、同じハブに挿したらダメ。ということです。
・ハブ間は、1本のLANケーブルでつなぐことが基本で、二重化のようにつないだらダメという事です。
・ぐるっと回って1周。というようなLAN配線はダメということです。


詳しくはASCIIさんあたりを参照。
http://ascii.jp/elem/000/000/451/451629/
http://ascii.jp/elem/000/000/561/561903/


何も知らないユーザーさんだと、気にもならないのでしょうけども、
以外に単純な落とし穴で、ネットワークが使えなくなってしまう。


余談

そのお客さんは半日間、全システムがほぼダウンで、業務になってませんでした。

2014年6月16日月曜日

Windows Update後にインターネットにつながらなくなりました。よ。

よくありそうな話です。決して誹謗中傷ではありません。

知り合いのPCがWindowsUpdate後にインターネットにつながらなくなったとの事で
トラブルシュートおよび実機確認、対処を行った内容を纏めておきます。

【事象】

・Windows Update (2014/06)を行った後、インターネットにつながらなくなった。
 ・利用PCは、Windows 8.1

【聞いたこと】

・プロバイダに聞いたところ、ルーターまでのリンクは確立されている。
 ・他のPCではつながる。⇒この時点でPC固有の可能性
 ・某メーカー製、ウィルスソフトがインストール済
 ・Windowsのファイアウォールは設定変更不可。(たぶん某メーカーソフトを検知して自動的にそうなってる)
 ・有線LAN。ケーブルを挿すところのランプはついている。(2つあり点灯、点滅

【ひとまずやったこと】


 ・ipconfig /release
  ⇒rpcサーバを利用できません のエラー
  ⇒これだけだと絞れないので [windows8.1 ネットワークエラー]とかで検索

 ・IPV6が怪しい可能性があるらしく、IPV6を無効化および設定クリア
  ⇒ netsh interface ipv6 reset

 ・某メーカー製、ウィルスソフトを削除

 ・Windowsファイアウォールを無効化 ⇒ウィルスソフトを削除したら案の定設定可能となった

 ・再起動(当然ですが何度もやったそうです)


 電話対応に限界があったので実機を送ってもらう事に。


【実機にて】


 ・とりあえず起動
  ⇒現象は同じ。 ipconfig /release で、RPCエラー


 ・状況調査

  ・固定IPを設定し、ネットワークの接続を試行
   ⇒IPでは接続可能
   ⇒物理的な故障ではないと判断

  ・Windowsエラーログより、根源を調査
    ⇒山盛りなエラーが出てました。

  ・エラーログ内容(ancillary function driver for winsock)を発見
   ⇒エラー発生時期が、WindowsUpdateの時期と一緒。
   ⇒これは、Windowsの標準ドライバ afd.sys というファイルでした。

  ・上記エラー内容を元に調べていったところ、USサイトにて対処法を確認
http://windowsforum.com/threads/dhcp-client-service-fails-to-start.82734/
   ⇒他のキーワードも思いつかないので上から順に見ていきました。
   ⇒SFCという管理ツールで行けるらしいとのこと。


 ・修復の実施
  ・sfc /veriftonly にて、整合性エラーをチェック
  ・sfc /scannow にて、整合性を修復
   ※管理者モードで実行


  処理結果はこんな感じでした
  ------------------------------------------------------

  C:\WINDOWS\system32>sfc /VERIFYONLY
 
  システム スキャンを開始しています。これにはしばらく時間がかかります。
 
  システム スキャンの検証フェーズを開始しています。
  検証 100% が完了しました。
 
  Windows リソース保護により、整合性違反が見つかりました。詳細は
  CBS.Log windir\Logs\CBS\CBS.log に含まれています。例:
  C:\Windows\Logs\CBS\CBS.log。ただし、オフライン サービス シナリオでの
  ログの記録は現在サポートされいません。
 
  C:\WINDOWS\system32>sfc /scannow
 
  システム スキャンを開始しています。これにはしばらく時間がかかります。
 
  システム スキャンの検証フェーズを開始しています。
  検証 100% が完了しました。
 
  Windows リソース保護により、破損したファイルが見つかりましたが、それらの
  一部は修復できませんでした。詳細は CBS.Log windir\Logs\CBS\CBS.log に
  含まれています。例: C:\Windows\Logs\CBS\CBS.log。ただし、オフライン
  サービス シナリオでのログの記録は現在サポートされていません。
 
  システム ファイルの修復の変更は、次回の再起動後に有効になります。
 
  C:\WINDOWS\system32>
  ------------------------------------------------------
  処理ログ出てましたが、Infoしかなく、見づらいのでスルー


 ・OS再起動
  ⇒再起動後、OSが自動でデバイスドライバのインストールを実施


 ・固定IPアドレスを解除
  ⇒DHCPでIP取得され、インターネットへ接続できることを確認


 ・Windows Updateを実施


 ・OS再起動


 ・Windowsが正常に起動し、ネットワーク接続できたことを確認して完了


Windows8.1におけるWindowsUpdate時の障害はいろいろあるようですが、
今回のPCはプリインストールで色々、その他自分で色々。とアプリが山盛りで
純粋にWindows8.1が悪いのでもないんじゃないかな~と思ってます。

ひとまずは解消したので、一安心。といったところです。

2014年4月18日金曜日

Webサイトへの不正アクセスを抜粋してみました

Webアプリを運営しているのですが、ふと気になったので、
不正アクセスのログを抜粋してみてみました。

私自身もOSSを使う事が多いのですが、OSSに対する不正アクセスの多さが目立ちますね。

○phpMyAdmin

圧倒的に多いですね。特に、setup.phpへのアクセス。

/myadmin/scripts/setup.php: 6 Time(s)
/phpMyAdmin/scripts/setup.php: 6 Time(s)
/phpTest/zologize/axa.php: 6 Time(s)
/pma/scripts/setup.php: 6 Time(s)
/MySQLAdmin/: 1 Time(s)
/SQL/: 1 Time(s)
/db/: 1 Time(s)
/dbadmin/: 1 Time(s)

○ColdFusion

管理画面へのアクセスのようです。何かできるのでしょうか?

 /CFIDE/administrator/enter.cfm: 1 Time(s)

○zimlet

調べてみたところ、Zimbraというアプリケーションの付帯ツールのようです。
 /zimlet/com_zimbra_email_dns/xd.jsp: 1 Time(s)

○horde

webメールアプリケーション
 /horde/login.php: 1 Time(s)

○Tomcat

APサーバですね。
 /docs/funcspecs/3.jsp: 1 Time(s)
 /manager/html: 1 Time(s)

○epgrec

こんなツールもあるんですね。
 /epgrec/do-record.sh: 1 Time(s)

○foltia

録画ツール

○Wordpress

プラグインを狙ってきました
 /wp-content/plugins/easy-comment-uploads/upload-form.php: 1 Time(s)


他にもありましたがこの辺で。

ツールを使う時には不正アクセスへの対策も十分したうえで使う必要がありますね。

2014年4月8日火曜日

エラー発生時のトラブルシューティング

私は業務システムに関わっているため、システムの停止=業務の停止であり
システム停止ともなると、何の仕事もさておいて対応。という事になってきます。

そのような特性上、最短で解決できる手段が大事です。
最短で原因を突き止めるためには、いかに正しく
現象を把握するかにかかってきます。


解決への道標とするためのポイントを纏めておきます。


※ソフトウェア寄りのトラブルシューティングになってしまったので、どこかの機会で
 ハード、インフラ系についてもまとめたいと思います。



ユーザーから細かい情報をできるだけ聞き出す

ユーザーは「エラーが起きました」と伝えてくるだけのことがほとんどです
それだけでは、さすがに現象はわかりません。

第一報を受けた後、できる限り、たくさんの情報を聞き出す必要があります。

・「画面にどのような内容が出ていますか?」
・「どのような事をしましたか?」

 発生元、および発生元が出しているエラーの情報を掴む必要があります。
 OSなのか、アプリケーションなのか、ミドルウェアなのか、
 それを掴まないと進みません。
 状況により、ブルーバックなんてこともあるので、
 その時にはどのような事をしたらどうなったかを聞く必要も出てきます。

エラーコード、メッセージを適切につかむ

ユーザーはさらっと流してしまいそうですが、こちらにとっては
 その情報が命。
 再現しないような現象の場合、解決が不可能にすらなってきます。
 どのソフトがどのエラーを出しているかはそのエラーコード、
 エラーメッセージが示しているのです。

 英語だから、長いから。と言って、中途半端に聞いてもいけません。
 MS製品は0x800******というような魔法のようなエラーコードですが
 それも、無視してはいけません。
 今はネットの時代、検索窓に入れると即答で答えが出てるかもしれないです。
 ※メッセージ内容も然りです。

 大事なのは、手を抜かず、確実に情報を取得すること。
 画面のハードコピーを取ってもらい、メールやFAXで頂くなんてのも有りです。


エラーログを見る

エラーログはあちこちに散らばっています。
 このあたりまで来ると、ユーザーの技術習得度やその時の手順によっては
 「難しいからもう無理」と白旗を上げているかもしれません。が、
 こちらはそうは言えませんので、そこからさらに掘り下げます。

 ・Windowsログ
  ⇒管理ツールから見れます。エラーは「×」が出ているので
   利用者でも見ればわかるかもしれません。
 ・ソフトが出しているログ
  ファイル全走査して、更新日が直近のテキストファイルを片っ端から
  見ていきます。
 ・その他、原因が分かっていれば、そのソフトが出しているログ


エラーの詳細が分かれば、あとはその詳細情報を元に
情報をまとめ上げ、適切な処置へと移します。

自分で解決できない事も、発生元および現象さえ分かっていれば
サポート等へ問合せ、対応頂く事も可能になってきます。

今回は解決へ導く手順の要点のみを纏めましたが、
知っておくだけでも、自分で解決できる幅が大幅に広がります。


2014年3月24日月曜日

sugarcrmにてログインパスワードを忘れてしまった場合の対処方法

sugarcrmにてログインパスワードを忘れてしまったときの対処です。
自分でやらかしてしまったので、備忘録的にメモ。

フォーラムで紹介されていたものの転用です。

なお、画面やツール等は提供されていないので、データベースの値を
直接変更する必要があります。


1)mysqlへログイン

$mysql -uusername -pPassword

2)データベースを選択

use sugarcrm

3)ユーザーを確認

mysql> select id,user_name,user_hash from users;
+--------------------------------------+----------------------+----------------------------------+
| id                                   | user_name      | user_hash                              |
+--------------------------------------+----------------------+----------------------------------+
| 1                                    | admin          | 06b277a9ac1c17d4e1ac8420258df870       |
| 92b52357-03c2-a86a-b2a6-52a5754d10ee | NULL           | NULL                                   |
| a41b1dc0-7a35-53bf-9365-52a576c3a36f | username1      | 7c5d92e64c229fb078825416aeb8c63e       |
| 86767bc1-b3b9-0849-c875-52a577d97fc3 | username2      | 7fe2434a2c4fb1994c39991c55f42b55       |
+--------------------------------------+----------------------+----------------------------------+

idを確認します。

4)パスワードを変更

update users set user_hash = '4a7d1ed414474e4033ac29ccb8653d9b' where id = 'a41b1dc0-7a35-53bf-9365-52a576c3a36f';


パスワードはmd5ハッシュとなっています。本サンプルでは'0000'を指定しています。

これで、ログイン画面からパスワード0000でログインできるようになりました。

2014年3月13日木曜日

TeraTermでの複数ホスト接続をバッチ一発で実行

Linux機の運用を行っていると、複数端末に対してまとめて作業を
実施したいケースが出てきます。

仕組みを予め作り込んでおくことにより、使う時にはバッチ一発起動で
複数のホスト接続ができるようになります。

今回は接続までですが、改良する事によりそれ以降の処理も可能です。

構成イメージ

 


概略

  1. URLリストを作る
  2. バッチでURLリストを読み込み、TTPMacroを繰り返しで呼び出し
  3. TTPMacroで、URLを受け取り、ユーザとパスワード等を使って組み立てて、接続

実行するバッチの記載例

#TTPMacro.exeが存在するパスを指定
SET MACROEXEPATH=c:\Program Files (x86)\teraterm

#TTPMacro.exeを指定(固定
SET MACROEXE=ttpmacro.exe

#マクロが存在するパスを指定します。(フルパス必須)
SET MACROPATH=%~dp0\loginall.ttl

#ディレクトリを移動
cd /d %MACROEXEPATH% 

#urllist.txtを読み込んで、引数としてTTPMacro.exeを起動
for /F %%i in ( %~dp0\urllist.txt ) do start %MACROEXE% %MACROPATH% %%i

#元の位置に戻る
cd %dp~0

pause

実行するマクロの記載例

;パラメータ受け取り
HOSTADDR = param2
;ユーザー名とパスワードの定義(パラメータで受け取っても良いかも)
USERNAME = 'remoteuser'
PASSWORD = 'remotepassword'
;接続文字列の組み立て
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD
;接続
connect COMMAND
;応答を待機
wait 'remoteuser@'
;マクロ終了
end

2014年3月6日木曜日

ドメイン移管の簡単な方法(onamae.com)

ドメイン移管とは、ドメインの管理者を変更する手続きです。
時と場合により呼び方は様々ですが、
ドメインという商品の性質上、簡単にはできないようになってます。

特に、gTLDドメインなどでは、認証手続き(AuthCode)が必要で、
相手先とのやり取りが何度か発生し、それにより時間もかかります。


今回、お名前.comで提供している機能(方式)により、
簡単にドメイン移管ができましたので手順を残しておきます。


前提

移管元、移管先の双方が、お名前.comを利用している必要があります。

手順

1) 移動元のお名前.com管理画面より、「お名前ID付け替え」機能を利用して
  対象のドメインを、新しいお名前.comのIDへ移動
2) 新しいお名前.comのIDでログインし、同じく「お名前ID付け替え」機能を
  利用して、対象のドメインを、移管先のお名前.comのIdへ移動

ざっくりいうと、ダミーのIDを作り、それを経由して移動する。という事です。

手順がお名前.comのサイトにありましたので公式。費用も掛かりません。


公式情報

・お名前ID付け替え
http://www.onamae.com/guide/details.php?g=27

・お名前ID/パスワードを移管元にお互い通知できない場合
http://help.onamae.com/app/answers/detail/a_id/8139



今後ドメイン移管の際には、管理しているレジストラがお名前.comかを聞くようにしようと思いました。

2014年2月25日火曜日

findとlocate (linux)

ふと気になったのでまとめ。(というか、あまり知らずに使っていました)

locate 【ファイル名(ファイル名の一部)】

ファイルリストをインデックス化し、インデックスを検索します。
インデックスファイル(slocate.db)が更新されていないと、古い検索結果がヒットします。


find / -name 【ファイル名】

ディスクを検索します。全件検索のためlocateよりは時間がかかります。


locateで使用しているインデックスファイルを更新するためには以下のコマンド

updatedb


インデックスは、ディストリビューションによってはcron.dailyで自動更新するように
設定されているようで、CentOS 6.4の場合、[makewhatis.cron]というものが
動いて、自動更新されるようです。


2014年2月24日月曜日

メーリングリストで「Loop Alert: Duplicated Message-ID」が返される

いつの間にか、件名に「Loop Alert: Duplicated Message-ID」という内容が付加された
メールが届くようになりました。

サーバーの運用管理を行っているため、定期的にメールが飛んでくるのですが、
いつからか、同じメールが複数通。そのうちの1通についてきます。


これが出るようになってからは、付加情報はついてくるわ、
毎日倍のメールを受信する事になってしまうわ。ということで、
運用に支障が出てました。


結局のところ、メーリングリストと、メール転送のループという事が判明。

どういうことかというと

メーリングリスト:server-admin-ml@domain
参加者:server-admin@domain
server-admin@domainは転送メールで、転送先が、server-admin-ml@domain


つまり、server-admin@domainのメールアカウントを経由して、2通送られたというわけ。

一部サイトにはメーリングリストソフトの動作が原因というのがあって
どうしようかなと思っていたのですが、原因単純で助かりました。

2014年2月21日金曜日

sedでファイルの特定行の文字を置き換える

同じような環境をいくつも作ると、手順化、sh化することが出てきます。

そんななか、各種インストールの後に行うconfの設定作業は
手作業の中でも間違うと危険な分類のため、できるだけ自動化したいところです。


今回、zabbixのAgent構築で使った使用例を纏めておきます。

※confの形はバージョン依存でもあるので、頻繁にconfが変わるアプリを使う場合にはご注意ください。

実施例

#ディレクトリ移動
cd /etc/zabbix/

#念のためバックアップ
cp zabbix_agentd.conf zabbix_agentd.conf.default

#ServerNameを、指定したサーバーへ置き換える
sed -i -e 's/Server=127.0.0.1/Server=zabbix-server.domainname.com/' zabbix-agentd.conf

#ServerActiveを置き換える
sed -i -e 's/# ServerActive=/# ServerActive=\nServerActive=zabbix-server.domainname.com/' zabbix-agentd.conf



#自分を宣言する #$HOSTNAMEはサブドメインが入っている変数

sed -i -e 's/Hostname=Zabbix server/Hostname='$HOSTNAME'.domainname.com/' zabbix-agentd.conf




変更点を目視で確認

diff zabbix_agentd.conf zabbix_agentd.conf.default


2014年2月3日月曜日

zabbixのログインパスワードを忘れてしまった場合の対処(管理者向け)

この手の記事はよく書いている気がします。

zabbixのWeb画面からログインするためのパスワードを忘れてしまった時の処置です。

以下のようにデータベースを直接修正すれば可能です。 

※ZABBIXのデータベース名がzabbixだった場合


# mysql -uroot -p zabbix

mysql> update users set passwd = 'd41d8cd98f00b204e9800998ecf8427e' where alias = 'Admin'; 

これでAdminユーザのパスワードが空白に設定されます。

2013年12月20日金曜日

Oracleが起動しなくなったときの対処(ORA-01034,ORA-27101,ORA-03113,ORA-12640)

お客様先でUPS故障があり、サーバーの電源をコンセント直にしていたのですが、
そんな時に限って、電源が急に落ちるという事態。

結果、Oracleが起動せずにシステムが利用できなくなった。

そんなときの対処です。

Oracleのエラーコード

ORA-01034、ORA-27101

アプローチ まずはalert.log

まずはalert.log ということで、あちこちのファイルを探しても出てこない。
Winサーバなのでbdumpのフォルダがデフォルトということなのですが、
そこに出来ているファイルは更新日が1ヶ月以上も前。

一旦追うのをあきらめて、現象から調べていくアプローチへ切替。

エラーコードからgoogle先生

まず、ORA-01034:Oracleは使用できませんで調べると、
設定ファイル系がおかしくて起動できないのだろうという線の情報が多い。
ORACLE_SID,ORACLE_HOMEの環境変数など

事例から、以下コマンドを実施


set ORACLE_SID=ORCL
sqlplus /nolog
SQL> conn / as sysdba
SQL> startup mount

すると、別の現象
ORA-03113:通信チャネルでend-of-fileが検出されました
が発生。どうやら、別物らしいです。

そもそもデータベースがマウントできない。

REDOログが怪しいということで、REDOログの初期化を試行。

これもダメ。ORA-03113です。

ファイル走査

いったん手詰まり感が出たので、コンピューター上のログを
全検索。なぜか、sqlnet.logが更新されている。

開くと、

ORA-12640: 認証アダプタの初期化に失敗しました。

ん?って感じなのですが、それでさらに調べてみるとOTNにて
有用な情報を発見。
http://www.oracle.co.jp/forum/thread.jspa?messageID=27001826


確かに、ADはきちんと構築されていないお客様なので
設定を変更。そのとたん、何も処置をしなくても繋がるようになりました。


【変更前】SQLNET.AUTHENTICATION_SERVICE=(NTS)
【変更後】SQLNET.AUTHENTICATION_SERVICE=(NONE)


念のため、サーバーを再起動して動作を確認。

各クライアントからも繋がることを確認して、作業終了となりました。

結局は


原因の特定には至りませんでした。
AD認証から来る不都合だろうという結論。

そもそもUPSなしの運用はやめようね。

2013年12月18日水曜日

さくらインターネットのVPS機能がバージョンアップ。LAN環境も可能に

同一リージョンであれば、スイッチを追加することでLAN環境が構築可能になっていました。


新しいコントロールパネルは、「契約情報」の「サーバー設定」から「サーバー一覧」を
選ぶことで表示可能。



スイッチは1会員IDあたり10個まで無料ということなので
簡単に試せそうです。



うちの環境ではVPSで立ち上げているサービスが10個ほどあるのですが
改めて確認してみたところ石狩*3,大阪*7と分かれており、
大阪はまだ非対応。暫くは石狩リージョンでの検証になりそうです。

さっそく石狩リージョンでスイッチを追加してみました。

・スイッチを追加
・サーバー側の「設定」で、LANを割当

と、手順は簡単そうです。


実際やってみたら、「サーバーの稼働中はダメよ」となったので、
停止時間決めてアナウンスしてから実施となりそうです。




VPSは年々価格も下がり、使いやすくなってきているので
日々の情報収集が大事になりそうですね。


関連して調べてみたところ、DTIのserversmanが今使っているサービスと
同スペックで安くなっていました。

こちらも今後の選定候補。

2013年12月11日水曜日

SugarCRMのインストール

CRMによる顧客管理が必要かな?と思い、やってみました。

構築対象とする機器の前提

MySQL,PHP,Apacheが動作する環境(CentOS)

参考にしたドキュメント

SugarCRM インストールガイド
http://sugarforum.jp/wiki/SugarCRM_%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89

手順

○5.2のフルパックをダウンロード
#wget http://www.sugarforge.org/frs/download.php/6004/SugarCE-Full-5.2.0j-Ja.zip

○unzipにて展開
# unzip SugarCE-Full-5.2.0j-Ja.zip

こちら、一式丸ごとのようなので、そのまま配置ディレクトリへ展開
※ディレクトリはご自由に設定してください

# mv SugarCE-Full-5.2.0j-Ja /var/www/myapp/sugarcrm

○権限を付与
# chown apache sugarcrm/ -R

○httpd.confを作成
 ここでは、sugarcrm用のものを作成しました。
# cd /etc/httpd/conf.d/
# vim sugarcrm.conf

Alias /sugarcrm /var/www/myapp/sugarcrm

<Directory "/var/www/myapp/sugarcrm">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

    php_value memory_limit 128M
    php_value post_max_size 16M
    php_value upload_max_filesize 20M
    php_value date.timezone Asia/Tokyo
</Directory>


○Configの内容を確認

# apachectl -t
Syntax OK

○configの読み直し
# service httpd reload
Reloading httpd:

○確認してみたが・・・

アクセスしてみたところ、
「PHPのバージョンは5.1.0以上である必要があります。(5.2.x以上推奨)」と出て、進まない。


ん?と思い、確認してみたところ、

# php --version
PHP 5.3.3 (cli) (built: Jul 12 2013 20:35:47)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

ということで、合っているなと思いつつ、エラーメッセージをgoogleさんに投げると、Hit

サポート外という事ですが、対処法が載っていました。

http://sugarforum.jp/wiki/PHP5.3%E7%92%B0%E5%A2%83%E3%81%A7%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B

install/welcome.phpの以下の部分を編集して、再挑戦

if (version_compare(phpversion(),'5.1.0') < 0 || version_compare(phpversion(),'5.3.0') >= 0) {


無事に初期セットアップ画面が開きました



利用規約に同意



通常インストールを選択


MySQL1択なのでそのまま次へ


データベースを作成できます。
今回は新しく作ることにしました。


管理者用のパスワードを指定


その他細かい環境設定などを指定

登録確認の画面が出るので、「次へ」

しばらくしたら、インストール完了画面が出るので、改めてwebサイトへアクセス

ログイン画面で、初期ユーザー[admin]とパスワード入力によりログインできるようになりました。



追記


セットアップの時にデモデータを入れた場合、画面機能として「初期化をする」ものはないとのことなので、再インストールが必要となるそうです。

config.phpの以下の分を、falseに変更すれば再インストールの画面を開く事が出来ました。
'installer_locked' => true,



2013年12月4日水曜日

Android端末からWindowsへリモートデスクトップ

スマートフォンではあまり活用シーンが想像できなかったので興味もなかったのですが、
このたびXPERIA Tablet Zを入手して活用方法を探していたところ、
Android端末からWindowsへリモートデスクトップ接続できるツールがあるようです。

@ITにて詳しく解説されています。
http://www.atmarkit.co.jp/ait/articles/1311/06/news111.html


インストールして試してみたところ、案外いけました。

・Microsoft Remote Desktopをインストール
・起動
・設定
・接続

私の場合には、起動の前にVPNに接続するという手順があるのですが、
VPN経由でも問題なく接続できました。


MS純正品以外にも、いくつか出ているようなので、用途に合ったツールを選べそうです。

広がるコミュニケーション 社内SNSについて調べた結果

企業が活動していくにおいては情報の共有が必須です。

古くは「グループウェア」「イントラ」といった呼称で
「掲示板」「Todo」「ワークフロー」などの機能を持った
ソフトウェアが数多く存在していましたが、
スマートフォンなどの普及、Twitter,Line,Facebookなど、SNSの
広がりにより、企業においてもSNSを使った情報共有を
行うためのツールが増えてきています。


そこで、自分なりに調べてみたところを纏めてみます。


うちの会社はシステム開発会社でもあり、「無料」で提供されている
サービスにおいて、「発信した情報」がどのように扱われているか、
うすうす想像できるため、極力、自社で情報をかかえられるような
仕組みがベストです。



比較

比較するとこんな感じです。
オープンソース(完全クローズド) > 公開範囲が設定できるSNS > 普通のSNS


1.オープンソース(完全クローズド)
 ◇抹茶SNS
 http://oss.icz.co.jp/sns/
 タイムライン、グループ管理、ファイル共有
 PC版、スマートフォン版あり。アプリはまだないですね。

 ◇OpenPNE
  社内というか、普通のOSS SNS 日本発

 ◇Aipo
  グループウェアのはずが、SNS的要素も入れてきている。
  これが賛否両論の模様。
  タイムラインは「公開」だけの模様。公開する必要がない
  情報もタイムラインに載ってきてしまうようなので
  タイムラインベースでの機能を期待するのはもう一歩か

 ◇direct
  まだ見てませんが、Lineの社内版?のよう。
  https://www.direct4b.com/ja/

2.公開範囲が設定できるSNS

 ◇google+
  googleさんなので、ビックデータ的に使われるであろうことはしょうがない。
  ただ、機能性は充実しているし、使い勝手も申し分ないであろう。
  


目的に合わせた機能を取り入れていくのがよさそうですね。