2015/01/30

Linuxサーバを作る ④

アカウントセキュリティ

動けばいいじゃんと軽視されがちですが、私は大事だと考えています。

パスワードポリシー

ユーザーパスワードは8文字以上、大小文字・数字・記号も必須にしましょう。
またログインの際に一定回数パスワード認証に失敗したらロックするようにもします。
 # vim /etc/login.defs
 #PASS_MIN_LEN   5
 PASS_MIN_LEN    8
 # vim /etc/pam.d/system-auth-ac
 auth        required      pam_env.so
 auth        required      pam_tally2.so pam_tally2.so onerr=fail deny=10 unlock_time=120
 auth        sufficient    pam_unix.so nullok try_first_pass
 auth        requisite     pam_succeed_if.so uid >= 500 quiet
 auth        required      pam_deny.so

 account     required      pam_unix.so
 account     required      pam_tally2.so
 account     sufficient    pam_localuser.so
 account     sufficient    pam_succeed_if.so uid < 500 quiet
 account     required      pam_permit.so

 #password    requisite     pam_cracklib.so try_first_pass retry=3 type=
 password    requisite     pam_cracklib.so try_first_pass retry=10 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1
 #password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
 password    sufficient   pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=1
 password    required      pam_deny.so
 # vim /etc/pam.d/password-auth-ac
 auth        required      pam_env.so
 auth        required      pam_tally2.so pam_tally2.so onerr=fail deny=10 unlock_time=120
 auth        sufficient    pam_unix.so nullok try_first_pass
 auth        requisite     pam_succeed_if.so uid >= 500 quiet
 auth        required      pam_deny.so

 account     required      pam_unix.so
 account     required      pam_tally2.so
 account     sufficient    pam_localuser.so
 account     sufficient    pam_succeed_if.so uid < 500 quiet
 account     required      pam_permit.so

 #password    requisite     pam_cracklib.so try_first_pass retry=3 type=
 password    requisite     pam_cracklib.so try_first_pass retry=10 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1
 #password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
 password    sufficient   pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=1
 password    required      pam_deny.so
設定に失敗すると上手くログインできなくなってしまうので注意して設定・確認しましょう。
※参考
説明
retry=N N回まで失敗が許されます。
type=XXX プロンプトに使われる文字列。
difok=N 現在のパスワードと N文字以上異なれば許可。
minlen=N パスワードが N文字以上だと許可。
dcredit=-N 数字が N文字以上含まれていれば許可。
ucredit=-N 大文字が N文字以上含まれていれば許可。
lcredit=-N 小文字が N文字以上含まれていれば許可。
ocredit=-N その他の文字が N文字以上含まれていれば許可。

権限昇格制限

複数人、複数拠点で運用するサーバであればきちんと設計・制限しておきましょう。

sudo権限

下記記事を参考にして頂ければと。
sudo関連のあれこれ

su権限

suコマンドを利用できるユーザーをwheelグループ所属ユーザーのみとする。
下記ファイルのコメントアウトを解除します。
 # vim /etc/pam.d/su
 auth            required        pam_wheel.so use_uid
 # vim /etc/login.defs
 SU_WHEEL_ONLY yes

不要サービスの停止

サーバ目的で利用するのであれば余計なリソースやポートが空かないよう。
不要なサービスを停止しておきましょう。
 # chkconfig --list

カーネルパラメータの調整

最低限の設定を。

Smurf攻撃対策

 # vim /etc/sysctl.conf
 net.ipv4.icmp_echo_ignore_broadcasts = 1
kernelパニック発生時にOSを再起動するようにする。
 # vim /etc/sysctl.conf
 kernel.panic = 10
設定を反映
 # sysctl -p
この時、追記した項目以外で下記のようなエラーが出力されます。
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
こちらはネットワークブリッジを利用する目的以外でブリッジモジュールがインストールされていた場合、デフォルトで有効化されてしまうことを防ぐためにあえて記載してあるらしいです。
なのでそのままでもよいのですが、エラーが出ているという事はブリッジモジュールをインストールしていないという事なので、
エラーが気になる方はコメントアウトしてもいいかもしれません。

ACL

Linux標準のACLと言えばiptablesがあります。
AWSなんかではインスタンス単位でACLを設定できるためあまりメリットはないですが
GW/FWで制御するような環境であれば設定しておりて損はないと思いますので設定しましょう。
私は設定スクリプトを作成し、デーモン利用ではなく利用します。
サーバ再起動時なんかには自動でスクリプトを実行するようにしておくとよりいいですね。

セキュリティアップデート

サーバとして利用を開始する前には一度フルアップデートを実施したほうがよいでしょう。
構築作業中やインストールに利用したテンプレート・メディアによっては脆弱性に対するパッチが当たっていない場合があります。
 # yum update
※kernelのアップデートについては利用基盤やハード環境を考慮して行ってください。
 場合によってはサポートを受けられなくなる可能性があります。
サービスインしてしまうとなかなかアップデートを気軽に行えなくなってしまうのが面倒ですね。

sysstatの設定

今や標準でインストールされているsysstat。
そのままでも問題ありませんが、運用に合わせて設定を変更します。
初期設定だと28日分のシステムログを保持するようになっています。
もっと保持しておきたい場合。
 # vim /etc/sysconfig/sysstat
 HISTORY=365
 # vim /usr/lib64/sa/sa1
 HISTORY=365
 # vim /usr/lib64/sa/sa2
 HISTORY=365
またデフォルトでは10分おきにシステムログを取得します。それを5分毎に変更します。
 # vim /etc/cron.d/sysstat
 # Run system activity accounting tool every 10 minutes
 #*/10 * * * * root /usr/lib64/sa/sa1 1 1
 */5 * * * * root /usr/lib64/sa/sa1 1 1
 # 0 * * * * root /usr/lib64/sa/sa1 600 6 &
 # Generate a daily summary of process accounting at 23:53
 #53 23 * * * root /usr/lib64/sa/sa2 -A
 58 23 * * * root /usr/lib64/sa/sa2 -A 

時刻同期設定

同期サーバの設定

インターネット上でシステム時刻を同期・調整するようにします。
最近のOSではPTP時刻同期に対応してきていますが、こちらはNTPで設定します。
今回は外部のNTPサーバを参照しするクライアントとして設定します。
どのサーバを参照するか。ある程度信頼性が求められるので怪しげなサーバは参照しないようにしましょう。
私はよく下記サービスを参照します。
インターネットマルチフィード 公開NTPサービス
 # vim /etc/ntp.conf
 server ntp1.jst.mfeed.ad.jp iburst
 server ntp2.jst.mfeed.ad.jp iburst
 server ntp3.jst.mfeed.ad.jp iburst
iburstを指定することで、初期時刻同期の収束時間が短くなるそうです。

ipv6の無効化

 # vim /etc/ntp.conf
 #restrict -6 ::1

脆弱性・DDOS対策

NTPのDDOS対策
 # vim /etc/ntp.conf
 disable monitor

slewモード設定

時刻同期方法をでデフォルトでslewモードにする
 # vim /etc/sysconfig/ntpd
 OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g -x"

NTP起動

ntpdを起動し同期を開始しましょう。
 # chkconfig ntpd on
 # service ntpd start

ntpdateの設定

サーバ再起動時にはハードウェア時刻を参照し、起動します。
運用にてシステム時刻とハード時刻の同期を行っていれば大きな誤差なく起動しますが、
ハード時刻がずれていた場合に時刻誤差が大きく起動してこないよう
OS起動時にntpdateを実行するように設定しておきます。
 # vim /etc/ntp/step-tickers
 # List of servers used for initial synchronization.
 ntp1.jst.mfeed.ad.jp
 ntp2.jst.mfeed.ad.jp
 ntp3.jst.mfeed.ad.jp

起動設定

 # chkconfig ntpdate on
長かったなー。
以上で商用?サーバを構築しよう!の初期設定が完了です。
個人利用であったり、そこまで求められないよっていう設定もあるとおもいます。
知らなかったことがあり、だれかの助けになっていれば幸いです。

他ミドルウェアのついてもボチボチ書いていきたいとおもっています。


Linuxシステム[実践]入門 Software Design plus
技術評論社 (2013-08-20)
売り上げランキング: 4,627

Linuxサーバを作る ③

OS初期設定

ランレベルの設定

サーバ目的なのでデフォルトランレベルは3にしておきましょう。
Redhat ランレベルとは
ランレベルにより起動・利用されるサービスが違うため、余計なリソースを使わないようにするためです。
 # vim /etc/inittab
 id:3:initdefault:
反映させるときは再起動が必要ですが、少し後回し。

インストールOS言語

インストール時に言語設定があったと思いますが実際の設定は下記ファイルとlocaleコマンドで確認できます。
 # cat /etc/sysconfig/i18n
 LANG="ja_JP.UTF-8"
 # locale
 LANG=ja_JP.UTF-8
 LC_CTYPE="ja_JP.UTF-8"
 LC_NUMERIC="ja_JP.UTF-8"
 LC_TIME="ja_JP.UTF-8"
 LC_COLLATE="ja_JP.UTF-8"
 LC_MONETARY="ja_JP.UTF-8"
 LC_MESSAGES="ja_JP.UTF-8"
 LC_PAPER="ja_JP.UTF-8"
 LC_NAME="ja_JP.UTF-8"
 LC_ADDRESS="ja_JP.UTF-8"
 LC_TELEPHONE="ja_JP.UTF-8"
 LC_MEASUREMENT="ja_JP.UTF-8"
 LC_IDENTIFICATION="ja_JP.UTF-8"
 LC_ALL=
最近だとクラウド側が準備しているテンプレートやコンテナを利用するケースが多いですが、その場合localeがENとかになっているケースが多いと思います。
きちんと利用環境、利用サービスに合わせておきましょう。

ロケールの日本語化

日本語パッケージが無ければインストールしておきます
 # yum groupinstall "Japanese Support"
日本語ロケールを追加し
 # localedef -f UTF-8 -i ja_JP ja_JP.utf8
定義ファイルを変更し
 # vim /etc/sysconfig/i18n
 LANG="ja_JP.UTF-8"
再起動して反映させます
 # reboot

システム時刻の設定

こちらも利用環境に即しているか確認して設定します。
タイムゾーンの確認
 # cat /etc/localtime
 ~省略
 JST-9
タイムゾーンを日本時間に修正する場合
 # cp -p /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
こちらも一応日本時間に
 # cat /etc/sysconfig/clock
 ZONE="Asia/Tokyo"
時刻はUTCを利用しているか
 # cat /etc/adjtime
 0.000000 1410678273 0.000000
 1410678273
 UTC
時計のUTC?GMT?local?ってひとは下記サイトを読むと参考になるかも
Linuxはどのように時間を計っているか
これらの設定を変更した場合、反映させるためには再起動させましょう。

Cron設定

linux標準のジョブ管理ツールです。
6系からクラウド利用を考慮され今までと少し基本設定が変わっています。
日次、週次、月次の処理をanacronが、その他のジョブをcronineがという風になっています。
今まで通り任意のジョブ等はcronファイルに記述すれば今まで通り動くので問題ないので特に変更は不要ですが、
問題はanacronで実行されるジョブは指定日に指定の時間内でランダムに実行される点です。
デフォルトの日次ジョブにシステム関連ログのローテートジョブがありますが、
複数サーバを管理する場合サーバごとにローテート時刻がずれるといったログ管理上あまりよくない事態が発生してしまいます。
今まで通り指定日時に実行してほしい!という方はanacron、cron設定を変更します。
下記手順はanacronを無効化するものではなく、あくまで以前のようにanacronをジョブの再実行用に利用し、cron主体で動くようにする設定です。

定期実行ジョブをcronで管理

anacronで実行されている日次、週次、月次の処理を今まで通りcron実行にします。
各ディレクトリ配下のジョブを実行するよう追記。
 # vim /etc/crontab
 05 0 * * * root run-parts /etc/cron.daily
 25 0 * * 0 root run-parts /etc/cron.weekly
 45 0 1 * * root run-parts /etc/cron.monthly
anacronで不実行ジョブが再実行されるタイミングを指定。
 # vim /etc/anacrontab
 #START_HOURS_RANGE=3-22
 START_HOURS_RANGE=5-6   
日次、週次、月次の処理がcronで実行され、再実行不要であることをanacronに伝えるジョブを各ディレクトリに配置していきます。
 # /etc/cron.daily/0anacron
 #!/bin/bash
 if [ ! -e /var/run/anacron.pid ]; then
   anacron -u cron.daily
 fi
 # /etc/cron.weekly/0anacron
 #!/bin/bash
 if [ ! -e /var/run/anacron.pid ]; then
   anacron -u cron.weekly
 fi
 # /etc/cron.monthly/0anacron
 #!/bin/bash
 if [ ! -e /var/run/anacron.pid ]; then
   anacron -u cron.monthly
 fi
配置したジョブにはそれぞれ実行権限を与えておきます。

ログローテート設定

ここは利用する環境・要件に合わせて変更しましょう。
デフォルトだと4週間分logrotateで管理するログを保持します。
 # vim /etc/logrotate.conf
 # 週単位でログをローテート
 weekly

 # ローテートしたログを4世代分保持
 rotate 4

 # ローテート後新しいログファイルを自動で作成
 create

 # ローテート後ファイルのフォーマットを"ファイル名-yyyymmdd"へ
 dateext

 # ローテートしたログは圧縮しない(コメントアウト) 
 #compress
次に続く


Linuxシステム[実践]入門 Software Design plus
技術評論社 (2013-08-20)
売り上げランキング: 4,627

2015/01/25

LAMP IN TERREN / 緑閃光


やっぱり俺はオルタナティブだねー。
まだこの曲しか知らないけど、心地いい曲を書くバンドには期待したいものです。
そういえばオルタナティブって暗めの抽象的な、精神的な曲や音を鳴らす音楽とおもっていたらそういうわけではないんですね。
しばしばロックの一ジャンルとして思われがちであるが、厳密にはジャンルではない。
「alternative」とは英語で、通常「代わりの」「代用の」「もう1つの選択」という意味であるが、「型にはまらない」という意味もある。
本来は音楽的な特徴や性格をあらわす言葉としては使わないのが普通だが、この場合は後者の「型にはまらない」あるいは「既存のポップ・ミュージックの概念を打ち壊す」という意味で「alternative」が使われている。
http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%AB%E3%82%BF%E3%83%8A%E3%83%86%E3%82%A3%E3%83%B4%E3%83%BB%E3%83%9F%E3%83%A5%E3%83%BC%E3%82%B8%E3%83%83%E3%82%AF
私は打ち砕かれすぎて、もうポップ要素はほとんどないですね。
緑閃光 - silver lining

silver lining
silver lining
posted with amazlet at 15.01.25
LAMP IN TERREN
A-Sketch (2015-01-14)
売り上げランキング: 1,090


2015/01/18

Ansible コード作成


さぁ、前回パッケージのインストールまでは行いました。
そして何となく遠隔サーバにアクセスできるところまで来ましたがまだイメージできませんね。

私は先にChefを触っていたので、ここまではふーんという感じですが、
どのような記述ルールがあるのか、ディレクトリ構成は?ライブラリは?少しずいきましょう。

1.プレイブック構成

Chefでいうレシピのようなプレイブックはどのようなものなのか?

公式サイトにベストプラクティスがのっていますね。
Playbooks Best Practices

なるほど、各用途ごとにフォルダを分けて記述、インクルードするようにすると
しかしこれでは個人的に案件で利用しにくいため、下記を参考にカスタマイズします。

Ansible オレオレベストプラクティス

イメージとしては「common_roles」を読み込み専用のプラグイン的に利用し、
ほかはベストプラクティスの基本と同じですね。

2.プレイブックの作成

「common_roles」配下に細かいグループのプレイブックを作成していきます。
試しにApacheの初期設定的なものを作成していきす。

でどうやって?
実行したい内容を「task」という形で記述していきます。
そして「task」のためにAnsible側ではモジュールという形でライブラリが提供されています。
どのようなものがあるかは下記本サイトを参照してください。
Ansible Module Index

プレイブック記述のテクニックや基本的な記述方法は下記を参照
Ansible Playbook

まず「task」を作成します。
Apacheのインストールと、コンフィグファイルの配置、配信が行います。

# vim common_roles/apache/tasks/main.yml

---

- name: Install Apache
  yum: name={{ item }} state=present enablerepo=epel
  with_items:
    - "{{ httpd_installs }}"
  notify:
    - restart httpd
  tags: httpd

- name: Create httpd.conf
  template: src=httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf backup=yes
  notify:
    - restart httpd
  tags: httpd

- name: Create virtual host
  copy: src={{ item }} dest=/etc/httpd/conf.d/
  with_items:
    - "{{ httpd_include }}"
  notify:
    - restart httpd
  tags: httpd

- name: Start Apache
  service: name=httpd enabled=yes
  tags: httpd
Apacheのインストールからhttpd.conf、インクルードさせたい設定ファイル、そして起動です。
読み込ませるコンフィグファイルはテンプレート化せずに、
変数に定義した値をインクルード・配布するようにしたいと思います。

次に配布したい設定ファイル「template」を準備します。
設定ファイルにはプロビジョニングツール共通ですが変数を利用できます。
設定ファイル系に関しては今後の可用性も考えて「template」を利用します。
同じファイル配布で「copy」、もありますがここらへんは好みですかね。

# vim common_roles/apache/templates/httpd/conf.j2
ServerTokens ProductOnly
ServerRoot "/etc/httpd"
PidFile run/httpd.pid

Timeout {{ httpd_timeout }}

#KeepAlive Off
#MaxKeepAliveRequests 100
#KeepAliveTimeout 15


StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      {{ httpd_serverlimit }}
MaxClients       {{ httpd_maxclients }}
MaxRequestsPerChild  4000


StartServers         4
MaxClients         300
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  0


{% for listen_port in httpd_listen %}
Listen {{ listen_port }}
{% endfor %}

~<省略>
Ansibleのテンプレートの仕組にはJinja2というプログラムが利用されていますので、 込み入ったテンプレートを作成したい方はそちらを調べてみてもよいかもしれません。 主に案件ごとに変更しそうな設定をを変数化しておきます。

Ansibleではファイルを配布する際にバックアップオプションを設定する事で、
配布ファイルと同名のファイルがあった場合にバックアップを作成します。
バックアップはファイルを同じ階層に「ファイル名-yyyy-mm-dd@hh:mm」形式で作成されます。
バックアップ場所が指定できないのかな?そこが不便です。

次にインクルードさせる設定ファイルを作成します。
こちらも定型が決まっていればテンプレートで良いかもしれませんが、
インクルードファイルの定型は決まっていないので、柔軟に対応できるよう普通にファイルで配布します。

# vim common_roles/apache/files/vhost80.conf
NameVirtualHost *:80


  ServerName vhost.example.com
  ServerAdmin webmaster@localhost.localdomain
  DocumentRoot /var/www/html

  CustomLog "|/usr/local/sbin/cronolog /var/log/httpd/%Y%m/vhost_80_access.%Y%m%d.log" combined
  ErrorLog  "|/usr/local/sbin/cronolog /var/log/httpd/%Y%m/vhost_80_error.%Y%m%d.log"

  
    Options -Indexes -MultiViews
    AllowOverride None
  

ただの設定ファイルです。
他にもphpをインストールするのであれば同フォルダにphp.confなど必要な設定ファイルを配置しておきます。

そしてタスクの最後にApacheサービスの自動起動設定を記述していますが、 コンフィグファイルを変更した場合には新しい設定が反映されるよう、設定タスクにて「restart httpd」という「handler」を呼び出しています。
handlerは共通で何度も使用するタスクを関数化し定義することが可能です。
また「handler」に定義された内容はプレイブックの各タスク最後に実行されます。

# vim common_roles/apache/handlers/main.yml

---

- name: restart httpd
  service: name=httpd state=restarted
簡単ですが、プレイブック自体はこれで完成です。
このプレイブックをうまく利用できるよう変数を定義していきます。

3.変数の定義

変数ファイルは構成にのっとり変数値を定義していきます。
でも変数にしたからには、基本変数があり、環境やサーバに合わせて変更できるべきですよね。

まず基本変数を定義していきます。

# vim group_vars/all
---
httpd_installs:
  - httpd
  - httpd-tools
  - mod_ssl
httpd_timeout: 60
httpd_serverlimit: 256
httpd_maxclients: 256
httpd_listen:
  - '80'
  - '443'
httpd_include:
  - php.conf
  - vhost_80.conf
  - vhost_443.conf
httpd_user: apache
httpd_group: apache
httpd_directoryindex: 'index.html index.php'
httpd_default_charset: 'Off'
プレイブックも作成し、変数も定義したのでいよいよ実行していきます。

また、Ansibleはデフォルトでも変数を持っていますので注意しましょう。

# ansible -m setup <ホスト名>

4.実行

色々作成したパーツを組み合わせていきます。

まずプラグインとして利用できるように作成したプレイブックを本プレイブックにインクルードさせます。

# vim role/apache/tasks/main.yml
---

- incude: ../../../common_roles/apache/tasks/main.yml
同様にハンドラーもインクルードさせます
# vim role/apache/handlers/main.yml
---

- incude: ../../../common_roles/apache/handlers/main.yml
テンプレートファイルは実行されるプラグインプレイブックと同階層、またはレポジトリのルート階層が検索されますので
インクルードはできません(多分)。

少し手間ですがこのようにプラグインを多段階層にすることで環境に合わせ柔軟に、
かつプレイブックの修正を最小現に再利用可能です。

そしてAnsibleの実行ファイルを作成します。

# vim provisioning.yml
---

- name: Apache Settings
  hosts: all
  roles:
    - apache
実行させるロールと、実行される環境・サーバを定義します。
ここで定義している環境値に合わせて読み込み変数も変えさせます。
今回はall、つまり基本変数を読み込むようにします。

実行対象を記述したファイルを準備し

# vim hosts/production
[webservers]
10.0.100.12

[dbservers]
[production:children]
webservers
dbservers


これで後は実行すれば完了ですね。

構文確認し
# ansible-playbook -i hosts/production provisioning.yml --syntax-check`
プレイブックを実行します。
# ansible-playbook -i hosts/production provisioning.yml -u ssh_user -k

他にたとえば、ホストの変数を個別に設定したい場合

# vim hosts_vars/10.0.100.12
---
httpd_timeout: 30
httpd_serverlimit: 256
httpd_maxclients: 256
グループ単位で変数を設定したい場合、今回でいうと「hosts/production」というファイル名に実行ホストにを記載していますので、この「production」というグループで定義可能です。

# vim group_vars/production
httpd_timeout: 180
httpd_serverlimit: 256
httpd_maxclients: 256
プレイブックの実行対象についても「provisioning.yml」の「hosts:」の記述で調整します。

変数の優先順位により、hosts変数優先され次にグループ、最後にallが読み込まれます。

プレイブック固定の変数を定義したい場合は

# vim role/apache/vars/main.yml
という記述もできますが、あんまり細分化しても煩雑になりそう。

細かい仕様についてはやはり本サイトを参考にした方がよいでしょう。

5.その他
Ansible実行環境の定義はデフォルトで「/etc」配下のファイルを見に行きますが、
プレイブック実行環境に合わせて変更したい場合やリモートログインユーザーを省略したい場合
ローカルに設定ファイルを定義することも可能です。

# vim ansible.cfg
[defaults]
log_path=/var/log/ansible.log
remote_user=root


なんか急ぎで走り書きしてしまたので、うまく動かないかもしれませんが
参考にして頂けたらと思います。
実際に使ってみて思ったのですが、グループ定義それに紐づける変数定義の階層構造が難しく
最初は結構苦労しました。
その辺は私的にはChefの方が分かりやすかったですね。
とはいえAnsibleはコードさえ書けばいいのでお手軽です。
ぜひ無理のないAnsibleを。


入門Ansible
入門Ansible
posted with amazlet at 15.01.18
(2014-07-30)
売り上げランキング: 2,315

[Alexandros] / city


昨年11月に2015年の年間計画として3月にシングル、6月にアルバムの発売、7月に2度目の東京・日本武道館公演、秋に全国ツアーの実施を発表していた[Alexandros]。今回詳細がアナウンスされたニューシングルは昨年12月に彼らが実施しイベント「This Summer Festival 2014」で初披露された新曲「ワタリドリ」と、1月25日(日)よりMBS・TBS系でオンエアされる峰なゆか原作のドラマ「女くどき飯」の主題歌に決定した「Dracula La」(ドラキュララ)が表題曲となった両A面シングルで、DVD付きの初回限定盤2種とCDのみの通常盤の計3形態でリリースされる。なお[Alexandros]がドラマ主題歌を担当するのは今回が初めて。
CDには共通で表題曲の2曲と「Adam's Apple Pie」が収録され、これに加え初回限定盤Aには「This Summer Festival 2014」東京公演2日目より「You're So Sweet & I Love You」、初回限定盤Bには同「Adventure」のライブ音源が収められる。さらに初回限定盤にはそれぞれ1曲目に収録される楽曲のビデオクリップとそのメイキング映像を収めたDVDが付属するほか、日本武道館公演の先行予約券と4月開催予定のプレミアムイベントの参加応募券が封入される。 
Alexandrosが今年1発目にタイアップ曲を出すそうですね。
初めてのタイアップだそうですが、なんだかあんまり初めて感もなく、むしろ今更感がありますが。

今やチケットは即完売だし、フェスにも引っ張りだこだし日本武道館も経験済み
なのに確かにメディア的には今までMステに出たくらいでどちらかというと狭いコミュニティで人気爆発だったのが
今年は1発目から広い世界にかましてくる。

もはや失敗する気が全くしないのが残念ですが。これは楽しみな2015年になりそう。


city - city - EP


I Wanna Go To Hawaii.
I Wanna Go To Hawaii.
posted with amazlet at 15.01.18
[Champagne]
RX-RECORDS/UK.PROJECT (2011-02-09)
売り上げランキング: 21,419


2015/01/12

school food punishment / futuristic imagination


家入レオさんのCM曲を聴くたびに、
彼らを思い出します。なんだろう声質や歌い方が似ているのかな?

残念ながら今はいなくて、違うバンドをやっているので
実は本人!?という事は無いのですが。

お勧めはファーストアルバムですね。


futuristic imagination - amp-reflection

amp-reflection
amp-reflection
posted with amazlet at 15.01.12
school food punishment
ERJ (2010-04-14)
売り上げランキング: 9,218



Clean Bandit Featuring Jess Glynne / Rather Be


2014年のビルボードランキングはご存じ?

順位曲名アーティスト
1Mark RonsonUptown Funk ft. Bruno Mars
2Taylor SwiftBlank Space
3HozierTake Me To Church
4Ed SheeranThinking Out Loud
5Meghan TrainorLips Are Movin
6Meghan TrainorAll About That Bass
7Taylor SwiftShake It Off
8Sam SmithI'm Not The Only One
9Nick JonasJealous
10Maroon 5Animals
11Love Me HarderAriana Grande ft The Weeknd
12I Don't Fuck With YouBig Sean ft. E40
13CenturiesFall Out Boy
14The Heart Wants What It WantsSelena Gomez
15Bang BangJessie J ft.Ariana Grande, Nicki Minaj
16OnlyNicki Minaj ft. Drake, Lil Wayne, Chris Brown
17The Hanging TreeJames Newton Howard, Jennifer Lawrence
18TuesdayI LOVE MAKONNEN Featuring Drake
19Stay With MeSam Smith
20Habits (Stay High)Tove Lo
21No TypeRae Sremmurd
22WavesMr. Probz
23Don'tEd Sheeran
247 / 11Beyonce
25Hot BoyBobby Shmurda
26CoCoO.T. Genasis
27RudeMAGIC!
28I Don't MindUsher Featuring Juicy J
29Beg For ItIggy Azalea Featuring M0
30Don't Tell 'EmJeremih Featuring YG
31Black WidowIggy Azalea Featuring Rita Ora
32BlameCalvin Harris Featuring John Newman
33Time Of Our LivesPitbull & Ne-Yo
34Night ChangesOne Direction
35Only OneKanye West Featuring Paul McCartney
36RiptideVance Joy
37ChandelierSia
38L.A.LOVE (la la)Fergie
39Heroes (We Could Be)Alesso Featuring Tove Lo
40TrumpetsJason Derulo
41GhostElla Henderson
42Something In The WaterCarrie Underwood
43Shotgun RiderTim McGraw
44Rather BeClean Bandit Featuring Jess Glynne
45Stolen DanceMilky Chance
46SledgehammerFifth Harmony
47Try MeDeJ Loaf
48AnacondaNicki Minaj
49TalladegaEric Church
50LifestyleRich Gang Featuring Young Thug & Rich Homie Quan
※2015年1月17日付

有名なアメリカの音楽ヒットチャートです。
年末にラインキング100カウントダウン番組があり毎年なんとなく見ていたのですが、
なかなか面白いバンドがいたので紹介できればと思います。

PVがすごく目に留まりますね。
しかし、もうバンド=ギターロックというのは古いのかな~好きなんだけど。

Rather Be (feat. Jess Glynne) - New Eyes

ニュー・アイズ<最強盤>
ニュー・アイズ<最強盤>
posted with amazlet at 15.01.12
クリーン・バンディット エリザベス・トロイ リッツォ エリザ・シャダッド ヌーニー・バオ ニッキー・シスリン ジェス・グリン ラヴ・セガ シャーナ・ベース カンダカ・ムーア スタイロG
ワーナーミュージック・ジャパン (2015-01-01)
売り上げランキング: 204



2015/01/07

Amsible 初心者

Chefがある程度規模のある環境向けであるため、
中小環境ではなかなか使いにくいものになってしまった。

構成管理ツールの性質上多少はしかたのないものだけれど、
「クライアントいらず」「サーバーいらず」
必要なのはコードと実行環境のみというシンプルさから少し触ってみました。

1. はじめに


色々な構成管理ツールありますが、共通していえるのは
  • 対象サーバにSSH接続できる必要がある。
  • 対象サーバにPythonがインストールされている必要がある。
  • コードを実行する環境にはAnsibleをインストールする必要がある。
これくらいですかね?
これが手軽な理由です。
構成管理するサーバを管理しなくてよいく、コードの作成に集中できます。


2.Ansible実行環境の準備


Ansibleのコードを実行する環境を準備します。
パッケージをインストールします。
Ansible インストール

本サイトに行けばソースからも配布されていますが、EPELレポジトリでもRPMが配布されていますので、
EPELからインストールします。


# yum install --enablerepo=epel ansible
Dependencies Resolved

==========================================================================================================================================================================
 Package                                        Arch                                Version                                    Repository                            Size
==========================================================================================================================================================================
Installing:
 ansible                                        noarch                              1.7-1.el6                                  epel                                 874 k
Installing for dependencies:
 PyYAML                                         x86_64                              3.10-3.el6                                 epel                                 157 k
 libyaml                                        x86_64                              0.1.6-1.el6                                epel                                  52 k
 python-babel                                   noarch                              0.9.4-5.1.el6                              base                                 1.4 M
 python-crypto                                  x86_64                              2.0.1-22.el6                               base                                 159 k
 python-crypto2.6                               x86_64                              2.6.1-1.el6                                epel                                 530 k
 python-httplib2                                noarch                              0.7.7-1.el6                                epel                                  70 k
 python-jinja2                                  x86_64                              2.2.1-2.el6_5                              updates                              466 k
 python-keyczar                                 noarch                              0.71c-1.el6                                epel                                 219 k
 python-paramiko                                noarch                              1.7.5-2.1.el6                              base                                 728 k
 python-pyasn1                                  noarch                              0.0.12a-1.el6                              base                                  70 k
 python-setuptools                              noarch                              0.6.10-3.el6                               base                                 336 k

Transaction Summary
==========================================================================================================================================================================
Install      12 Package(s)

Total download size: 5.0 M
Installed size: 25 M

~<省略>
デーモンサービスやクライアントソフトでもなく本当にツールパッケージなので、
専用ユーザーが作成されたりはしません。

準備は以上で完了です。

さぁコーディングを行なっていきましょう。

3. Ansibleの操作


Ansibleのコードはプレイブックと呼ばれていますが、その前にインストールしたAnsibleの簡単な操作を。

サーバとの疎通確認
コードを作成し、実行する対象サーバとの疎通をおこなってみましょう。
操作を行ないたいサーバをリストに記述します。
# vim /etc/ansible/hosts
[test-server]
10.0.0.100
対象サーバにコマンドを実行してみます。

# ansible -i /etc/ansible/hosts 10.0.0.100 -k -c paramiko -m ping
10.0.0.100 | success >> {
    "changed": false,
    "ping": "pong"
}
成功すると、「success」が表示されます。
Pingとしていますが、実際はSSH接続していますので、SSH接続できる必要があります。

対象サーバ上でコマンドを実行させたい場合。
# ansible -i /etc/ansible/hosts 10.0.0.100 -k -c paramiko -a "hostname"
10.0.0.100 | success | rc=0 >>
test-server
そのほかにもオプションが色々あります。

その他
プレイブック内のタスク一覧確認
# ansible-playbook -i hosts/production provisioning.yml --list-task
プレイブックの構文確認
# ansible-playbook -i hosts/production provisioning.yml --syntax-check
プレイブックのテスト実行
# ansible-playbook -i hosts/production provisioning.yml -u ssh_user -C -k
SSH鍵を利用したプレイブックの実行
# ansible-playbook -i hosts/production provisioning.yml -u ssh_user --private-key=/path/id_rsa
SUDOを利用したプレイブックの実行
# ansible-playbook -i hosts/production provisioning.yml -u ssh_user -s -k

次はプレイブックの作成です。

Ansible: Up and Running
Ansible: Up and Running
posted with amazlet at 15.01.02
Lorin Hochstein
Oreilly & Associates Inc

2015/01/04

2014年 おすすめアルバム10選


2014年いい音楽との出会いはありましたでしょうか。

2014年は「phatoman after school」「04 Limited sazabys」といった新しいバンドに出会えたし。
その分16公演ライブに行くこともできました。

そんな14年に購入したCDの中から、
15年の生活に少しでも刺激と楽しみを与えられたらと思い。紹介したいと思います。

シナリオアート「night walking」

シナリオアートメジャーデビューアルバム。
独特の世界観と、ミニアルバムが一遍の物語になっているような構成が大好きです。
このアルバムは絶対通しで聞いてほしいですね。
最初から世界観に引き込まれ、物語を聞いているうちにすっきりと終わる。こういうの好きです。



night walking
night walking
posted with amazlet at 15.01.04
シナリオアート
KRE (2014-01-15)
売り上げランキング: 1,804




FACT 「WITNESS」

ジャケットから受ける印象とは違い、すごいウケがいい。
問答無用で体を動かしたくなる、踊りたい、騒ぎたい、心を解放させる曲が畳み掛けてきます。
ライブ以外での顔見世もこの時から。


WITNESS
WITNESS
posted with amazlet at 15.01.04
FACT
インディーズレーベル (2014-03-05)
売り上げランキング: 14,652



BaseBallBear 「二九歳」

今年は2回もツアーに参加してしまった。
BBBのアルバムで一番好きなのは新呼吸ですが、アルバムとしての完成度はこちらも凄い。
大人になたBBBをぜひ聞いてほしい。ファンファーレが聞こえるから。



二十九歳(初回限定盤)(DVD付)
Base Ball Bear RHYMESTER
ユニバーサル ミュージック (2014-06-04)
売り上げランキング: 37,716



Nothing's Carved In Stone 「Strangers In Heaven」

このバンドは好きすぎるのでもはや殿堂入りでいいと思いながら。
聞きなれたメロディラインやポップな音楽にノるのが飽きた方、バンドの骨太さを感じたい方
オサレバンドというなかれ、必聴です。



Strangers In Heaven
Strangers In Heaven
posted with amazlet at 15.01.04
Nothing's Carved In Stone
ERJ (2014-08-06)
売り上げランキング: 2,695




04 Limited Sazabys 「YON」

今私が猛烈に注目しているバンドです。
15年ババっと人気がでるのではと思っています。まだミニアルバムしか出していないので
お買い得です、すべて買いましょう。声が特徴的ですが、それもバンドサウンドにマッチしています。


YON(初回限定盤)(DVD付)
YON(初回限定盤)(DVD付)
posted with amazlet at 15.01.04
04 Limited Sazabys
No Big Deal Records (2014-09-03)
売り上げランキング: 41,299



The Mirraz 「OPPORTUNITY」

前作があまり好きじゃなかったもんで、今回のアルバムの良さに凄いびっくりしました。
全てがシングル級にいい。


OPPORTUNITY(初回限定盤)(DVD付)
The Mirraz
ユニバーサル ミュージック (2014-10-15)
売り上げランキング: 5,516




SLIPKNOT 「THE GRAY CHAPTER」

完全にフェスとの影響ですが。
でもこの大物が出したアルバムをお勧めしないわけにはいけないね。
初回盤についてくる2枚目のCDはお勧めしないので、買うなら通常版でいいと思います。
色褪せない、最強のサウンドを聞けます。
これを聞いているときの「俺 無敵」感ははんぱありません。



.5:ザ・グレイ・チャプター(2CDスペシャル・エディション)
スリップノット
ワーナーミュージック・ジャパン (2014-10-15)
売り上げランキング: 1,215




SPECIAL OTHERS ACOUSTIC 「LIGHT」

アコースティックバンド SPETIAL OTHERSのアコースティックバンド。同じだけどね。
ここまで心地よい音楽ってあったんだねってくらい全ての音がしっくりくる。
私にアコースティックバンドという扉を開けてくれたバンドです。



LIGHT(初回限定盤)
LIGHT(初回限定盤)
posted with amazlet at 15.01.04
SPECIAL OTHERS ACOUSTIC
ビクターエンタテインメント (2014-10-08)
売り上げランキング: 3,556



phatmans after school 「セカイノコトハ」

ついにきまいした。phatmanの時代です。
今2番目に注目しているバンドです。
このアルバムには今までのミニアルバムからのキラーチューンがすべて入っているうえに
アルバムリード曲がそれらに負けない曲という最強構成です。
入門に買うならぜひこのアルバムからでよいでしょう。



セカイノコトハ (初回限定盤B) CD+LIVE CD
phatmans after school
トイズファクトリー (2014-12-03)
売り上げランキング: 29,672



amazarashi 「夕日信仰ヒガシズム」

amazarashiがいい感じに知名度ができてきました。
歌う曲も怒りや不満、虚無感、悲しみから光や暖かさ、前向きな心へ動員が増えるたびに変化しています。
私たちと一緒に進み、何処へ向かうのか。
人気が出てうれしい反面、ダメになってしまうのでは?と不安になる少しお勧めしたくないですね。

夕日信仰ヒガシズム(初回生産限定盤)(DVD付)
amazarashi
SMAR (2014-10-29)
売り上げランキング: 839




どうでしょうか。
もっと聞いてみたいと思うアーティストや曲はありましたでしょうか。

殿堂入り枠でもう1つ。

the HIATUS 「Keeper Of The Flame」

私にとっててはもはやお勧めしないことはないバンドなので、殿堂入り枠です。
前作から雰囲気が変わり、オルタナ色が強く、もはや日本にはおさまらなそうなメロディが強くなります。
オルタナで踊れるバンドってのも面白いですが、バンド好きなら知らないとは言わせておけないバンドです。聴いてください。



Keeper Of The Flame
Keeper Of The Flame
posted with amazlet at 15.01.04
the HIATUS
ユニバーサルミュージック (2014-03-26)
売り上げランキング: 2,185