社内システム進捗 • 前回までの決定事項 →システムは「Scala PlayFramework2」で作成 →一部バッチ機能は「Python」で実装 →画面はHTML5を積極的に利用しましょう →サーバについてはさくらVPSを既に契約済 • 今月の進捗 →1. 環境整備(10%) →2. 一部ですが画面モック作成 0. Scala人気 • RedMonkがプログラムランキングを発表 • 「GitHub」の利用状況と、Q&Aサイト 「StackOverflow」で各言語が話題になってい る件数を調べ、人気度を判定している • Scalaは12位でした。まずまず! 【URL】 http://redmonk.com/sogrady/2012/09/12/lang uage-rankings-9-12/ 1. 環境整備 • SSHの設定 • ファイアーウォール設定 • 不要なデーモン停止(詳細説明無し) • Redmineインストール予定・・・。 • 設定内容について説明します。 → ちなみにCentOS6.2が対象です 1-1. SSH設定 • 設定ファイルは「/etc/ssh/sshd_config」 • sshd_configの変更を行った →ポート番号変更 →各種設定(Rootログイン無効) →公開鍵作成 • 設定後に「sshd」を再起動で有効 →「 etc/rc.d/init.d/sshd restart」 1-1-1. ポート番号変更 • ポート番号を変更するのは何故? →デフォルトではポート番号は22 →デフォルトポートは狙われる可能性があるた め、変更する 「Port 10022」を追加(このポート番号は例です) →設定について説明しているサイトのほとんど が「10022」になっているので・・・。 • SSH接続することがある場合に教えます 1-1-2. 各種設定 • Rootログイン無効 →「PermitRootLogin no」 • パスワードでのログイン無効 →「PasswordAuthentication no」 • 公開鍵証明書によるログイン有効 →「PubkeyAuthentication yes」 1-1-3. 公開鍵作成 • ログインしたいユーザのカレントディレクトリへ移動す る(対象ユーザが「user1」の場合) →「cd /home/user1」 • 公開鍵作成 →「ssh-keygen」コマンドを実行するとパスフレーズを求め られるので入力する • 「/home/user1/.ssh/」配下にファイルができる →「id_rsa」、「id_rsa.pub」(このファイルを 「authorized_keys」にリネーム) • 「id_rsa」をSSHするクライアント側へ →クライアント側は「id_rsa」を使用して接続する 1-2.ファイアーウォール設定 • 設定にiptablesを使用します。 • 必要なポート以外をブロックします。 →http、ssh以外の入力をブロック • 設定ファイルは「/etc/sysconfig/iptables」を編集 する • 設定後に再起動 →「/etc/rc.d/init.d/iptables restart」 • 反映されているかを確認 →「iptables -L」 1-2-1. iptables設定(1) • まずはチェーン定義 • 「RH-Firewall-1-INPUT」はユーザ定義 • 「*filter」はフィルタテーブルを使用する定義 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] 1-2-2. iptables設定(2) • INPUT、FORWARDにユーザ定義「 RH-Firewall-1-INPUT 」を設定 -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT • 「lo」はループバック。つまり、自分自身への通信を指す -A RH-Firewall-1-INPUT -i lo -j ACCEPT • ICMP(通信エラー時にメッセージを送るプロトコル)を許可 -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT • パケット改ざんされていないかをチェックするプロトコルを許可 -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT 1-2-3. iptables設定(3) • マルチキャストDNSを許可 -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT • 印刷データの送受信のためのプロトコルを許可 -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT • 【重要】この行が無いと通信できなくなります。 -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT • ここまででついてこれなくなっている人がいそうですが・・・・。 • もう少しなのでがんばりましょう。 1-2-4. iptables設定(4) • SSHポートを有効 • XXXXX部分はデフォルトだと「22」、変更した場合はそのポート番号 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport XXXXX -j ACCEPT →「-A」は追加 • HTTPポートを有効 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT • それ以外は全てブロックするように設定 -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited • 最後にコミット COMMIT 【参考】 http://blog.serverkurabe.com/sakuravps-start-10 2. Redmine • プロジェクト管理等に使用します。 • 現在は付属品構成を検討中です。 →Webサーバなど。妥当にApacheにしようかな。 • 管理する予定プロジェクト (1) 社内システム(Scalaベース) (2) 探険(Androidアプリ)、名前合ってたっけ・・。 (3) Web用フレームワーク (4) Commonsプロジェクト 2-1. Web用フレームワーク • MVCモデルのWebアプリ用 • ベースはSAStruts • 石○氏が11月帰社日に公開予定 • きっと、今まで見たこともないような仕組み を・・・。 • 11月帰社日に品評会をしましょう 2-2. Commonsプロジェクト • • • • どの案件でも使えそうな共通部品を作成 11月に大○氏が作成 まずはメール送受信部品 JavaMailベースにしようかと 3. 社内システム画面 • 一部ですがモックを用意しました。 • HTML5を使用して一部作成しています。 • HTML5の仕様箇所の説明(タグ)については 来月以降に行います。 • まずは画面イメージの共有から • こんなデザインがいいと要望があればご意見 をください。
© Copyright 2024 ExpyDoc