Ansibleと playbook

Ansibleは対象サーバーに多数の設定を一度に投入することが多いため

普通はansibleコマンド実行にはならない

複数処理させるなら

playbookをつくることになる

playbookは YAML 形式になり

拡張子は

.yml になる

-  hosts:  all
   tasks:
    -  name:  slコマンドのyumインストール

       yum:  name=sl

というplaybookなら

- hosts: には対象サーバーのIPを記述

もし all ならすべて対象になる

tasks:

のところには

処理する内容を記述していく

- name:

の部分は、ラベルやコメントのようなものなので

日本語でもok

あとは、この下へ処理を書いていく

今回はyum で sl をインストールするので

yum: name=sl

となる

ここまでの内容を

yum.yml

としてplaybookとして保存し

実行するには

ansible-playbookコマンドを使う

今回なら

ansible-playbook yum.yml

となる

ちなみにAnsibleでは

処理は重複しないので

2回実行しても設定済みと表示されるだけになる


PDF
カテゴリー: 未分類 | コメントをどうぞ

​Ansible メモ

Ansible メモ

CentOS7.2 だと

標準リポジトリにAnsibleがないため

EPELリポジトリを使う

yum  install  epel-release

なお、最新版のAnsible 2.0を使うなら

epel-testingリポジトリを有効化すること

yum  install  ansible  –enablerepo=epel-testing

yum  install  ansible

だけだと

Ansible 1.9.4 がインストールされるので

yum  install  ansible  –enablerepo=epel-testing

とすること

これなら、最新版がインストールされる

なお、古くても

これを実行すれば最新版になる

なお、Ansibleのバージョン確認は

ansible  –version

でできる

Ansibleの実行コマンドは

ansible サーバーIP モジュールオプション モジュール名

となり

例を書くと

ansible 192.168.1.100 -m ping

これで

pingが実行されるコマンドになる

ただし、Ansibleは

セキュリティーのため

hosts ファイルに書かれているIPでしか

実行できないため

これをやらないとコマンドは失敗になる

なので

次にAnsibleを使うための設定

Ansibleを使うなら

対象サーバーへ接続する設定が欲しいという理由のため

今回、実行してるのはCentOS7.2

このosでのhostsファイルの場所は

/etc/ansible/hosts

になる

書き方は

192.168.1.100

というようにIPを書くだけでok

なお

-i オプションをつければ

別のファイルを指定することもできる

ただし、わかりにくくなるから

デフォルトのものを使うのがおすすめ

しかし、これだけでもまだエラーになる

これは

Ansibleを使うには認証が必要だから

今回は公開鍵認証を使うことに

ssh-keygen

で鍵を作成

ssh-copy-id 192.168.1.100

鍵を安全に転送

Ansibleコマンドの詳細は

ansible –help

で確認できる

また、モジュール詳細については

ansible-doc モジュール名

で調べられる

例えば pingモジュールなら

ansible-doc ping

とすればok


PDF
カテゴリー: 未分類 | コメントをどうぞ

wordpress でDB接続エラーの解決方法

先週あたりから wordpress でDB接続エラーとなり
先日ようやく復旧できたので
解決策のメモです

なお、使用しているサーバはGMOクラウド public になります

まれにDB接続エラーになることがいままであり
そのときにはネットワークの再構築をすれば復旧していました

しかし、今回はこれでも復旧できなかったので数日かかってしまいました

原因は ディスク容量がいっぱいになり、それが原因で mysql の起動ができなかったため
というものです

以下、今回の対処方法のメモログになります

DB接続エラーが表示され、サイトにアクセスできないため
ssh でログインし

mysql -u root -p

で一度DBを確認しようとしたところ

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

となっていたので

mysqlが突然起動しなくなる 第二幕
を参考に

mysqld_safe 

としたところ

mysqld_safe Number of processes running now: 0

となってしまった

このエラーで検索したところ
mysqldが落ちてた時の対応メモ
によれば
によれば
mysql が落ちているらしい

less /var/log/mysqld.log 

でログを確認

InnoDB: Initializing buffer pool, size = 128.0M
とあったので
これで検索し

MySQLが「Fatal error: cannot allocate memory for the buffer pool」となり起動しない問題

にれよれば
buffer pool のメモリ割り当てが小さいのが原因になることがあるらしいので

vim /etc/my.cnf 

でファイルを開き

[mysqld]

の下へ

innodb_buffer_pool_size = 512M

を追記

しかしこれだと

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)

となってしまう

エラーをみると mysql.sock がないのが原因と思い
これを作成することに

MySqlのソケットエラーを解決する
を参考にしたところ、
mysql.sock は
mysqlを再起動すると、/var/lib/mysql/mysql.sockが自動的に作成される
とのこと

しかし、mysql を再起動しようとすると

ERROR! MySQL server PID file could not be found!

というエラーになり mysql の起動に失敗

このため mysql が起動できないということで検索した結果
MySQLが起動できない
によれば
ディスクがいっぱいの場合、mysql の起動がエラーになるとのこと

これで検索してみると
mysqlが起動しないのは容量がいっぱいだからかも。
にも書かれていました

コマンドでエラーを再度確認するためログファイルを
tail コマンドで表示します

tail -n 40 /var/log/mysqld.log

なお、tail コマンドについては
【 tail 】 ファイルの末尾を表示する
が参考になります

これでみると

mysql Errcode: 28

と表示されています

ということで

 df -h 

で調べたところ Available のところが 0% ….

このため、ディスク容量を追加することにしました

なお、使用するディスクの追加については
GMOクラウド public の場合
ディスク容量の編集(拡大/縮小)
に画像入りで説明があるので
これを元にディスクを追加したところ
再起動後に無事にサイトが復旧しました


PDF
カテゴリー: WordPress | コメントをどうぞ

au からdocomoへMNP その2

au から docomo へNMPをしました

今回のログですが、
まず、最初にNMPするにはNMP予約番号が必要になるため
この番号を取得します

なお au の場合店舗へいく、もしくは電話で取得します
0077-75470
へ9:00〜20:00に電話すると取得できます

取得してからの有効期限は15日で
これを超えるとNMP予約が無効になり、au の現在の契約がそのまま続行になります

なお、NMP予約番号の取得は何回でも可能で
もし、期限を過ぎてしまっても再度取得すれば問題ありません

NMP予約番号を取得するときに、電話で伝えられますが
実際には、SMSで番号が送られているので
もしメモが取れなくても問題ありません

なお、NMPするときの理由を聞かれますが
私の場合、長期割引がないので乗り換えます
ということをそのまま伝えました

ちなみに、格安SIMも検討しましたが、
ドコモ光で割引がきくことと、家のネット回線が使えないときの
サブ回線のかわり、そして住んでいるところは
以前 Y!mobile が圏外ということがあったため
通信回線のことを考え今回は docomo にしました

契約するプランにもよりますが
ドコモ光の場合、5GBのプランの場合
毎月800円の値引きとなります

また、今後使用する年数が長くなれば
ドコモの長期割引がつくようになります

端末に関しては白ロムも検討しましたが
価格が5万円近かったので、今回はNMPによる割引で購入しました

ちなみに、この場合1年間使用することが条件となりますが
1万5千円になります

なお、充電するとき usb-type-c になるため
microUSB だと充電ができません

今回、店頭で充電器を購入したのですが
この場合 microUSB のときのようにUSBから差し込むように分解できませんでした

このため、Amazon でモバイルバッテリーと
落としたときの対策としてスマホカバー
USBタイプの USB type C のケーブルを購入しました

ケースは

モバイルバッテリーは

USB type C ケーブルは

にしました


PDF
カテゴリー: NMP | コメントをどうぞ

au からdocomoへMNP

au のスマホをつかっていたけど
長年使っても割引などがないため
今回、docomoへMNPで変更することにしました

本来、SIMフリーの端末にして
格安SIMにしたかったのですが
ネット回線の問題と家庭の事情もあり、サブ回線を兼ねて
docomoにしました

すでに、ネット回線がドコモ光のため
何年か使っていれば
ある程度は割引になりそうです

ちなみにドコモ光にした理由は
プロバイダー変更が可能なためです

これは、今後の引っ越しを考慮して
もし、プロバイダー失敗したときの保険です

まずは、MNPについてははじめてのため
必要な手続きを調べました

MNP手続きの全手順を徹底解説!1時間得するもっとも効率的な方法

を参考にさせていただきました

MNPの場合、予約番号の取得が必要ですが
au の場合、面倒なことに
ネットからはできず、電話かショップへいくことになります

次に、プランを決めるのですが
docomoの場合、カケ・ホーダイにするか
それとも
カケ・ホーダイライトがあります
カケ・ホーダイの場合、制限がないのですが
ライトだと5分までは無料となります

本来なら
LINEやGmailがあれば
私の友人関連ならokですが
家族はガラケー、親戚関連は携帯なし
という状況のため、ほぼ固定電話になり
料金が発生しますので
カケ・ホーダイになりました

なお、カケ・ホーダイでも例外はあり

docomoのカケホーダイ、無料にならず有料になる通話定額対象外の電話先はどこか
によれば

0570から始まる電話番号
0180から始まる電話番号
020/030
船舶電話
衛星電話
104の番号案内料(通話料自体は無料です)
0032から始まる電話番号
は対象外のようです

MNPで回線を切り替える前にやることとしては
おサイフケータイ関連のデータを移すこと
Gmail や楽天銀行の
ワンタイムパスワードの
メールアドレスの制限を
解除しておくことです


PDF
カテゴリー: NMP | コメントをどうぞ

空気清浄機を購入するとき選んだこと

最近、インフルエンザの流行と
子供の風邪対策、そして自身の健康管理を考え
空気清浄機を購入しました

なお、機種やその他必要な機能に関しては

空気清浄機おすすめ2016!手堅い評価ランキング

を参考にさせていただきました

必要な機能としては
乾燥対策のため加湿機能あり

壁とのスペースを作りたくないので
全面吸気や横面吸気であること

これは、子供が壁とのすきまに入り込み倒す可能性があるためでした

あたりはずれがあることを考え
最初はレンタルでお試しする予定でしたが
レンタルで借りれるものは、背面吸気のシャープ製のものだけでしたので

いろいろと考えた結果
MCK70T-W
を購入することにしました

また ウイルス対策に効果があるらしいので
バイオ抗体フィルター
も購入してみました

実際に購入し
使用していますが夜に青LEDがまぶしいのが気になります

ただモードにお任せモードがあり
これにしておけば加湿と空気清浄をしてくれるので面倒さはありません

タンクの水ですが、満水にしてから2日ほどは持ちます


PDF
カテゴリー: 未分類 | コメントをどうぞ

Realm の導入

Realm の導入

Android アプリでDBを使うのに使える
オープンソースライブラリ Realm をいれてみました

導入するには
bundle.gradle

app/build.gradle
へコードを追記します

これらは
Gradle Scrpits の中にあるので
これをクリックし
一覧を表示すればでてきます

realm

2つありますが
Module:app のほうが
app/build.gradle

Project: とついているほうが
app/build.gradle
となります

realm2

app/build.gradle には

classpath "io.realm:realm-gradle-plugin:2.0.2"


dependencies の部分に追記します

なお、buildscript の中の

    repositories {

    }

の部分は、リポジトリの設定で

dependencies {

}

の部分は、ライブラリの指定になります

app/build.gradle には

apply plugin: 'realm-android'


2行目に追記します

これらの設定をできたら
Sync Now をクリックします

realm3

なお、これによりダウンロードされたライブラリは
app/build/intermediates/exploded-aar/
に配置されます


PDF
カテゴリー: realm | コメントをどうぞ

Android Studio と Github 連携

Android Studio と Github 連携

ソースコードの管理をGithub でするために
Android Studio で設定

Android Studio のメニューで
VCS > import into Version Control >
Share Project on Github をクリック

すると
Github へログインするための設定がでるので
Auth type を Password

Login には Github のログインユーザ名
Password には Github のパスワードを入力

ここまでできたら Login をクリック

Screenshot from 2016-12-14 00:32:40

すると次にマスターパスワードを設定するか
聞かれるので、Cancel をクリックします

Screenshot from 2016-12-14 00:36:20

すると次にリポジトリの作成画面になります
New repository name は
リポジトリ名で
デフォルトだとアプリのプロジェクト名になります

Remote name は origin になっているので
そのままでOK

Description はこのリポジトリの説明になりますが
入力しなくても問題ありません

なお無料で使える Github ですが
有料にしないと非公開の Private モードは使えません

ソースを公開したくない場合には
有料プランにするか、もしくは
自身で GitLab などのサーバを構築する必要があります

基本的には
リポジトリの画面はデフォルトのままで
Share をクリックすればOK

Screenshot from 2016-12-14 00:41:32

次に、どのファイルをcommit に含めるかを設定します

デフォルトでは
プロジェクトのすべてが対象になっているので
入れたくないものはチェックを外します

Commit Message には
コミットするときのメッセージを入れます
日本語でもOKです

デフォルトだと
Initial commit
ですが
最初のコミット
というように変更してもOKです

ここまでできたらOKをクリック

Screenshot from 2016-12-14 00:47:41

しばらく待つと
Successfully shared project on Github
とメッセージがでれば成功

Screenshot from 2016-12-14 00:48:56

表示されたリンクをクリックすると
Github でのリポジトリのページにアクセスできます

Screenshot from 2016-12-14 00:51:55


PDF
カテゴリー: Github | コメントをどうぞ

引越し後の楽天銀行IP制限の変更方法

引越し後の楽天銀行IP制限の変更方法

実家から引っ越ししたときに
ドコモ光に変更したのですが
問題は楽天銀行のIP制限をしたままだったこと

さらに実家のネット回線もADSLから
フレッツ光にしたため
IP制限の設定を変更することに

まずは普通に楽天銀行にログイン

次にセキュリティをクリックし
IP制限サービスの変更をクリック

新しく許可するプロバイダを追加したいので
追加登録をクリック

設定の変更にはワンタイムキーの設定が必須で
ワンタイムキーを入力

これであとは追加するプロバイダのニックネームを
任意でいれれば追加完了

なお、登録済みのプロバイダから
引越し前のものを削除するのを忘れずに


PDF
カテゴリー: 楽天銀行 | コメントをどうぞ

rubyフォーム作成

rails でフォーム作成するときには

.erbファイルを使う

これは、rubyスクリプトを埋め込むためのファイル

phpファイルのようなかんじ

埋め込みの書き方は2つあり

<_ rubyのコード="rubyのコード" _="_"><br clear="none"></br>






<br clear="none"></br>
<_ rubyのコード="rubyのコード" _="_"><br clear="none"></br>

違いは

<_ rubyのコード="rubyのコード" _="_"><br clear="none"></br>




だと実行したあとに、結果を埋め込むこと

こちらは、

secret.yml などにAPIキーなどを書いて

これを読み込むときなどに使う

コード実行だけなら

<_ rubyのコード="rubyのコード" _="_"><br clear="none"></br>




でok


フォームは

form_for

で作成する

詳しくは

Rails】formヘルパーを徹底的に理解する

http://qiita.com/shunsuke227ono/items/7accec12eef6d89b0aa9

を参考に


PDF
カテゴリー: 未分類 | コメントをどうぞ