iwason diary

健康、プログラミング、日常系などなど

robots.txtについて

自分のサイトがクロールされているか、

robots.txtの設定がうまく行っているかなど

robots.txtについて悩んだ時に利用した

サイトだけメモ

時間があれば英語版をまとめたい。

 

robots.txtとは

http://www.tohoho-web.com/wwwxx079.htm

 

robots.txtの動作確認ができるサイト

robots.txt checker

http://www.frobee.com/robots-txt-check

 

 本家解説サイト(英語)

http://www.robotstxt.org/robotstxt.html

 

参考サイト

http://tokuna.blog40.fc2.com/blog-entry-2048.html

Linux ユーザ追加 useradd(adduser) ,sudo , passwd

Linuxに新規ユーザーを作成するには、コマンド「 useradd 」を使用します。

 

useradd -g groupID -d /homedirectory -s /shell path -u userID userName

useradd -g 501 -d /home/hoge -s /bin/bash -u 501 hoge

オプションを省略すると

# useradd -D

で表示される値がセットされます。

 

FreeBSDではadduserの場合対話形式のユーザ設定となりますが、

Linuxのadduserコマンドは、useraddコマンドのシンボリックリンクであるため、

useradd とadduser は結局挙動が同じようです。

  

作成したユーザのパスワードを設定します

passwd hoge

 

作成されたユーザはエイリアスが設定されていないため、

ll 

などの便利なコマンドを使用できません。

alias ll='ls -lF'

などのコマンドでも追加できますが、これだと端末に接続する度に

コマンドで指定しなければなりません。

 

ホームディレクトリに.bashrcファイルを作成し、

エイリアスの設定を保存します。

vi ~/.bashrc

オススメ設定

--------------------------------------------------------------------------------------------

alias cp='cp -i'

alias l.='ls -d .* --color=tty'

alias ll='ls -l --color=tty'

alias ls='ls --color=tty'

alias mv='mv -i'

alias rm='rm -i'

alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

--------------------------------------------------------------------------------------------

 

sudo コマンド

root 権限でしかできないことを普通のユーザに実行できるようにします。

visudo コマンド

sudoの設定ファイルを起動し、(defaultでviが起動します。)修正した内容を自動構文チェックしてくれます。

 

 

参考サイト

http://www.itmedia.co.jp/help/tips/linux/l0284.html 

http://www.k4.dion.ne.jp/~mms/unix/linux_com/passwd.html

http://www.k4.dion.ne.jp/~mms/unix/linux_com/useradd.html

http://codezine.jp/unixdic/w/adduser/

MySQLでTransactionを使う

MySQLでは、AUTOCOMMITの設定により、Transactionの挙動が異なる。

 

InnoDBを利用してTransactionを利用するためには、

 

START TRANSACTION;

または

SET AUTOCOMMIT=0;

 

上記のどちらかを先に実行し、更新系クエリを実行したあと、

COMMIT(またはROLLBACK)

を実行することでTransactionを利用することができます。

 

違い

AUTOCOMMITが有効の場合はSTART TRANSACTIONを実行しないと

MyISAMなどと同じように即時COMMITされてしまいます。

 

また、START TRANSACTIONは、COMMIT/ROLLBACKを実行するまでの間有効になるため、

その後の更新クエリはすべて自動コミットとなります。

 

AUTOCOMMITが無効の場合は、COMMIT/ROLLBACKまたは、

暗黙的なコミットが走るクエリ以外は1つのトランザクション内のように振る舞います。

http://dev.mysql.com/doc/refman/5.1/ja/innodb-implicit-commit.html

 

 

コミット漏れや意図しないコミットをさけるという目的であれば

AUTOCOMMIT有効にし、Transactionを使用したい時にだけ

START TRANSACTIONを使用すればいいかと思います。

Apache + OpenSSL 導入 作業メモ

試験環境にOpenSSLを導入する場合の作業メモ。

実際に証明書を購入する場合も本手順のcsr発行までを実施する必要があります。

  

おおまかな手順は以下の様な手順になります。

1,OpenSSLインストール

2,秘密鍵生成

3,CSRファイル生成 (証明書を購入する場合はここまで)

4,デジタル証明書生成 

 

検証環境

CentOS 5.6 + Apache 2.2

 

以下作業メモ

1,OpenSSLインストール

 

最新のOpenSSLのバージョンはこちらから確認。

(右の方に[LATEST])と書かれているのが最新)

http://www.openssl.org/source/

  

今回はopenssl-1.0.1c.tar.gzが最新のため、こちらをインストールします。

 

# cd /usr/local/src

# wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz

# tar zxvf openssl-1.0.1c.tar.gz

# cd openssl-1.0.1c

# ./config --prefix=/usr --openssldir=/etc/pki/tls shared

# make

# make install

 

インストール完了。

 

サーバにSSL設定をする上でmod_sslが必要になりますので、

インストールされているか確認し、もしインストールしていなければ

yumでインストールします。 

yum list installed | grep ssl

yum install mod_ssl

 

2,鍵を生成

任意のディレクトリにて
秘密鍵を生成
#  openssl genrsa -des3 2048 > server.key
3, CSRファイルを作成
# openssl req -new -key server.key > server.csr
自分で認証局を立てて試験環境を使用するのであれば
以下の内容は適当でも構いませんが、証明書を購入する場合は
FQDNなど正確な情報が必要です。
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) :Shibuya-Ku
Organization Name (eg, company) [Internet Widgits Pty Ltd]:TEST Inc
Organizational Unit Name (eg, section) :TEST Department
Common Name (e.g. server FQDN or YOUR name) :127.0.0.1
Email Address :test@test.com
4,デジタル証明書生成
#  openssl x509 -in server.csr -days 365 -req -signkey server.key > server.crt
 
試験環境等で秘密鍵のパスフレーズを解除して利用する方法
# mv server.key server.key_bk
#  openssl rsa -in server.key_bk > server.key
 
# vim  /etc/sysconfig/network
# vim  /etc/hosts
# vim  /etc/httpd/conf.d/ssl.conf
VirtualHost
DocumentRoot
SSLCertificateFile
SSLCertificateKeyFile
上記4項目を環境に合わせて設定する。
 
 
 参考サイト