PerlとRubyがくしゅう帳

プログラミングの勉強会の参加記録や学んだことなど。 twitter ID : @tomcha_です。 最近は主にPerl関連の勉強会やコミュニティに参加しています。

カテゴリ: Linux

perl入学式放送局で西のazuma(猫)さんが紹介されていた書籍「UNIXという考え方」を読了。

いわゆる”ごく一般層”の人にとっては、パソコンの選択肢といえばWindowsかMacの2択でしかなく(MacOSXもつい数年前まではどちらかといえばマニア向けでしたね)、UNIX、Linuxなんてコンピューターマニアの人が使う別世界のものという感覚ではないでしょうか。(昔、ある日突然2chが終わるという事態をUNIX板の人が救ったというフラッシュアニメがありました。。。懐かしい。)


かくいう自分も、perlのコミュニティに参加する様になってから、MacOSXをCUIのターミナルから操作したり、初歩的なUNIXコマンドを覚えたり、Vim(やEmacs)といったエディタの使い方を覚えたり、といった事を「なんとなく」すすめていましたが、この本を読んで一歩深い”思想的なもの”の理解を深めることが出来ました。


そういう初心者の人に、是非おすすめの本です。古本でも意外と安いです。


この本は、いわゆる操作の入門書では無いので、パソコンを操作しながら読み進める本ではなく、UNIXというOSの設計思想の文章を読み進める本なので、この本で知識のバックボーンを理解してから’Linux操作入門’的な本を学習するとより効率が良いかなと思いました。(自分もこれから勉強します)


とりあえず読了しての覚え書き

・プログラムは小さく、単一機能を目指す

・小さいプログラムを繋げて大きな仕事をする

・その為のパイプとSTDIOの仕組み

・シェルスクリプトを使いこなす

・データは互換性の高いフォーマット、ASCIIテキスト形式で

・速度はハードの進化にまかせる。トリッキーなコードより、移植性(可読性)の高いコードを


プログラミングの学習が進めば進む程、必要な知識はどんどん増えていきますが、知識と知識が繋がって理解できると、結構楽しいですね。

さくらVPSで、Perlで書いた自動メール送信DAEMONを使うため、使っているcpanモジュールをインストールしてみたが、いくつかのモジュールがエラーで入らなかった時の対処メモ。

入らなかったモジュールは
Email::Sender::Simple
Email::Sender::Transport::SMTP::TLS

さくらVPSのOSは、標準でセットアップされているCentOS6.4。
インストール方法は、cpanm  コマンド。
インストールログを確認すると、どうやらperl-Net-SSLeayとかのモジュールが原因っぽい。 

ググってみると、どうやら、Perlの基本モジュール?の一部がデフォルトでインストールされておらず、その一部がperl-Net-SSLeayらしいという記事を発見。LinuxとかUnixとかズブの素人なので、かなり自分の感覚で解釈して読んでるいるので、本当にそれが原因で合っているのか不安ながら、ま、失敗すればOS再インストールからやりなおせばいいかの精神で試してみました。

こちらのブログ記事を参考にさせて頂きました。

記事通りに3つのモジュールをインストールしてから、再度cpanmでEmail::~モジュールをインストールしたら、見事入りました!

perlbrewの不具合とか原因が何なのかよくわからない手探り状態から何とか解決。
とりあえず、何でもやって見ることが大切なんでしょうね。
あと、Perlコミュニティの人のヘルプはとても助かります。感謝。 

さくらVPSを借りて、ドメインも取得していよいよインターネットに書いたperlのコードやらサービスを公開する為にした事とハマった事メモ。

 さくらVPSの契約をしてから初期設定するまでは、ドットインストールの手順通りで大丈夫でした。ドットインストール、なんて便利なんだろう。

起動〜基本設定

  1. さくらvpsの公式webページのコントロールパネルから、仮想サーバー操作の「起動」スイッチでサーバー起動
  2. ローカルのMacbookAirから、ssh接続。rootで接続。
  3. コマンド yum updateでサーバー内のアプリ類をアップデート。 
  4. imを使って、/etc/sysconfig/i18n  ファイルを書き換えて日本語化する。
    lang"C"をja_jp.UTF-8に書き換え。

ログイン周りのセキュリティ対策

  1. ->useraddコマンドとpasswdコマンドで、通常使うユーザーアカウントを追加。
  2. ローカルのMacbookAirにある秘密鍵、公開鍵でログインする様に変更。
    (公開鍵ファイルをscpコマンドでサーバーへアップロード)
  3. upした公開鍵のパーミッションを600へ変更。 公開鍵のファイル名をauthorized_keysに変更。
  4. rootでログインし、追加したユーザーをsudousers(/etc/sudousers)に追加する。
    visudoを使って、root ALL=(ALL) ALL
    に同じ書式で追加するユーザー名を追記。
  5. /etc/ssh/sshd_config をcpでバックアップしてから編集。 
    #port22のコメントアウトを消して、アクセスするポートを別のポートへ変更。
    PasswordAuthentication yesをnoに変更。パスワード認証を禁止して公開鍵認証onlyにする。 
    #PermitRootLogin yesのコメントアウトを消して、yesをnoに変更。rootでのログインを無効化する。

あと、セキュリティ的にはルーティングテーブルを設定した方が良いみたいなので、それはまた後日。

このページのトップヘ