kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

規約系ページで使う単語

自分用メモ
新しくサイトを作るにあたり
下記ページを作ることになりました。

URLとしてどのような単語がいいか迷ったので
いろいろなサービスで調べてみました。
各サービスで使っている単語を抜き出しています。

サービス 特定商取引法に基づく表記 利用規約 プライバシーポリシー
line ebiz terms rules
backlog low terms privacy
カカオトーク ebiz terms privacy
メルカリ tokutei tos privacy
awa asct terms privacy
ブクログ - term privacy
クックパッド - term privacy

CentOS5系にansible2.0のインストール

自分用メモ
ゆえあって、CentOS5系にansible2.0を入れました。
その時のメモです。 pipで普通に入れるだけで、2系が入りました。

依存ライブラリのインストール

必要ないものもありますが、
ついでにいろいろといれました。

yum install -y zlib-devel ncurses-devel sqlite-devel openssl-devel tk-devel bzip2-devel gdbm-devel readline-devel

pythonのアップデート

デフォルトで入っているものは、
2.4なので、2.7系の最新にアップデートします。
2.4も一応残しておきたいのでaltinstallします。

cd /usr/local/src/
wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
tar xvzf Python-2.7.11.tgz
cd Python-2.7.11
./configure --prefix=/usr/local
make
make altinstall

makeの時点で足りないモジュールがあれば下記のように出てきます。
必要に応じて、yumで追加します。

Python build finished, but the necessary bits to build these modules were not found: _bsddb bsddb185 dl imageop sunaudiodev To find the necessary bits, look in setup.py in detect_modules() for the module's name.

パスを通して、デフォルトで2.7を使うように

シンボリックリンクでコマンド作成

cd /usr/local/bin/
ln -s -i python2.7 python
ln -s -i python2.7-config python-config

パスの編集

vi /root/.bashrc

/usr/bin/usr/local/binの優先順を入れ替えます。

- export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin
+ export PATH=/bin:/usr/local/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin

再読込して、確認

source /root/.bashrc
python -V #2.7が出てくること

pipのインストール

cd /usr/local/src/
wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py
python get-pip.py

Collecting pip /tmp/tmpDeRUDv/pip.zip/pip/vendor/requests/packages/urllib3/util/ssl.py:315: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning. Downloading pip-8.0.2-py2.py3-none-any.whl (1.2MB)

100% |################################| 1.2MB 348kB/s Collecting setuptools Downloading setuptools-19.7-py2.py3-none-any.whl (472kB) 100% |################################| 475kB 749kB/s Collecting wheel Downloading wheel-0.28.0-py2.py3-none-any.whl (179kB) 100% |################################| 180kB 2.2MB/s Installing collected packages: pip, setuptools, wheel Successfully installed pip-8.0.2 setuptools-19.7 wheel-0.28.0

場所を確認

which pip
#/usr/local/bin/pip

ansibleのインストール

pip install ansible
ansible --version
#ansible 2.0.0.2

参考

ckeditorでデフォルトをアップロードタブに

自分用メモ
ckeditorで、画像挿入ボタンをクリックした時に
デフォルトのタブをアップロードタブに変更する方法

CKEDITOR.on('dialogDefinition', function (event) {
              var dialogName = event.data.name;
              var dialog = event.data.definition.dialog;

              if (dialogName == 'image') {
                  dialog.on('show', function () {
                      this.selectPage('Upload');
                  });
              }
          });

参考

CentOS6.5にnodejsの4系をインストールするときにエラー

nodebrewを使って、CentOS6.5にnodejsの4系を入れようとしたところ
下記が表示されてインストールに失敗しました。

WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)

nodebrew自体は、この方法であっさりインストールできました。 しかし、

nodebrew install stable

を実行したところで失敗します。
g++のバージョンが低すぎるようです。
いろいろと試行錯誤した挙句、
g++のバージョンを上げることで解決しました。

こちらを参考にバージョンアップします。
その後再度、

nodebrew install stable

を実行したらうまくいきました。

CentOS5にlsyncdをインストール

以前はCentOS6系にインストールしましたが、
今回は5系にインストールした時のメモです。
directモードで動かしてます。
基本的には、6系にインストールした時と
同じ手順でインストールできました。
大きな違いとしては、6系では、version2.1がインストールされますが、
5系では2.0がインストールされることです。
あとは、設定ファイルのsettings部分の書き方を気をつければ、同じように動きました。

lsync依存パッケージのインストール

入っているかどうかの確認

$ yum list installed | egrep "libxml2-devel|lua-devel|lua-static"

luaのインストール

上記確認で、luaが入っていなかったのでインストールします。
luaは、CentOS5系のデフォルトリポジトリにはないので、epelからインストールします。
epelリポジトリを別途追加しておく必要があります。
今回は、この方法リポジトリの追加をしました。

$ sudo yum --enablerepo=epel install lua-devel lua-static

lsyncdのインストール

lsyncdはrpmforgeのリポジトリにあります。 リポジトリ追加を行っていない場合は、別途リポジトリの追加が必要です。

$ sudo yum install -y lsyncd --enablerepo=rpmforge

version 2.0がインストールされました。 こちらの記事によると、
CentOS5系とlsyncdの2.1は相性が悪いらしいので、2.0でよしとしました。

起動オプションの設定

6系と同じ手順

起動ファイルの修正

6系と同じ手順

設定ファイルの作成

6系の方にも書きましたが、
version 2.0ではsettings {の部分をsettings = {として、=でつなげてあげる必要があります。

settings = {
        logfile    = "/var/log/lsyncd.log",
        statusFile = "/tmp/lsyncd.stat",
        nodaemon = false,
}
sync{
        default.direct,
        source="/home/vagrant/src/",
        target="/home/vagrant/target/"
}

CentOS6にlsyncdをインストールしてdirectモードで動かす

lsyncdをインストールした時のメモです。
通常はrsyncモードで動かすと思いますが、今回の要件では
ローカルでのディレクトリ同期だったので、directモードにしました。

本家のgithub

lsync依存パッケージのインストール

$ yum list installed | egrep "libxml2-devel|lua-devel|lua-static" //入っているかどうかの確認
$ sudo yum -y install libxml2-devel lua-devel lua-static

lsyncdのインストール

lsyncdはrpmforgeのリポジトリにあります。 リポジトリ追加を行っていない場合は、別途リポジトリの追加が必要です。

$ sudo yum install -y lsyncd

version 2.1がインストールされました。

起動オプションの設定

pidfileを吐くように設定します。

$ sudo cp -ap /etc/sysconfig/lsyncd /etc/sysconfig/lsyncd_20150815
$ sudo vi /etc/sysconfig/lsyncd
$ diff -u /etc/sysconfig/lsyncd_20150815 /etc/sysconfig/lsyncd
--- /etc/sysconfig/lsyncd_20150815      2015-08-15 19:16:19.671691805 +0900
+++ /etc/sysconfig/lsyncd       2015-08-15 19:16:51.536611294 +0900
@@ -1,3 +1,3 @@
 # Put your lsyncd options here
 
-#OPTIONS="-pidfile /var/run/lsyncd.pid /etc/lsyncd.conf"
+OPTIONS="-pidfile /var/run/lsyncd.pid /etc/lsyncd.conf"

起動ファイルの修正

リンク先を参考に起動ファイルの修正を行います。

$ sudo cp -ap /etc/init.d/lsyncd /etc/init.d/lsyncd_20150815
$ sudo vi /etc/init.d/lsyncd
$ diff -u /etc/init.d/lsyncd_20150815 /etc/init.d/lsyncd
--- /etc/init.d/lsyncd_20150815 2013-03-20 20:54:23.000000000 +0900
+++ /etc/init.d/lsyncd  2015-08-15 19:20:06.129853473 +0900
@@ -20,7 +20,7 @@
 OPTIONS="-pidfile /var/run/lsyncd.pid /etc/lsyncd.conf"
 
 if [ -e /etc/sysconfig/lsyncd ]; then
-       /etc/sysconfig/lsyncd
+       source /etc/sysconfig/lsyncd
 fi
 

テストディレクトリ作成

$ cd ~
$ mkdir {src,target}
$ ll
合計 8
drwxrwxr-x 2 vagrant vagrant 4096  8月 15 18:58 2015 src
drwxrwxr-x 2 vagrant vagrant 4096  8月 15 18:58 2015 target

設定ファイルの作成

$ sudo vi /etc/lsyncd.conf

設定ファイルを作成します。
インストールしただけではできないので新規です。

下記はversion2.1での書き方です。 version 2.0ではsettings {の部分をsettings = {として、=でつなげてあげる必要があります。

settings {
        logfile    = "/var/log/lsyncd.log",
        statusFile = "/tmp/lsyncd.stat",
        nodaemon = false,
}
sync{
        default.direct,
        source="/home/vagrant/src/",
        target="/home/vagrant/target/"
}

設定値

  • logfile
    • ログファイルの場所を指定します。
    • エラーメッセージとかが表示されます。
  • statusFile
    • 監視の状態が表示されます。
    • どのディレクトリを見張っているかなど
    • 初回同期のコマンドイメージなど
  • nodaemon
    • デーモンで起動させる設定です。
  • default.direct
    • directモードで同期します。
  • source
    • 同期の元となるディレクトリです。
  • target
    • 同期の先となるディレクトリです。

起動

$ sudo /etc/init.d/lsyncd start
lsyncd を起動中:                                           [  OK  ]

テスト

$ ll
合計 8
drwxrwxr-x 2 vagrant vagrant 4096  8月 15 19:24 2015 src
drwxrwxr-x 2 vagrant vagrant 4096  8月 15 19:24 2015 target
$ ll -a src/
合計 8
drwxrwxr-x  2 vagrant vagrant 4096  8月 15 19:24 2015 .
drwx------. 5 vagrant vagrant 4096  8月 15 19:24 2015 ..
$ ll -a target/
合計 8
drwxrwxr-x  2 vagrant vagrant 4096  8月 15 19:24 2015 .
drwx------. 5 vagrant vagrant 4096  8月 15 19:24 2015 ..
$ touch src/test.txt
$ ll -a target
合計 8
drwxrwxr-x  2 vagrant vagrant 4096  8月 15 19:26 2015 .
drwx------. 5 vagrant vagrant 4096  8月 15 19:24 2015 ..
-rw-r--r--  1 root    root       0  8月 15 19:26 2015 test.txt
$ echo "hello world" > src/test.txt 
$ cat target/test.txt
hello world