Browsing articles in "Linux"
 
4月
30
2014

さくらのVPSからGMOクラウドVPSへの移行

さくらのVPSを利用していましたが、コストパフォーマンスの良いGMOクラウドVPSに乗り換えることにしました。
その際の設定内容、移行手順を公開します。

移行プラン/料金

・プラン
 GMOクラウドVPS スモールプラン(1年間)
・金額
 4094円+2036×12円=28,526円(2377円/月)
・OS
 CentOS6.2 / LAMPPパック

Linuxの初期設定

GMOクラウドVPSの初期設定』を参考にサーバの初期設定を行う。

必要なパッケージをインストール

上記リンクに記載のない、wget、scpコマンドや、php関連のパッケージをインストール。

yum install wget
yum install openssh-clients
yum install php-mysql php-mbstring php-pdo php-pear
pear install pager

Apacheの初期設定

Apacheの初期設定すべき内容 (httpd.conf)』を参考にApacheを設定。
上記リンク先の記事には記載されていないが、ウェルカムページの設定も全てコメントアウトしておくこと。

cp -p /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
vi /etc/httpd/conf/httpd.conf
diff /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
vi /etc/httpd/conf.d/welcome.conf

MySQLの初期設定

MySQLの初期設定』を参考に、DBの初期設定を行う。
必要なDB、ユーザを作成しておいてください。

PHPの初期設定

cp -p /etc/php.ini  /etc/php.ini.org
vi /etc/php.ini
diff /etc/php.ini  /etc/php.ini.org
432c432
< expose_php = Off
<ul>
<li></li>
</ul>

&gt; expose_php = On
457c457
&lt; memory_limit = 512M
<ul>
<li></li>
</ul>

&gt; memory_limit = 128M
513c513
&lt; error_reporting = E_ALL &amp; ~E_NOTICE &amp; ~E_DEPRECATED
<ul>
<li></li>
</ul>

&gt; error_reporting = E_ALL &amp; ~E_DEPRECATED
946c946
&lt; date.timezone = Asia/Tokyo
<ul>
<li></li>
</ul>

&gt; ;date.timezone =
1542c1542
&lt; mbstring.language = Japanese
<ul>
<li></li>
</ul>

&gt; ;mbstring.language = Japanese
1549d1548
&lt; mbstring.internal_encoding = UTF-8
1553c1552
&lt; mbstring.http_input = auto
<ul>
<li></li>
</ul>

&gt; ;mbstring.http_input = auto
1558c1557
&lt; mbstring.http_output = UTF-8
<ul>
<li></li>
</ul>

&gt; ;mbstring.http_output = SJIS
1566c1565
&lt; mbstring.encoding_translation = Off
<ul>
<li></li>
</ul>

&gt; ;mbstring.encoding_translation = Off
1571c1570
&lt; mbstring.detect_order = auto
<ul>
<li></li>
</ul>

&gt; ;mbstring.detect_order = auto
1576c1575
&lt; mbstring.substitute_character = none;
<ul>
<li></li>
</ul>

&gt; ;mbstring.substitute_character = none;
1587c1586
&lt; mbstring.func_overload = 0
<ul>
<li></li>
</ul>

&gt; ;mbstring.func_overload = 0
1590c1589
&lt; mbstring.strict_detection = Off
<ul>
<li></li>
</ul>

&gt; ;mbstring.strict_detection = Off

Postfixの初期設定

cp -p /etc/postfix/main.cf /etc/postfix/main.cf.org
vi /etc/postfix/main.cf
diff /etc/postfix/main.cf /etc/postfix/main.cf.org
113c113
&lt; inet_interfaces = all
<ul>
<li></li>
</ul>

&gt; #inet_interfaces = all
116c116
&lt; #inet_interfaces = localhost
<ul>
<li></li>
</ul>

&gt; inet_interfaces = localhost
677,686d676
&lt;
&lt; ## add
&lt; smtpd_sasl_auth_enable = yes
&lt; smtpd_sasl_path = smtpd
&lt; smtpd_sasl_type = cyrus
&lt; smtpd_sasl_security_options = noanonymous
&lt; broken_sasl_auth_clients=yes
&lt; smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,permit_auth_destination,reject
&lt; smtpd_sasl_local_domain = iderea.com
&lt;
cp -p /etc/aliases /etc/aliases.org
vi  /etc/aliases
diff  /etc/aliases /etc/aliases.org
97,103d96
&lt;
&lt; # for iderea.com
&lt; hijikata:       h.hijikata@gmail.com
&lt; android-webrank:h.hijikata@gmail.com
&lt; android:h.hijikata@gmail.com
&lt; 360news:        h.hijikata@gmail.com
&lt;
newaliases
/etc/init.d/postfix restart

コンテンツ・DBの移行

/etc/crontabをコメントアウト

タイミングを考慮した上で、/etc/crontabをコメントアウトし、バッチ処理を停止する。

コンテンツのバックアップ

df、duコマンドで、ディスク容量に空きがあることを確認してから、コンテンツを丸ごとtarで固めます。

df -h
du -sh /tutty.info
tar cfz /tmp/tutty.info.tgz /tutty.info

コンテンツのリストア

移行先のサーバへ転送して、展開します。
最後に不要なファイルは削除します。

scp /tmp/tutty.info.tgz x.x.x.x:/tmp
ssh x.x.x.x
cd /
tar xfz /tmp/tutty.info.tgz
rm /tmp/tutty.info.tgz
exit
rm /tmp/tutty.info.tgz

DBのバックアップ

特定のデータベースを指定してバックアップします。

mysqldump -u root -p tutty | gzip > /tmp/tutty.sql.gz

DBのリストア

移行先サーバへ転送して、リストアします。
最後に不要なファイルは削除します。

scp /tmp/tutty.sql.gz x.x.x.x:/tmp
ssh x.x.x.x
gunzip /tmp/tutty.sql.gz
mysql -u root -p < /tmp/tutty.sql
rm /tmp/tutty.sql
exit
rm /tmp/tutty.sql.gz

DNSレコード修正&動作確認

基本的には、Aレコードを修正するだけで問題ない。
ドメイン及びIPアドレスでアクセスし、動作確認を行う。

/etc/crontabを設定

移行先サーバの/etc/crontabに、移行前と同様の設定をする。


 
11月
11
2013

GMOクラウドVPSの初期設定

GMOクラウドVPSを借りた時に、初期設定すべき内容・方法をまとめておきます。
※さくらのVPSや、その他クラウドサービスでも、Linuxサーバであれば同様です。

グループ・ユーザを作成

グループ作成

ユーザを作成する前に、グループを作成しておきます。
ここでは、GID=1000 の staffグループを作成します。

groupadd -g 1000 staff

ユーザ作成

staffグループに所属する、UID=1982のtuttyユーザを作成します。
鍵認証を利用するため、パスワードは設定しません。(ロック状態になります)

useradd -g staff -u 1982 tutty

SSHの設定

セキュリティ対策のため、パスワード認証を禁止し、鍵認証を利用します。
※鍵認証の仕組みや、鍵の作成方法は省略します。

認証用の鍵を作成

まず、PuTTY付属のputtygenなどを利用して、秘密鍵、公開鍵を作成してください。
作成した秘密鍵をローカルPCに厳重に保管します。
そして、作成した公開鍵はサーバへ登録します。

su - tutty
mkdir .ssh
vi .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys

authorized_keysの中身は、以下の形となります。

ssh-rsa AAAAB3NzaC1yc2・・・(略)

鍵の登録が終わったら、PuTTYやWinSCPなどで、鍵認証の接続を確認してください。

SSHDの設定

セキュリティ対策として、sshdの設定を変更し、
・rootユーザでのログイン
・パスワード認証
を禁止します。

vi /etc/ssh/sshd_config

変更内容は下記の通り。

PermitRootLogin no
PasswordAuthentication no

下記コマンドにより、設定内容を反映します。

/etc/init.d/sshd reload

SFTP専用アカウントを作成

WEB担当者がサーバにHTMLファイルをアップロードする場合など、
サーバ管理者以外の人が利用するSFTP専用アカウントを作成する場合は、以下の記事参照。
SFTP専用アカウントを作成(ログインシェル無効化、鍵認証、chroot対応)


 
11月
8
2013

SFTP専用アカウントを作成(ログインシェル無効化、鍵認証、chroot対応)

SFTP専用アカウント作成の要件

WEB担当者がサーバにHTMLファイルをアップロードする場合など、
サーバ管理者以外の人が利用するSFTP専用アカウントを作成する方法を紹介します。

セキュリティ対策のため、以下の点に注意します。

・FTPではなく、鍵認証のSFTP、SCPを利用
・シェルによるログインを禁止
・特定のディレクトリ以下のみ参照可能(chroot)

ユーザ作成

まず、ユーザを作成します。
ここでは、staffグループに所属するUID=1983のwebユーザを作成します。

useradd -g staff -u 1983 web

SSHの設定

セキュリティ対策のため、パスワード認証を禁止し、鍵認証を利用します。
※鍵認証の仕組みや、鍵の作成方法は省略します。

認証用の鍵を作成

まず、PuTTY付属のputtygenなどを利用して、秘密鍵、公開鍵を作成してください。
作成した秘密鍵をローカルPCに厳重に保管します。
そして、作成した公開鍵はサーバへ登録します。

su - web
mkdir .ssh
vi .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys

authorized_keysの中身は、以下の形となります。

ssh-rsa AAAAB3NzaC1yc2・・・(略)

鍵の登録が終わったら、PuTTYやWinSCPなどで、鍵認証の接続を確認してください。

ログインシェルを無効化

ログインシェルを/sbin/nologinへ変更し、シェルを利用できなくします。

usermod -s /sbin/nologin web

指定ディレクトリのみ参照可能にする(chroot)

以前は、追加パッケージが必要でしたが、
OpenSSH4.9以降はchrootに対応しているため、
他のパッケージをインストールすることなく設定できます。

SSHDの設定を変更します。

vi /etc/ssh/sshd_config

変更内容は下記の通り。

#Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem       sftp    internal-sftp

Match User web
    ChrootDirectory /var/www
    ForceCommand internal-sftp

SFTPの接続を処理するサブシステムを、標準のsftp-serverからsshd内部のinternal-sftpに変更。
webユーザが/var/wwwにchrootされるよう設定しました。

SSHDをリロードして、設定を反映します。

/etc/init.d/sshd reload

以下を確認できれば成功です。

・SSH接続はできないこと
・SFTP接続でき、指定ディレクトリ以下にchrootされること

SFTP専用アカウントを利用するWeb担当者には、
以下を教えてあげましょう。

・WinSCPのダウンロードURL
  http://www.forest.impress.co.jp/library/software/winscp/
・プロトコル:SFTP
・ホスト名
・ユーザ名:web
・秘密鍵
・秘密鍵のパスワード
・ディレクトリ構造

 
6月
15
2011

さくらVPSサーバの環境設定方法

概要

今まで使用してきたお名前.comのVPSサーバの契約期間が終わるため、以前より気になっていたさくらのVPSサーバに乗り換えることにしました。

契約したのは、980円/月でVPNサーバが使用できる格安なプランです。
スペックは、メモリ:512MB、ディスク容量:20GB、CPU:2コア、ネットワーク:共用100Mbpsです。


 
6月
14
2011

procmailで日本語を扱う方法&postfixのaliasesに書く方法

概要

procmailを使用すると、レシピを用意するだけで、簡単に、タイトルの内容で、メールをフィルタリングしたり、振り分けたりすることができ、大変便利です。

ただし、日本語を扱う場合は、少し注意が必要です。
下記の例を参考に日本語を条件にしたレシピを書いてみてください。

procmailのインストール(必要であれば)

wget http://www12.tucows.com/linux/files/procmail-3.22.tar.gz
tar xfz procmail-3.22.tar.gz
cd procmail-3.22
make &> make.log
make install-suid &> install-suid.log
make install &> install.log

ディレクトリ作成&パーミッション変更など

パスやユーザは、環境に合わせて変更してください。

mkdir -p /etc/procmail/hijikata/config
mkdir -p /etc/procmail/hijikata/log
chown -R nobody.nobody /etc/procmail/
chmod 700 /etc/procmail/hijikata/config/
chmod 700 /etc/procmail/hijikata/log/

タイトルによって、メールの宛先を変更するレシピ

タイトルに、”abcd”、”ひらがな”、”カタカナ”、”漢字”を含む場合、xxx@xxx.yyy.zzzにメールを転送し、それ以外はxxx2@xxx.yyy.zzzにメールを転送します。

SHELL=/bin/sh
HOME=/etc/procmail/hijikata/
MAILDIR=$HOMEDIR/mail
DEFAULT=$HOMEDIR/mail
LOGFILE=$HOMEDIR/log
LOCKFILE=$HOMEDIR/.lockmail
VERBOSE=on

:0
<h2 id="hs_da3db6530e6f26895873499f485ada85_header_4"> ^Subject:.*\/.*</h2>
{
  DECODED_SUBJECT=$MATCH

  :0 h
  * ^Subject:\/.*=\?ISO-2022-JP\?B\?.*\?=
  DECODED_SUBJECT=|echo &quot;$MATCH&quot;|nkf -mwZ1|sed 's/<a href="http://tutty.info/tag/%post_tag%">:space:</a>//g'
}

:0
<h2 id="hs_da3db6530e6f26895873499f485ada85_header_5"> $DECODED_SUBJECT ?? .*abcd.*|.*ひらがな.*|.*カタカナ.*|.*漢字.*</h2>
! xxx@xxx.yyy.zzz

:0
! xxx2@xxx.yyy.zzz

postfixのaliases

/etc/aliases等に下記を記述します。

tutty: "|/usr/bin/procmail -m /etc/procmail/tutty/config/rc.tutty"

その後、下記コマンドで反映を忘れないようにしてください。

newaliases

参考

http://homepage.mac.com/matsuan_tamachan/mail/Proc……ailRc.html
http://www.jaist.ac.jp/~fjt/procmail.html


 
5月
3
2011

tutty.infoを開設

tutty.info

個人サイト tutty.info を開設しました。



このエントリーをはてなブックマークに追加