どうのこうの

名古屋/元フリーランス/スタートアップ勤務/ウェブ/マークアップ/プログラマ/エンジニア

Category: Linux (page 1 of 2)

自宅サーバー関連のこととかLinux関連のこととか。

Zabbix Server と Zabbix Agent のインストールのメモ

Zabbix Server と Zabbix Agent のインストールの個人的なメモです。

目次

Zabbix とは

サーバーを監視してグラフ化にしたり、障害やサーバーの状態に応じてメールなどで通知させる統合監視ソフトウェア。

似たような統合監視ソフトウェアで、私は Nagios しか使ったことがなかったんだけど、監視するサーバーが増えたり監視したい情報が増えたりしたときに、Nagios 力が低すぎてやりたいことがやれなかったのですが、Zabbix は基本的にはブラウザから設定するみたいだし、UI は日本語だし、日本語の情報も多いし、AWS 用の拡張ツールもあるみたいなので、Nagios から Zabbix に乗り換えることにしました。

参考

Zabbix Server をインストールした環境

  • OS: CentOS 6.6
  • アーキテクチャ: i686

(x86_64なサーバーマシンが欲しいよぉおお)

インストールした Zabbix Server と Zabbix Agent のバージョン

Zabbix Server と Zabbix Agent のインストールの流れ

yumリポジトリの登録

x86_64アーキテクチャの場合は下記。

Zabbix パッケージをインストール

Zabbix Sender のインストール

HyClopsプラグインを使用する場合に必要らしい。(HyClopsプラグインは使ってないので未確認)

MySQLデータベースの初期化

スキーマへのデータインポート

Zabbix Server の設定を修正

Zabbix Server プロセスを開始

Zabbix Server の自動起動

Apache の設定ファイルを修正

/etc/httpd/conf.d/zabbix.conf が作られるので良しなに修正する。

Zabbix Server のインストール

http://example.com/zabbix にアクセスすると Zabbix Server のインストール画面が表示されるので、順番に進めていけばOK。

※メモ: インストールの流れのスクリーンショット画像を撮り忘れたので、またインストールし直す機会にスリーンショット画像を差し替えたい

Zabbix Agent のみをインストールする場合の流れ

監視対象のサーバーでウェブのUI(Zabbix Server)が必要ない場合は Zabbix Agent だけをインストールすればOK。

yumリポジトリの登録

Zabbix Server の場合と同じ。

Zabbix Agent のインストール

Zabbix Agent の設定を修正

※1: ServerServerActive の違いはよくわかってないけど、とりあえず同じにしておいた
※2: Hostname はサーバーのホスト名と同じじゃなくてもいいと思うけど、とりあえず同じにしておいた

Zabbix Agent プロセスを開始

Zabbix Agent の自動起動

ポートの開放

標準では、 Zabbix Agent は 10050 番ポートで Zabbix Server からのアクセスに応答し、 Zabbix Server は 10051 番ポートで Zabbix Agent からのアクセスに応答するので、それぞれのポートを開けてあげる必要がある。

Zabbix Server と Zabbix Agent 間の通信が全て許可されているような場合にはこの設定は気にしなくてよい。

Zabbix Agent 側のポート開放

Zabbix Server 側のポート開放

ポートが正しく空いているか確認する

nmap コマンドでポートの開放状況を確認できる。
nmap コマンドが入っていない場合は、 yum -y install nmap とかする。

10050 番ポートが空いていることを確認できた。

Zabbix Server に監視対象ホストを追加する

[ホスト] タブ

監視対象ホストの接続情報など。

  1. http://example.com/zabbix から Zabbix Server にログイン
  2. [設定] -> [ホスト] の [ホストの作成] ボタンをクリック
  3. [ホスト名] [表示名] はよしなに
  4. [所属グループ] は任意でグループ分けできる機能なので、よしなに
  5. [エージェントのインターフェース] は [DNS名] を入力して、 [接続方法] は [DNS] を選択(ポートはデフォルトの「10050」でOK)

[テンプレート] タブ

テンプレートをリンクさせることで、そのホストに対して「何を監視するか」や「何の値がどれくらいになったらアラートメールを送信するか」などの設定を行う。

監視対象サーバーは Linux なので、 [Template OS Linux] テンプレートをリンクさせる。

  1. [新規テンプレートをリンク] の [選択] リンクをクリックすると、ポップアップでテンプレート一覧が表される
  2. [Template OS Linux] にチェックを入れて [選択] ボタンをクリック(もしくは [Template OS Linux] リンクをクリック)
  3. [新規テンプレートをリンク] に [Template OS Linux] が入力されていることを確認して [追加] リンクをクリック

入力が完了したら、 [追加] ボタンで監視対象ホストが追加される。

他のタブはよくわかっていないので、おいおい勉強していくことにする。

アラートメールを送信する

これを設定しないと障害や障害の予兆のような動作が発生しても Zabbix Server は何も知らせてくれない。

http://example.com/zabbix にログインすれば状況を確認することができるけど、障害や障害の予兆のような動作があったときに何らかの方法でお知らせしてくれるようにしておきたい。

今回は管理ユーザーにメールアドレスを登録して、アラートメールが送信されるようにする。

管理ユーザーにメールアドレスを追加する

  1. [プロファイル] -> [メディア] タブの [追加] リンクをクリックすると ポップアップで [新規メディア] 追加画面が表示される
  2. [タイプ] は「Email」、[送信先] は自分のメールアドレス、[有効な時間] [指定した深刻度のときに使用] はよしなに、[ステータス] は有効にしておく
  3. [追加] ボタンをクリックする
  4. ポップアップウィンドウが閉じて [メディア] に上記で入力したメールアドレスが表示されていることを確認する
  5. [更新] ボタンで変更が更新される

アクションを設定する

アクションは設定した覚えがないので初めから設定されていた気がするけど、どうだったけかな…。

また Zabbix Server をインストールすることがあったらこの内容を更新する。

とりあえずスクリーンショット画像だけ貼っておく。

障害、または何らかのデータが閾値を超えるのを待つ

障害を待つのはダルいので、一旦、監視対象の Zabbix Agent の 10051 番ポートを閉じて Zabbix Server から Zabbix Agent に接続できない状況にして、この状態でアラートメールが送信されるか確認したりすればいいと思う。

まとめ

Zabbix はインストールが簡単だし、設定がブラウザからできるので初心者にもわかりやすいです。

今は Zabbix で安定したサーバー監視ができている状態になったので、Nagix は停止して Zabbix に完全移行することができました。

 

改訂版 Zabbix統合監視実践入門 ~障害通知、傾向分析、可視化による省力運用 (Software Design plus)
改訂版 Zabbix統合監視実践入門 ~障害通知、傾向分析、可視化による省力運用 (Software Design plus)

Zabbix統合監視徹底活用 ~複雑化・大規模化するインフラの一元管理 (Software Design plus)
Zabbix統合監視徹底活用 ~複雑化・大規模化するインフラの一元管理 (Software Design plus)

さくらの VPS に X Window System をインストールして Mac から VNC over SSH 接続するメモ

さくらの VPS に X Window System をインストールして、
Mac から VNC over SSH 接続するメモです。

基本的には以前書いた記事の Mac から VNC over SSH の流れの通りなんだけど、
SSH Tunnel Manager が RSA 鍵に対応していなかったので、
別の Mac アプリをインストールして、
VNC over SSH しました。

 

環境

サーバー:
CentOS 6.3 (x86_64)

クライアント:
MacOS 10.8 (Mountain Lion)

利用するアプリケーション:
Chicken of the VNC
→ Mac 用 VNCクライアント

Coccinellida
→ SSH トンネルが設定できる GUI アプリケーション

 

サーバー側の設定

まず X Window System とデスクトップ環境をインストール。

※ “Desktop” ではなく “GNOME Desktop Environment” と紹介されているサイトもありましたが、
“GNOME Desktop Environment” ではインストールできず “Desktop” でインストールできました。

 

次に VNC 環境をインストール。

 

/etc/sysconfig/vncservers を編集。
(Display番号が 1 、ユーザー名が username の場合)

 

VNC を利用するユーザーになって、パスワードを設定。

 

VNC サーバーの起動。

 

VNC サーバーを起動すると、
VNC を利用するユーザーのディレクトリに設定ファイルができるので、
それを編集する。

 

お好みで VNC サーバーを自動で起動するようにする。

 

今回は VNC で Firefox を利用したいので、
Firefoxをインストールする。

 

Coccinellida の設定

Coccinellida を起動。
メニューバー → Coccinellidaアイコンをクリック → preferences → Tunnels → add から設定を追加。

20130617_01

General の設定は下記のような感じ。

Name → 適当に
Host → ホスト名
Port → ポート番号
User → SSHのログインユーザー名
Password → SSHのログインパスワード
Identity → RSA鍵のファイルパス

 

20130617_02

Port Forwarding の設定は下記のような感じ。

Type → local
Local Port → 5901
Local Host → localhost
Remote Host → localhost
Remote port → 5901

 

Chicken of the VNC の設定

Chicken of the VNC を起動。

20130617_03

Servers欄 → 適当に名前を付ける
Host → localhost
Display → 1(サーバー側で設定したディスプレイ番号)
Password → VNCユーザーのパスワード

Connect ボタンをクリックして、
サーバーの X Window System が表示されれば完了。

20130617_04

 

Coccinellida は結構不安定で、
よくフリーズしちゃうので、
フリーズしたら、ターミナルかアクティビティモニタから強制終了してください。

 

以上、個人的なメモでした。

さくらのVPS(CentOS 5.5)に RapidSSL をインストールするまでのメモ

SSL のインストールは初めてなので、
いろいろ調べながらインストールしてみる。

サーバーはさくらのVPS
OS は CentOS 5.5。

 

どこの SSL を利用するか

SSL 証明書は個人的に RapidSSL 一択でした。
SSL 証明書が2000円台って安過ぎ。

以下、参考に他社の値段。

ベリサイン : 85,050円(1年)
セキュア・サーバID|製品について|日本ベリサイン

ジオトラスト : 36,540円(1年)
SSL電子証明書 ジオトラスト(GeoTrust) – ジオトラスト クイックSSL プレミアム

RapidSSL は、
僕が調べた限りでは評判もそこそこ良いし、
日本の携帯電話への対応も良いらしい。

安くて評判も良ければ、
使わない手はないよね。

 

SSL 証明書の購入

国内外にいろいろ代理店があるっぽくて、
日本の会社で、日本語で、そこそこのデザイン(ここ大事)で、
画面の遷移が重くない Rapid-SSL.jp で購入することにしました。

SSL証明書 RapidSSL 2600円 ワイルドカード 18000円 (RapidSSL Strategic Partner)

 

2015年5月2日 追記

改めて Rapid-SSL.jp のサイトを見てみたら「年間4,300円(税抜き)」になっていて、記事公開時と比べてちょっと高くなっていました…。(記事公開時は「年間2,600円(税抜き)」でした。)

少し調べてみたら サイフにやさしいSSL証明書 の RapidSSL は「年間3,000円(税抜き)」で今の Rapid-SSL.jp より安くて、確かにサイフにやさしいです!(それでも記事公開時よりは少しだけ高いですが…。円安の影響でしょうか…。)

サイフにやさしいSSL証明書

追記ここまで。

 

SSL 証明書のインストール

下記サイトを参考に SSL 認証書のインストールを進めていきます。

 

まず、mod_ssl のインストール。

次に秘密鍵を生成する。
RapidSSL の認証書が 2048bit なので 2048 を指定すること。

次に秘密鍵から CSR を生成する。

CSR の内容を確認。

CSR を Rapid-SSL.jp に送信して、証明書発行を申し込む。
CSR 生成時に入力した情報を Rapid-SSL.jp でも入力すること。

メール認証後、SSL サーバー証明書がメールで送られてくるので、
サーバーに設置する。

このままだと Apache を起動するたび(?)にパスフレーズを聞かれるので、
パスフレーズ応答を削除する。

ssl.conf を編集する。

バーチャルホストの設定を変更する。
(バーチャルホストを構築している場合)

Apache を再起動する。

ここまでで https にアクセスしてみるけど、
「接続の安全性を確認できません」(Firefox)って言われる。

20110407_001

 

どうやら「中間証明書」ってのをサーバーに入れないといけないらしい。
そういえばメールで送られてきてたので、
「中間証明書」とやらをサーバーに設置する。

「中間証明書」ファイルを新規作成して、
メールで送られてきた内容をコピペする。

ssl.conf を編集して「中間証明書」を読み込む。

そして、Apache を再起動。

 

これで、Firefox に怒られなくなりました。

以上。

さくらのVPSにソースな ruby から RPM パッケージを作ってインストールするメモ

さくらのVPS(CentOS 5.5)に ruby のソースから RPM パッケージを作ってインストールするまでのメモ。

yum だと ruby 1.8.5 がインストールされるんだけど、
それだとちょっと不都合があるので、
1.8.7(1.8系の最新)をインストールする。

 

ruby をアンインストール

yum で ruby をインストールしちゃったので、
まずはアンインストール。

 

rpm-build と checkinstall のインストール

rpm-build は始めから入ってた。

checkinstall は yum でインストール出来ないっぽい。

仕方がないのでソースからインストールする。

checkinstall の最新バージョンは下記参照。
Index of /~izto/checkinstall/files/source

 

ruby のダウンロードと rpm パッケージの作成、インストール

ちなみに passenger を利用する場合、
zlib-devel や openssl-devel が必要になるんだけど、
後から zlib-devel 等を入れると ruby から zlib が扱えないって怒られるので、
RPM パッケージを作る前にインストールしておくと良さげ。

後からでも追加できるんだけど、めんどくさそうでした。

 

ruby 1.8.7 をダウンロードする。

ruby の最新バージョンは下記参照。
オブジェクト指向スクリプト言語 Ruby

展開して、configure して、make して、RPM パッケージを作る。

いろいろ聞かれるけど、
適当に答えれば RPM パッケージの完成。

そして、不要なファイルの削除。

そして、ruby のインストール。

そしてついでに、rubygems もインストール。

rubygems の最新バージョンは下記参照。
RubyForge: RubyGems: Project Info

 

以上。

このブログの表示が早くなりました

NEC のサーバーを新しく買いまして、
今まで使っていた DELL のサーバーからブログのデータを移す際に、
WordPress の高速化を試してみました。

 

APC のインストール

APC っていうのは Alternative PHP Cache の略で、
PHP の実行コードをキャッシュする仕組みらしい。

PHP: 導入 – Manual

WordPress は APC を利用するようにできてるらしい。
知らなかった……。

結構効果があるらしいので、
早速インストールしてみる。

上記は Utter Ramblings リポジトリを使ってる場合。

標準リポジトリの場合は、

で、インストールできるはず。
ついでに php-pear もインストールされた。

 

WP Super Cache のインストール

WordPress の記事をキャッシュするプラグインらしい。
似た名前で WP-Cache ってのもあるんだけど、
どっちの方がいいんだろ……?

とりあえず今回は WP Super Cache をインストールしました。

WordPress › WP Super Cache « WordPress Plugins

 

WP Super Cache のインストールは簡単でした。

  1. プラグインをアップロード(管理画面から新規追加でも可)
  2. WP Super Cache を有効化
  3. WP Super Cache の設定画面へ移動
  4. 画面の指示通り wp-content のパーミッションを 777 に変更
  5. 画面の指示通り WP Super Cache の設定画面を再読み込み
  6. 画面の指示通り wp-config.php に define(‘WP_CACHE’, true); を追加
    (define(‘WP_DEBUG’, false); の下あたり)
  7. wp-config.php をアップロード
  8. WP Super Cache の設定画面を再読み込み
  9. wp-content のパーミッションを戻す(755 かな?)
  10. 「Caching On (Recommended) 」を選択して「ステータスを更新」をクリック
  11. Test Cache をクリックしてキャッシュの動作を確認

以上です。

なんかいろいろ細かく設定できるみたいだけど、
デフォルトの設定でいいよね……?

 

表示速度のチェック

表示速度は下記の Web サービスでチェックしました。
簡単そうだったんで。

WebWait – Benchmark Your Website

 

結果

20110207_001

左上から、

  • 旧サーバー
  • 新サーバー
  • 新サーバー + php-apc
  • 新サーバー + php-apc + WP Super Cache

の5秒毎に5回表示した時の平均表示速度です。

 

無事、表示速度が 2.5 倍になりました。

めでたし、めでたし。

ServersMan@VPSでsinatraを動かすまでのメモ

基本はさくらのVPSでsinatraを動かすまでのメモと同じだけど、
違うところだけメモしておく。

契約したのは下記のプラン。

ServersMan@VPS|仮想専用サーバ|月額490円~、初期&2ヶ月完全無料

プラン:ServersMan@VPS Entryプラン
OS:CentOS 5.5

 

初期設定

ちなみに、

  • yum-updatesdはインストールされてなかった
  • yum-fastestmirrorは始めから入ってた
  • SELinuxは始めから無効になってる

 

SSHとAirDisplay@VPS

SSHのポート変更は「さくらのVPSでsinatraを動かすまでのメモ」を参照。

AirDisplay@VPSってのはServersManのブラウザからコンソール操作をする機能。
SSHのポート番号を変更するときは、AirDisplayのポート番号も合わせて変えないとAirDisplayが動作しません。

下記を参考にAirDisplayのポート番号を変更。

ServersManマニュアル | マニュアル | ServersMan@VPS仮想専用サーバーサービス :ユビキタスプロバイダ DTI

そして、ajaxtermを再起動。

AirDisplayはhttpでもhttpsでもアクセスできるけど、
httpsのほうがセキュアで良いよね。

  • https://IPアドレス/airdisplay/
  • http://IPアドレス/airdisplay/

ちなみに、対応ブラウザがIE6以上らしい。
自分が確認したところでは、
Firefox 3.6では動作せず、
Safari 5では動作しました。
(FirefoxはFirebugが邪魔してたのかも。確証はないけど。)

AirDisplayはAjaxTermってのを使ってみるみたい。

Index of /software/ajaxterm

 

ファイアウォール構築

これも基本的には「さくらのVPSでsinatraを動かすまでのメモ」の通り。

一部モジュールがServersMan@VPS(OpenVZ)では使えないらしいので、
一部をコメントアウト&修正。

 

NTPサーバー構築

ServersManのサポートに問い合わせたら、
時刻同期は自動で行われるとのことなので、
NTPは必要なし。

 

chrootユーザー作成スクリプト

ServersMan@VPSはx64環境じゃないっぽいので、
参考のスクリプトのままでOK。

SSHサーバー構築(OpenSSH) – CentOSで自宅サーバー構築

 

不要なデーモンとコンソールの停止

 

以上。

サーバーをベンチマークしてみた

NEC のサーバーを買ったので、
ベンチマークしてみました。

ついでに VPS とか Mac のベンチマークもしてみました。

参考 : Linuxでベンチマーク – superπ/姫野ベンチ編 | データセンターの専用サーバ データセンターダイレクト ブログ
 

確認したマシンたち

CPU とメモリは cpuinfo とmeminfo で調べました。

CentOS の場合

Mac の場合

以下、確認したマシンのスペック。

 

NEC Express5800/S70 タイプRB

CPU : Intel(R) Pentium(R) CPU G6950 @ 2.80GHz
メモリ : 6GB(2GB + 2GB + 1GB + 1GB)
参考 : 仕様:S70 タイプRB | NEC

 

Dell PowerEdge 430

CPU : Intel(R) Pentium(R) D CPU 2.80GHz
メモリ : 1GB(512MB + 512MB)
参考 : PowerEdge SC430 製品詳細 | Dell 日本

 

MacBook (Late 2007)

CPU : Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz
メモリ : 4GB(2GB + 2GB)
参考 : MacBook (Late 2007) – Technical Specifications

 

さくらのVPS

CPU : Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz
メモリ : 512MB
参考 : さくらのVPS|VPS(仮想専用サーバ)はさくらインターネット

 

ServersMan@VPS(Entryプラン)

CPU : Intel(R) Xeon(R) CPU L5520 @ 2.27GHz
メモリ : 768MB
参考 : ServersMan@VPS|仮想専用サーバ|月額490円~、初期&2ヶ月完全無料

 

superπでベンチマークする方法

下記からsupperπをダウンロードして、
解凍して、実行するだけ。

ftp://pi.super-computing.org/ の一覧

 

姫野ベンチでベンチマークする方法

下記から C, static allocate version の M をダウンロードして、
解凍して、リネームして、make して、実行する。
(なんでリネームするんだろ……。)

ダウンロード (ソース & 実行形式(Win/Mac 用))|HPC High Performance Computing|ACCC. RIKEN

lha(lzhを解凍するコマンド)がない場合は、
yum か rpm でインストールする。

yum の場合。

rpm の場合。
下記から合ったものをダウンロードしてインストール。

Index of /lha

 

supperπの結果

NEC Express5800/S70 タイプRB

Dell PowerEdge 430

MacBook (Late 2007)

さくらのVPS

ServersMan@VPS(Entryプラン)

 

Total calculation time が早い方がいいんだよね、多分。

ってことで、

1位 : NEC Express5800/S70 タイプRB → 13.358秒
2位 : さくらのVPS → 14.577秒
3位 : ServersMan@VPS(Entryプラン) → 25.085秒
4位 : MacBook (Late 2007) → 27.858秒
5位 : Dell PowerEdge 430 → 30.579秒

という結果になりました。
MacBook が意外と遅いね。

 

姫野ベンチの結果

NEC Express5800/S70 タイプRB

Dell PowerEdge 430

MacBook (Late 2007)

さくらのVPS

ServersMan@VPS(Entryプラン)

 

見方が分かんないけど、
数値が大きい方がいいんだよね?

ってことで、

1位 : さくらのVPS
2位 : NEC Express5800/S70 タイプRB
3位 : Dell PowerEdge 430
4位 : ServersMan@VPS(Entryプラン)
5位 : MacBook (Late 2007)

という結果になりました。

 

っということは、
最近買った「NEC Express5800/S70 タイプRB」と「さくらのVPS」が、
ベンチマーク的に良い勝負ってことですね。

すげーな、さくらのVPS。

Mac から VNC over SSH

Mac から LAN 外の CentOS に VNC over SSH で接続するまでのメモ。

基本 SSH でいいんだけども、
実家のネットワークの CTU の設定を変更したいときに、
自宅のサーバーのブラウザを立ち上げたかったので。

 

VNC over SSH とは

VNC over SSH ってのは、
SSH のポートを通って VNC に接続するっていうことらしい。

VNC は通信が暗号化されてないから、
LAN 外のマシンに VNC 接続する場合は、
SSH のポートを通したほうが安全らしい。

 

環境

サーバー:
CentOS 5.5

クライアント:
MacOS 10.6 (Snow Leopard)

利用するアプリケーション:
Chicken of the VNC
→ Mac 用 VNCクライアント

SSH Tunnel Manager
→ SSH トンネルマネージャ(そのまんま)
※ライセンス書いてないけど、フリーで使っていいよね?

 

サーバー側の設定

以下、SSH は利用できる状態とします。

ちなみに、僕はSSHをパスワードでログインできる状態にしてるけど、
鍵方式でログインする場合はまたちょっと違うかも。

まずは VNC サーバーのインストールと設定。

VNC を利用するユーザーになって、
パスワードを設定。

VNC サーバーの起動。

VNC サーバーを起動すると、
VNC を利用するユーザーのディレクトリに設定ファイルができるので、
それを編集。

VNC サーバーを自動で起動するようにする。

 

SSH Tunnel Manager の設定

SSH Tunnel Manager を起動。
preferences から設定を追加。

20110130_001

Name → 適当に
Login → SSHのログインユーザー名
Host → ホスト名
Port → SSHのポート番号

Local redirections の+ボタンクリック。

左から順に、
Port → 5901(VNCのポート番号)
LAN Host → localhost
Port → 5901(VNCのポート番号)
※なんでポート番号を2回入れるのかは分からない。
※「始まり」と「終わり」とかかなぁ。

設定が終わったら画面は閉じて、
さっき設定した設定名の再生ボタンを押す。

20110130_002

パスワードを聞かれるので、
SSHのパスワードを入力。

状態が Connected になればOK。

 

Chicken of the VNC の設定

Chicken of the VNC を起動。

20110130_003

Servers欄 → 適当に名前を付ける
Host → localhost
Display → 1(サーバー側で設定したディスプレイ番号)
Password → VNCユーザーのパスワード

Connect をクリックして、
サーバーのデスクトップが表示されれば完了。

20110130_004

 

以上。

LAN 外からサーバーのデスクトップが表示されるのは、
ちょっと感動します。
(僕だけ……?)

CentOS 4 に ruby 1.8.7 と rubygems 1.3.7 をインストールしたときのメモ

CentOS 4 なサーバーに yum で ruby をインストールしたら、
ruby 1.8.1 がインストールされた。

まぁちょっとくらいバージョン低くてもいっかーって思ってたけど、
rubygems がうまくインストールできなくて困った。
(ruby 1.8.1 でインストールできる rubygems は 1.3.1 らしい。)

ググってみると、
「バージョンを上げなよ」的なことを言われたので、
大人しくバージョンを上げることにする。

ただ、インストールはできるだけパッケージ管理アプリケーションに任せたいので、
下記サイトを参考にrpmパッケージを作成してインストールすることにする。

CentOSのyumでインストールしたRubyをバージョンアップ(インストール) « FlatLabs Blog

 

まずは ruby のアンインストールと、
rpm-build と checkinstall のインストール。

そんでもって、
ruby のソースをダウンロードして、
rpmパッケージ作成、
そしてインストール。

なんかいろいろ聞かれるけど、
上記サイトを参考に適当に答えてたら、
ruby-1.8.7-p302-1.i386.rpm が完成、
そしてインストール。

引き続き rubygems 1.3.7 をインストール。

以上。

さくらのVPSでsinatraを動かすまでのメモ

さくらのVPSで、
sinatraを動くようにするまでの個人的なメモ。

sinatra以外にも、
perlなCGIやphpも動く環境を作る。

さくらのVPS|VPS(仮想専用サーバ)はさくらインターネット

 

初期設定

下記を元に初期設定など。

CentOS5初期設定 – CentOSで自宅サーバー構築

ちなみに、

  • yum-updatesdは始めから止まってた
  • yum-fastestmirrorは始めから入ってた
  • yum-cronのインストールは止めておいた
  • SELinuxは始めから無効になってる

 

【2012年3月28日追記】

CeotOS6の標準なのか、
さくらのVPSの標準なのかは分からないけど、
logwatchが初期状態では入っていないようなので、
logwatchを別途入れる。

 

ホスト名の変更

デフォルトのままでもいいんだけど、
今自分が何のサーバーを触っているのかを知りたいので。

再起動で反映。

 

SSHの設定変更

sshd_configを編集する。

ちなみに、ssh_configっていうファイルもあるので、間違えないように。
僕はこれで小一時間はまった。。。

 

日本語設定

下記を参考に。

UTF-8日本語設定(CentOS・putty・Emacs) – qnzm.log(クニジマログ)

 

chrootユーザー作成スクリプト

下記の「chrootユーザー作成スクリプト作成」を参考に。

SSHサーバー構築(OpenSSH) – CentOSで自宅サーバー構築

さくらのVPSはx64環境なので、
そのままだとエラーになるので、
スクリプトの一部を修正

# 修正前:
cp /lib/libnss_compat.so.2 lib/
cp /lib/libnsl.so.1 lib/
cp /lib/libnss_files.so.2 lib/
cp /lib/ld-linux.so.2 ./lib/
cp /lib/libc.so.6 lib/
cp /lib/libm.so.6 lib/
cp /lib/libpthread.so.0 lib/
cp /lib/librt.so.1 lib/
cp /lib/libthread_db.so.1 lib/

# 修正後:
cp /lib64/libnss_compat.so.2 lib64/
cp /lib64/libnsl.so.1 lib64/
cp /lib64/libnss_files.so.2 lib64/
cp /lib64/ld-linux-x86-64.so.2 lib64/
cp /lib64/libc.so.6 lib64/
cp /lib64/libm.so.6 lib64/
cp /lib64/libpthread.so.0 lib64/
cp /lib64/librt.so.1 lib64/
cp /lib64/libthread_db.so.1 lib64/

№891 x86_64でOpenSSH+Chroot できません – Web Patio – CentOSで自宅サーバー構築

 

ファイアウォール構築

下記を参考に。

ファイアウォール構築(iptables) – CentOSで自宅サーバー構築

 

NTPサーバー構築

NTPサーバーは始めから動いてて、
「server ntp1.sakura.ad.jp」が設定されていた。

 

Apacheの設定

下記を参考に。

Webサーバー構築(Apache) – CentOSで自宅サーバー構築
ユーザーディレクトリ作成(/~ユーザー名/) – CentOSで自宅サーバー構築
バーチャルホスト設定 – CentOSで自宅サーバー構築
Webサーバー間通信内容圧縮(mod_deflate) – CentOSで自宅サーバー構築

ただ現時点だとPHPのバージョンが5.1.6なので、
5.2.xをyumでインストールしたい場合は下記参照。

#10 PHPのインストール・設定::VMWare×CentOS5 Windowsでカンタン開発環境 – 肉とご飯と甘いもの @ sotarok

GPGキーのインポート。

yumリポジトリの追加。
(ファイルの新規作成)

そしてアップデート。

phpのバージョン確認。

 

あとついでに、後でpassengerをインストールときに必要になるので、
関連するライブラリをインストールしておく。

 

FTPサーバーの構築

下記を参考に。

FTPサーバー構築(vsftpd) – CentOSで自宅サーバー構築

 

サーバー監視

下記サービスで、外部からサーバーを監視する。

サーバー監視【無料】

 

rubyとRubyGemsとsinatraのインストール

【2011年4月2日 追記】
ruby 1.8.7 を入れると、hpricotの問題は解決します。
ruby をソースから RPM パッケージを作ってインストールする方法は、
下記参照。

どうのこうの » さくらのVPSにソースな ruby から RPM パッケージを作ってインストールするメモ

 

まずは ruby と関連ライブラリを yum でインストール。

最新のrubygems(1.3.7)はruby 1.8.6以上じゃないとダメらしいので、
rubygems 1.3.5を入れる。
(rubygems 1.3.6以上からruby 1.8.6以上が必要らしい。)

あとは、sinatraと必要なライブラリをインストール。

hpricotは0.8.2がうまくインストールできないので、
0.7をインストールする。

Hpricot をインストールしようとしてエラー – snbhsmt_log

 

memcachedとmemcache-clientのインストール

yumの標準リポジトリではmemcachedが見つからないので、
下記を参考にRPMforgeリポジトリを導入。

RPMforgeリポジトリ導入(RPMforge) – CentOSで自宅サーバー構築
№1849 RPMforgeリポジトリ導入エラー インポート不可 – Web Patio – CentOSで自宅サーバー構築

libeventってのが必要らしいので、
インストール。

memcachedをインストール。

とすると、いろいろと依存関係があるらしく、
インストールされない。
–skip-brokenオプションを試してみろってことだったので、
試してみる。

無事インストールできた。
他にもいろいろインストールされたけど、
まぁいいや。

そして、下記でmemcachedの設定変更。

そして、memcachedを起動。

rubyからmemcachedを扱いたいので、
memcache-clientをインストール。

 

passengerのインストールとsinatraの動作テスト

下記を参考に。

Sinatraで鼻歌まじりのWeb開発

httpd-develとapr-develをインストールしろと言われたので、
インストールする。

上記でapr-develもインストールされた。

もう一回、passengerのインストール。

httpd.confに3行追加しろと言われるので、
追加する。

sinatraを動かすDocumentRootをpublicに修正。

httpdをリロード。

あとは、FTPで接続して、
public_htmlの下にpublicディレクトリ(空)とtmpディレクトリ(空)を作成。
public_htmlの下にconfig.ruとhello.rbを配置。

こんな感じ。

public_html/
+ config.ru
+ hello.rb
+ public/
+ tmp/

で、動かんし。

いろいろ検索したら、
rack 1.2.1で動かない事例を発見。

Just installed sproutcore and getting error running sc-init – SproutCore | Google グループ

上記を参考に、
rack 1.2.1をアンインストールして、
rack 1.2.0を入れ直す。

で、ようやく動いた。

 

不要なデーモンとコンソールの停止

下記を参考に。

CentOSをサーバーとして活用するための基本的な設定 (さくらインターネット創業日記)

まずは不要なデーモンの停止。

サーバーを再起動して、設定を反映。

ちなみに、不要なコンソールは、
始めからコメントアウトされてた。

 

これで、一通り準備完了。

Older posts

© 2017 どうのこうの

Theme by Anders NorenUp ↑