サーバー構築一覧

GitLabを試してみた

GitHubクローンである、GitLabを導入して Git+GitHubの操作感を体験してみたいと思います。
詳しい導入方法は次回以降に書くとして、試してみたときの感想を先に書いておきます。

環境

  • CentOS 6(x64) (ただしVM上)
  • GitLab 2.3
  • クライアントは tortoiseGit + msysgit (1.7.10)

感想

GitLabへの登録がsshキーを要求する点でいろいろと大変でした。この部分がSVNと比較してわかりにくい気がする。最初の手順なので、通常運用が始まってしまえばそこまで問題にはならないのだろうけど。

GitHub, GitLabの問題なのだろうけど、ソースコードをWebから確認したい際に、Shift-JISで書かれたソースコードで、日本語コメントが文字化けしてしまう。UTF-8のソースコードであればこれは大丈夫。既存SJISソースでGitへの移行を検討するなど、UTF-8のソースコードが使えない場合はちょっとGitLab使う利点が減る気がする。

それでもGitリポジトリの管理を集約でき、Web上からユーザーの追加やキーの登録ができるという点は魅力。複数ユーザーがいるときには管理者はちょっと楽ができる。SVNのときには、最初のリポジトリはサーバーのコンソールで操作する必要があったし…。

Redmineのリポジトリブラウザのように、優先するエンコーディングを設定する機能がGitLabのプロジェクトごとに設定できるようにならないか、期待していきたいと思います。


WindowsStorageServer2008 その2

iSCSIターゲットのインストール(環境設定)

en_windows_storage_server_2008_iscsi_cd_x64_x86_x15-49563.iso
をマウントして、iSCSI Target用のソフトウェアをインストールします。
x64フォルダ内に、iSCSI Target用インストーラーがあるのでそれを実行します。
なお、x86フォルダ内には、クライアントのソフトウェアしか存在しません。

en_windows_storage_server_2008_iscsi_tools_cd_x64_x86_x15-63368.iso
ではない点に注意。ツールという点で少しだけだまされました。

インストール後、管理ツールから Microsoft iSCSI Software Targetという項目が増えているので、ここからツールを起動します。
右クリックして、iSCSIターゲットの作成を選び、名称およびIQNの値を入力して、ターゲットを作成します。
その後、iSCSIターゲット用の仮想ディスクの作成を行います。

iSCSIターゲットの動作確認&イニシエータの設定

動作確認のために、iSCSIイニシエータがインストールされている環境で作業します。
イニシエータのプロパティで設定する項目は以下の内容です。

  • 構成タブ
    • イニシエータ名。ターゲットで設定したイニシエータを識別するためのiqn名と同じになるように設定します。
  • 探索タブ
    • ポータルの探索ボタンを押して、先ほどまで設定していた環境のIPアドレスを入力します。
  • ターゲットタブ
    • 最新の情報に更新ボタンを押します。
    • 上記の設定ができていれば、ここで検出されたターゲットの中に今まで設定していたiSCSIターゲットがみえるはずです。
    • その検出されたターゲットを選択して、接続を行えばクライアントから使用可能になります。

これらの設定はWindows7のクライアント環境で行いました。
また、動作確認のため、WindowsStorageServer上のファイアウォールは無効化して行いました。

接続状態になると、

  • クライアント(イニシエータ側)は、そのターゲットに対して接続完了ステータスになります。
  • ターゲット側は、ステータス使用中になります。

またこの時点では、単にドライブを接続しただけの状態なので、
クライアントからディスクのフォーマット等を行って通常の使用可能状態となります。
コンピューターの管理→ディスクの管理で、物理ドライブが1つ増えていることが確認できます。

ファイアウォールの設定

先ほど接続状態にしたターゲットを切断しておきます。
ここでStorageServer側のWindowsファイアウォールを有効化します。
そして”セキュリティが強化されたWindowsファイアウォール”という画面で設定を行っておきます。

受信の規則を右クリックして新規の規則を選択

  • ポート
    • TCP
    • 3260ポート

を許可するように設定します。

先ほどと同じように、ターゲットタブ/最新の情報に更新 ボタンをおして、
ターゲットが表示され、さらにそれに対して接続が出来ることを確認します。
接続が出来ないようであれば、ファイアウォールの設定箇所が間違っていると考えられます。
(どのプロファイルに対して設定するとか、そのあたりに引っかかるかもしれません)

まとめ

これでiSCSIの使用準備が整いました。
今回 Target 3.2の設定でしたが、 3.3が既に出ているようです。
これについては、よく分からなかったため当面 3.2 で実験かと思っています。

iSCSIの環境も整ったので、次回は目的の内容について実験して行きたいと思います。


WindowsStorageServer2008 その1

WindowsStorageServerでiSCSIターゲットをやってみようと思い、
色々とインストール作業中です。
認証とか通せないから、猶予期間があるうちにやりたいことをがんばります。

インストール

ディスク自体は英語版しかないので、それをインストールします。
その後、LanguagePackを用いて日本語化します。
このときに、LanguagePackをどう適用させるのかで悩みました。

コントロールパネル/Regional and Language Optiopns/Keyboards and Languages
とたどって、Display language グループ内のInstall/Uninstall languagesボタンを押します。
その後、Language Packディスクのja-jpフォルダを選択させれば、
後はそのままインストールできます。

参考にしたのは、こちら → http://jehupc.exblog.jp/13223828/

そういえば、WSS2008は、パスワードが設定されているんでした。
chm内部にかかれているので、見ておくのも忘れないようにしないと。

WSS2008_OEMGUIDE.CHM ヘルプファイルの “Preinstallation Preview” を押下すると掲載されてるようです。

ここで日本語化は完了です。

今日は力尽きたので、iSCSIターゲット用の設定らは次回に。


ドメインサーバーを2003からWin2008R2へ

2003R2で構築しているドメインに、2008R2のサーバーをメンバーサーバーとして追加して、その後昇格させる方向でドメインサーバーのアップグレードを図ってみた。

メンバーサーバとして追加

まず、サーバー構成マネージャでドメインサーバー用の設定をした後で、
dcpromoを実行したところ、以下の失敗メッセージが出てきました。
「このActive Directory フォレストにドメインコントローラーをインストールするには、最初に”adprep /forestprep”を使用してフォレストの準備をする必要があります。」

よって、Win2008R2のディスク内 support/adprep にあるツールを実行します。

対象の2003R2のサーバーで2008R2のディスクを挿入して、

その後、”C”キーを押してからEnterキーを押す。
すると準備が開始されます。
ここで”C”を押さずにEnterを直接押してしまって、あれ?って状態になりました。
メッセージはきちんと読みましょう。

このまま、再度dcproom.exeの実行するとまた別のメッセージが出てきます。
「このActive Directory フォレストにドメインコントローラーをインストールするには、最初に”adprep /domainprep”を使用してドメインの準備をする必要があります。」

よって、同じように対象のWin2003R2サーバーで先ほどのツールを実行してみました。
しかし、今度はツールが正常完了せず、以下のエラーメッセージが出てきました。

「Adprep は、ドメインがネイティブ モードではないことを検出しました。」
どうやら、以前環境構築したのが旧バージョンでも問題ないモード(混在モード)で動いていたらしく、
Windows2000ネイティブ以上の機能で構成しないとダメのようです。

  • “Active Directoryユーザーとコンピュータ”で、機能レベルを更新
    • ドメイン部で右クリック「ドメインの機能レベルを上げる」を選択
    • 現在”Windows2000混在モード”→”Windows Server 2003″
  • コマンドラインで adprep /domainprep /gpprep を実行する
  • adprep /rodcprep を実行する。
    • これを忘れると、あとで警告が出てくる。

ここまで処理して続いて 2008R2側でメンバーサーバー追加の再チャレンジ。
警告および確認が出てくるので、問題なければ続行。

これらの処理が完了すると、2008R2でのドメインサーバーがメンバとして登録されます。

新しくドメインコントローラーとするために

メンバーサーバーとしての登録が終わったので、ドメインコントローラーへ昇格させます。

操作マスタの役割を転送します。

  • ActiveDirectoryユーザーとコンピュータ
    • 右クリックで操作マスタを開く
      • 各マスタを旧サーバーから新サーバーへ転送する。
      • (RID, PDC, インフラストラクチャ)

旧ドメインサーバーのグローバルカタログを無効にします。

  • ActiveDirectoryサイトとサービス
    • Sites
      • (ドメインコントローラのあるサイト)
        • Servers
          • (ドメインコントローラー)
            • NTDS Settings

とたどっていき、NTDS Settingの部分で右クリックしてプロパティを開きます。
そのなかで、グローバルカタログという項目にチェックボックスがあるので、
このチェックを外すことでグローバルカタログを無効化できます。

その後、旧サーバーでdcpromoを実行して、降格処理を行います。
ActiveDirectoryの削除が実行され、単なるメンバーに降格します。

参考

MSのサイト以外のところで参考にした部分。
http://pnpk.net/cms/archives/373
http://norimaki2000.blog48.fc2.com/blog-entry-507.html
http://blog.tsukuba-bunko.jp/ppoi/archives/2008/04/3.html

この部分を参考にさせていただきました。
ありがとうございました。


続・RemoteApp試してみた

以前に電卓くらいでRemoteAppを試してみましたが、
今回はOffice 2007 Enterpriseで試してみました。

  1. WindowsServer2008R2の環境へOfficeをインストール
  2. RemoteAppで使いたいアプリケーション(WordとかExcelとか)を登録
  3. 登録したアプリのrdpファイルを作成し、使う側へ持ってくる

今回実験なので、シリアルキー入力もしていなければ、ライセンス認証もしていません。
もしかしたら、ライセンス認証したあとでの挙動は変わってしまうかもしれません。

2008R2側でOfficeをインストールした後、RemoteAppに登録したOfficeアプリケーションは1度は実行しておく必要がありそうです。
シリアルキーや認証のダイアログが出てくるための挙動と言えそうですが。
これさえやっておけば、クライアントから接続して使うことが出来ました。


リバースプロキシ背後でRedmine

2010/4/16現在の環境で、
リバースプロキシ背後でRedmineを動かそうとして、
ちょっとばかり苦戦したのでそのメモです。

redmine動作サーバー(バックエンド)

サーバーを設定して準備できているものとします。
仮にここでは 192.168.1.1 というマシンAで動いていると仮定します。
また、redmineのページへアクセスするのに、
http://192.168.1.1/ というようにDocumentRoot設定が成されているとします。

リバースプロキシ側(フロントエンド)

リバースプロキシは、192.168.1.254で動いてるとします。
ここにアクセスして、特定のURL時にredmineのサーバーへ転送するようにするのが目的です。

設定について

本来素直にやるならば、リバースプロキシ側の httpd.confにて下記のように書けば終了です。

しかしこれではうまくいきません。
スタイルシートが読み込まれないし、画面上のリンクを押しても対象のページへジャンプ出来ません。

そこで、redmine側の設定を変更します。
設置してある場所で config/routes.rb を開きます。
そして2行目に、次の1文を入力します。

旧バージョンでは、ActionController::AbstractRequest.relative_url_root という設定項目だったとのこと。
これがどうやら現在のRailsで変更になっているようで、この修正に到達できるまでが大変でした。

この変更を適用することで、http://youraddress/redmine/ というアクセスを正しく処理できるようになります。


WebMailの xuhekiを試す その2

前回はCentOSでダメだったので、
本家で対応が記載されているUbuntuで試してみることにしました。

しかし、結果は失敗でどうやってもインストールが完了させられませんでした。
(回避方法知っている方は是非教えてください)

確認環境

  • Ubuntu 9.10 Server

インストール手順

ひたすらapt-getでインストールしていく

Xuheki本体のインストール

ひたすらデフォルトのままEnterを押していく。
パスの入力させられる場面では

  • /usr/sbin/apache2
  • /usr/bin/apxs2

を設定した。

しかし、このまま継続してもunzipが発見出来ないのか失敗する。
”Cannot unzip, no unzip program available”というエラーメッセージが出てくるが、
unzipがインストールされていても出てくる。
そこで、CPANの環境設定を変更する。

この後再度インストールスクリプトを実行させてみると、また別の場所で失敗する。

というエラーメッセージで終わったため、ログをのぞいていくと

となっているのが発見できた。Smtpsendのテストで失敗しているようだ。
テストの該当箇所をのぞいて、acceptの前にsleepを入れると良いとあったので試してみたが、
これでもダメだった。

Smtpsend.tの中身

*1 : インストールの必要条件にあったりするけど


WebMailの xuhekiを試す

今度はXuhekiというWebMailを試してみました。
結論は、インストールをうまく完了させられませんでした。

CentOS5.4ではなく、Ubuntu使うといけるのかもしれませんが…。
やったことは、rpmforgeを使用可能な状態にして、以下のようにして依存モジュールをインストールしました。

perlのモジュールを上記のようにして入れたのには理由があります。
どうもインストーラーでCPANでインストールされるようにがんばってはいるようなのですが、
インストールできず失敗となってしまったためです。
それでこのようにインストールをしました。

その後下記のようにして、インストールスクリプトを実行して、Enterで質問に答えていきました。


しかし、最終的には次のようなエラーとなって、継続できず。
AfterLogicと比較してみたかっただけに、残念な結果です。

WebMailのシステムで(AfterLogic)

CentOS 5.4で、AfterLogicというWebMailのシステムをインストールしてみた。
そのときの記録を書いておきたいと思います。
日本語でのインストール記がほとんど見あたらなかったので。

なお、4/1の日記ですがエイプリルフールとは無関係に、事実を書いておきます。

準備

PHP版のAfterLogicLiteをダウンロード
必要なツール群のインストール
yum install mysql mysql-server apache php php-mysql

インストール作業

ダウンロードしてきた webmail_php.zip を展開。
/var/www/html 以下に展開してみた。

インストールマニュアルにあるようにパーミッションを変更していく

最後のユーザー設定はWebサーバーを動かしているアカウントに設定する。

その後サーバーにアクセスする。
ここでは、YourServer.netが自分のサーバーのアドレスとする。
http://YourServer.net/webmail/adminpanel/install.html

アクセスすると以下のページが出てるので、
“Run the installer”のリンクをクリックします。

afterlogic_1.png

事前チェックが実行され、足りないモジュールが発見されれば
それを再度インストールします。
問題がなければ、画面下部にあるNextボタンをクリックして進みます。
ライセンス情報を読んで I Agreeをクリックして次画面へ進み、
環境設定を行います。

データベース関連ではここでは適当に下記のようにしてみました。
ただしこの設定のために、mysql -u root -p でログインしてデータベースを作っておきます。

設定

設定したら Test connectionボタンがあるので押してみます。
問題がなければ、successfullyという緑文字が表示されるはずです。

問題がなければ、Nextボタンをクリックして次へ進みます。

管理用のアカウントでmailadm を設定する必要があるので
これ専用のパスワードを設定します。2回入力します。

続いて接続するE-Mailサーバーのアドレスを入れます。
今回自分自身がメールサーバーなのでlocalhostの設定にしておきます。
また、使うプロトコルにチェックを入れて Test connectionボタンを押すと、
使用可能か判断されて結果が出てきます。
問題が起こらなければ、Nextボタンをクリックして次へ進みます。

ここまででインストールが完了です。
問題がなければ、Exitを押して終わります。
また、install.htmとinstall.phpはもう不要のためセキュリティ的にも問題なので
削除しておきます。

まだ環境設定は続きます。
http://YourServer.net/webmail/adminpanel/
にアクセスして、さっき作成した管理用アカウントでログインします。

日本という環境を考慮して、下記のように設定を行いました。
Default user charset を Japanese
Default user time offset (GMT + 9:00) Osaka, Sapporo, Tokyo

ここで”Shift JIS”のほうのJapaneseを選択しないのがポイントです*1
また、今回POP3ではなくIMAPを目的としていたためそちらも変更しました。
設定したら、Saveボタンを押しておきます。

あとLogin Settingsにて Standard login panelを選択しておく方が
ログインのトラブルが少ないのかもと感じました。
うまくいったらほかのパターンで、ログインの手間を減らすといいのかもです。

*1 : ShiftJISのほうを選ぶと、メールの中身が化けて表示されます

感想

とりあえず動かないという結論にならなかったのは良かったです。
今のところRoundCubeを使用している状況で代替を探していたのですが
両手を挙げてこのAfterLogicWebMailLiteに乗り換えることは難しそうです。

個人的に感じた不満の第1位はこれ。
受信トレイの自動更新されないようです。
ログインしたときにメールボックスの中身が同期される仕組みのようです。
そのため開きっぱなしで、10分間に1回更新するというのすら不可能。
せめて、このあたりが改善されないとRoundCubeからさっくり乗り換える訳にはいかなさそう。

もっとも、その時間ピンポイントでメールを確認したいという用途ならば、
これで全く問題ない感じです。


Subversion1.6使いたい

CentOSでSubversion1.6系列を使いたい。
標準のyumでは 1.4.2だったので、いろいろ調べてみた。

基本的にCentOSはRedHat EnterpriseLinux5互換ということで、
Redhat el5で使用可能な rpm パッケージなら使えるのではないだろうかと思って試してみた。

結果は、うまくインストールできた。

Subversionは、今はApacheプロジェクトの1部なのでそこからダウンロードする。
Redhat el5用は、
http://the.earth.li/pub/subversion/summersoft.fay.ar.us/pub/subversion/latest/1.6.9/
から入手できた。

必要なモジュールについては上記の場所でまとめられていたので楽に入れられました。

  • neon
  • sqlite
  • subversion