2013年2月25日月曜日

AWS(EC2) CentOS 6.3を日本語化

前回、AWS上のEC2(CentOS6.3)にGUIパッケージをインストールしてVNCで接続しましたが、
どうせなら画面表示を日本語化してみたいということで、その手順をまとめます。


■OS日本語化に必要なパッケージインストール
[root@centos63 ~]# yum groupinstall "Japanese Support"
=========================================================================
 Package                    Arch       Version            Repository Size
=========================================================================
Installing:
 ibus-anthy                 x86_64     1.2.1-3.el6        base      133 k
 ipa-gothic-fonts           noarch     003.02-4.2.el6     base      3.6 M
 ipa-mincho-fonts           noarch     003.02-3.1.el6     base      5.0 M
 ipa-pgothic-fonts          noarch     003.02-4.1.el6     base      3.6 M
 ipa-pmincho-fonts          noarch     003.02-3.1.el6     base      5.0 M
 man-pages-ja               noarch     20100115-5.el6     base      5.5 M
 vlgothic-fonts             noarch     20091202-2.el6     base      2.2 M
 vlgothic-p-fonts           noarch     20091202-2.el6     base      2.2 M
Installing for dependencies:
 anthy                      x86_64     9100h-10.1.el6     base      6.0 M
 ibus                       x86_64     1.3.4-6.el6        base      337 k
 ibus-gtk                   x86_64     1.3.4-6.el6        base       26 k
 ibus-libs                  x86_64     1.3.4-6.el6        base       98 k
 im-chooser                 x86_64     1.3.1-3.el6        base      144 k
 imsettings                 x86_64     0.108.0-3.6.el6    base      190 k
 imsettings-libs            x86_64     0.108.0-3.6.el6    base      103 k
 kasumi                     x86_64     2.5-1.1.el6        base       72 k
 libgxim                    x86_64     0.3.3-3.1.el6      base      126 k
 notify-python              x86_64     0.1.1-10.el6       base       26 k
 pyxdg                      noarch     0.18-1.el6         base       79 k
 vlgothic-fonts-common      noarch     20091202-2.el6     base       16 k

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

Total download size: 34 M
Installed size: 69 M
Is this ok [y/N]: y
(以下省略)

■OSの言語を日本語を設定し再起動
[root@centos63 ~]# vi /etc/sysconfig/i18n
[root@centos63 ~]# cat /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@centos63 ~]#
[root@centos63 ~]# vi .bash_profile
[root@centos63 ~]# tail -1 .bash_profile
export LANG=ja_JP.UTF-8
[root@centos63 ~]#
[root@centos63 ~]# reboot

■VNCでサーバに接続しGUIを確認

意外にもあっさり日本語化成功。
標準フォルダの名前も一括して日本語に変更してくれるようです。ステキ。

2013年2月24日日曜日

AWS(EC2) CentOS 6.3をGUI化してVNCで接続

AWS上のEC2(CentOS)にGUIパッケージをインストールしてVNCで接続する手順です。
OracleDataBase等インストール時に、LinuxサーバだとしてもGUIがあれば便利です。
VNCサーバにはtigervnc-serverを利用します。
VNCクライアントにはRealVNCを利用します。

■構成情報
・OS:  CentOS6.3(64bit)
・tigervnc-server:  1.0.90
・RealVNC: 5.0.4


■GnomeGUIインストール

[root@centos63 ~]# yum groupinstall "X Window System" "GNOME Desktop Environment" "Desktop"
(中略)
Install     274 Package(s)
Upgrade       8 Package(s)

Total download size: 120 M
Is this ok [y/N]: y
(以下省略)
パッケージの数が膨大なのでそれなりに時間がかかります。

■VNCサーバインストール

[root@centos63 ~]# yum install tigervnc-server
==========================================================================
 Package             Arch    Version                         Repository  Size
==========================================================================
Installing:
 tigervnc-server     x86_64  1.0.90-0.17.20110314svn4359.el6 base       1.1 M
Installing for dependencies:
 xorg-x11-fonts-misc noarch  7.2-9.1.el6                     base       5.8 M

Transaction Summary
==========================================================================
Install       2 Package(s)
(以下省略)

■ユーザ作成(必要に応じて)

[root@centos63 ~]# useradd operation
[root@centos63 ~]# passwd operation

■VNCサーバ設定

設定ファイルvncserversに下記3行を追記、&自動起動設定
[root@centos63 ~]# cp -p /etc/sysconfig/vncservers /etc/sysconfig/vncservers.org
[root@centos63 ~]# vi /etc/sysconfig/vncservers
[root@centos63 ~]# tail -3 /etc/sysconfig/vncservers
VNCSERVERS="1:operation 2:root"
VNCSERVERARGS[1]="-geometry 1024x768 -nolisten"
VNCSERVERARGS[2]="-geometry 800x600 -nolisten"
[root@centos63 ~]#
[root@centos63 ~]# chkconfig vncserver on
[root@centos63 ~]# chkconfig --list vncserver
vncserver       0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@centos63 ~]#

■VNC接続ユーザパスワード設定

[root@centos63 ~]# vncpasswd
Password:
Verify:
[root@centos63 ~]# su - operation
[operation@centos63 ~]$ vncpasswd
Password:
Verify:
[operation@centos63 ~]$

■VNCサーバ起動

[root@centos63 ~]# /etc/init.d/vncserver start
Starting VNC server: 1:operation xauth:  creating new authority file /home/operation/.Xauthority

New 'centos63:1 (operation)' desktop is centos63:1

Creating default startup script /home/operation/.vnc/xstartup
Starting applications specified in /home/operation/.vnc/xstartup
Log file is /home/operation/.vnc/centos63:1.log

2:root xauth:  creating new authority file /root/.Xauthority

New 'centos63:2 (root)' desktop is centos63:2

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/centos63:2.log

                                                           [  OK  ]
[root@centos63 ~]#

■VNC利用時のデスクトップをGNOMEに設定

[root@centos63 ~]# vi .vnc/xstartup
[root@centos63 ~]# tail -2 .vnc/xstartup
# twm & ←コメントアウト
exec gnome-session & ←追記
[root@centos63 ~]#

[root@centos63 ~]# su - operation
[operation@centos63 ~]$ vi .vnc/xstartup
[operation@centos63 ~]$ tail -2 .vnc/xstartup
# twm & ←コメントアウト
exec gnome-session & ←追記
[operation@centos63 ~]$
[operation@centos63 ~]$ exit
logout
[root@centos63 ~]# /etc/init.d/vncserver restart
Shutting down VNC server: 1:operation 2:root               [  OK  ]
Starting VNC server: 1:operation
New 'centos63:1 (operation)' desktop is centos63:1

Starting applications specified in /home/operation/.vnc/xstartup
Log file is /home/operation/.vnc/centos63:1.log

2:root
New 'centos63:2 (root)' desktop is centos63:2

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/centos63:2.log

                                                           [  OK  ]
[root@centos63 ~]#

■RealVNCダウンロード

http://www.realvnc.com/download/vnc/latest/
VNC-5.0.4-Windows.exe(約7MB)

■RealVNCインストール


インストールはほぼヴィザードに従って進めるだけで完了できるので省略しますが、今回はVNCビューワがあればよいのでサーバはインストールしません。

■サーバに接続


↑rootユーザ以外での接続が推奨ですが、rootユーザでも接続できます。


↑接続方式が暗号されていないので警告が出ていますがとりあえず無視。


↑vncpasswdで設定したパスワードで接続。


↑rootユーザで接続しようとしているとの警告が出る。


↑回線速度によってカラーモードのビット数が落とされる場合があります。
※時間がたつといきなりフルカラーになったりします。

最後までお読みいただきありがとうございます。この情報が何かのお役にたてれば幸いです。m(_ _)m

2013年2月15日金曜日

大きいファイルをsplitコマンドで指定サイズに分割する


大きいファイルをsplitコマンドで指定サイズに分割する方法と、結合する方法です。
1度にメール添付することができないファイルサイズでも分割して複数ファイルで送付し、
結合して復元すれば対応できるかも。

OS: CentOS 6.3(64-bit)


■ファイル分割

[root@centos63 ~]# ls -l /tmp/before/
合計 176596
-rw-r--r-- 1 root root 180648349  2月 14 19:58 tanyao.tar.gz
[root@centos63 ~]# split -b 50m /tmp/before/tanyao.tar.gz /tmp/after/tanyao.tar.gz.
[root@centos63 ~]# ls -l /tmp/after/
合計 176612
-rw-r--r-- 1 root root 52428800  2月 14 19:59 tanyao.tar.gz.aa
-rw-r--r-- 1 root root 52428800  2月 14 19:59 tanyao.tar.gz.ab
-rw-r--r-- 1 root root 52428800  2月 14 19:59 tanyao.tar.gz.ac
-rw-r--r-- 1 root root 23361949  2月 14 19:59 tanyao.tar.gz.ad
-bオプションで分割するファイルのサイズを指定します。
今回は約180MBのファイルを50MB以下のファイルに分割します。

■分割ファイル結合

[root@centos63 ~]# cat /tmp/after/tanyao.tar.gz.* > /tmp/after/tanyao.tar.gz
[root@centos63 ~]# ls -l /tmp/after/
合計 353208
-rw-r--r-- 1 root root 180648349  2月 14 20:00 tanyao.tar.gz
-rw-r--r-- 1 root root  52428800  2月 14 19:59 tanyao.tar.gz.aa
-rw-r--r-- 1 root root  52428800  2月 14 19:59 tanyao.tar.gz.ab
-rw-r--r-- 1 root root  52428800  2月 14 19:59 tanyao.tar.gz.ac
-rw-r--r-- 1 root root  23361949  2月 14 19:59 tanyao.tar.gz.ad
catコマンドでファイルを結合できるんです。

■確認

[root@centos63 ~]# md5sum /tmp/before/tanyao.tar.gz | cut -d " " -f 1 > before.txt
[root@centos63 ~]# md5sum /tmp/after/tanyao.tar.gz | cut -d " " -f 1 > after.txt
[root@centos63 ~]# diff before.txt after.txt
[root@centos63 ~]# cat before.txt after.txt
1e53af42a72b142ed5560bc53084da38
1e53af42a72b142ed5560bc53084da38

知っていると便利なコマンドです。この情報がお役にたてれば幸いです。

2013年2月9日土曜日

CentOS 6.3 yumでApacheを2.2.15→2.2.23にアップデート

IPAの情報によると
--------------------------------------------------------
Apache 2.2.19 およびそれ以前のすべてのバージョンにおいて、
サービス運用妨害(DoS)の脆弱性(CVE-2011-3192)が存在します。
この脆弱性が悪用されると、運用中のウェブサービスを提供でき
なくなるなどの被害にあう可能性があります。
--------------------------------------------------------
だそうなのでアップデートを試みます。

CentOS 6.3 標準バンドルのApacheのバージョンが未だに2.2.15系
としている理由が気になるところですが…。

OS: CentOS 6.3(64-bit)
Apache: 2.2.15 → 2.2.23


■バージョンアップ前の状況

[root@cent63 ~]# /usr/sbin/httpd -v Server version: Apache/2.2.15 (Unix) Server built: Feb 13 2012 22:31:42 [root@cent63 ~]# [root@cent63 ~]# rpm -qa | grep httpd httpd-2.2.15-15.el6.centos.1.x86_64 httpd-tools-2.2.15-15.el6.centos.1.x86_64 httpd-manual-2.2.15-15.el6.centos.1.noarch [root@cent63 ~]#

■EPELをyumリポジトリに追加

[root@cent63 ~]# wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6 [root@cent63 ~]# ll RPM-GPG-KEY-EPEL-6 -rw-r--r-- 1 root root 1649 5月 12 10:25 2010 RPM-GPG-KEY-EPEL-6 [root@cent63 ~]# rpm --import RPM-GPG-KEY-EPEL-6 [root@cent63 ~]# vi /etc/yum.repos.d/epel.repo [root@cent63 ~]# cat /etc/yum.repos.d/epel.repo [epel] name=EPEL RPM Repository for Red Hat Enterprise Linux baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/ gpgcheck=1 enabled=0 [root@cent63 ~]#
※CentALTリポジトリではEPELリポジトリを利用するようなので事前準備が必要。

■CentALTをyumリポジトリに追加

[root@cent63 ~]# vi /etc/yum.repos.d/centos.alt.ru.repo [root@cent63 ~]# cat /etc/yum.repos.d/centos.alt.ru.repo [CentALT] name=CentALT Packages for Enterprise Linux 6 - $basearch baseurl=http://centos.alt.ru/repository/centos/6/$basearch/ enabled=0 gpgcheck=0 [root@cent63 ~]#

■httpd停止

[root@cent63 ~]# /etc/init.d/httpd stop httpd を停止中: [ OK ] [root@cent63 ~]#

■httpdバージョンアップ

[root@cent63 ~]# yum --enablerepo=CentALT --skip-broken update httpd (中略) Packages skipped because of dependency problems: httpd-manual-2.2.15-26.el6.centos.noarch from base httpd-manual-2.2.23-1.el6.x86_64 from CentALT Dependencies Resolved ============================================================================ Package Arch Version Repository Size ============================================================================ Updating: httpd x86_64 2.2.23-1.el6 CentALT 883 k Updating for dependencies: httpd-manual x86_64 2.2.23-1.el6 CentALT 960 k httpd-tools x86_64 2.2.23-1.el6 CentALT 62 k mod_ssl x86_64 1:2.2.23-1.el6 CentALT 82 k Skipped (dependency problems): httpd-manual noarch 2.2.15-26.el6.centos base 783 k httpd-manual x86_64 2.2.23-1.el6 CentALT 960 k Transaction Summary ============================================================================ Upgrade 4 Package(s) Total download size: 1.9 M Is this ok [y/N]: y Downloading Packages: (1/4): httpd-2.2.23-1.el6.x86_64.rpm | 883 kB 00:03 (2/4): httpd-manual-2.2.23-1.el6.x86_64.rpm | 960 kB 00:03 (3/4): httpd-tools-2.2.23-1.el6.x86_64.rpm | 62 kB 00:00 (4/4): mod_ssl-2.2.23-1.el6.x86_64.rpm | 82 kB 00:00 ---------------------------------------------------------------------------- Total 233 kB/s | 1.9 MB 00:08 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Updating : httpd-tools-2.2.23-1.el6.x86_64 1/8 Updating : httpd-2.2.23-1.el6.x86_64 2/8 Updating : httpd-manual-2.2.23-1.el6.x86_64 3/8 Updating : 1:mod_ssl-2.2.23-1.el6.x86_64 4/8 Cleanup : httpd-manual-2.2.15-15.el6.centos.1.noarch 5/8 Cleanup : 1:mod_ssl-2.2.15-15.el6.centos.1.x86_64 6/8 Cleanup : httpd-2.2.15-15.el6.centos.1.x86_64 7/8 Cleanup : httpd-tools-2.2.15-15.el6.centos.1.x86_64 8/8 Verifying : httpd-manual-2.2.23-1.el6.x86_64 1/8 Verifying : httpd-tools-2.2.23-1.el6.x86_64 2/8 Verifying : 1:mod_ssl-2.2.23-1.el6.x86_64 3/8 Verifying : httpd-2.2.23-1.el6.x86_64 4/8 Verifying : 1:mod_ssl-2.2.15-15.el6.centos.1.x86_64 5/8 Verifying : httpd-manual-2.2.15-15.el6.centos.1.noarch 6/8 Verifying : httpd-2.2.15-15.el6.centos.1.x86_64 7/8 Verifying : httpd-tools-2.2.15-15.el6.centos.1.x86_64 8/8 Updated: httpd.x86_64 0:2.2.23-1.el6 Dependency Updated: httpd-manual.x86_64 0:2.2.23-1.el6 httpd-tools.x86_64 0:2.2.23-1.el6 mod_ssl.x86_64 1:2.2.23-1.el6 Skipped (dependency problems): httpd-manual.noarch 0:2.2.15-26.el6.centos httpd-manual.x86_64 0:2.2.23-1.el6 Complete! [root@cent63 ~]#

■バージョンアップ後の状況

[root@cent63 ~]# /usr/sbin/httpd -v Server version: Apache/2.2.23 (Unix) Server built: Oct 7 2012 09:11:32 [root@cent63 ~]# rpm -qa | grep httpd httpd-2.2.23-1.el6.x86_64 httpd-tools-2.2.23-1.el6.x86_64 httpd-manual-2.2.23-1.el6.x86_64 [root@cent63 ~]#

■httpd起動

[root@cent63 ~]# /etc/init.d/httpd start httpd を起動中: [ OK ] [root@cent63 ~]#

ブラウザからWebサーバにアクセスしたところアップデート前と同じように
サイトが表示されたので、問題はなさそう…。
以上です。

2013年2月3日日曜日

Redmineのログイン認証にOpenLDAPを利用

ご存知の通りRedmineはLDAP認証に対応しています。
OpenLDAPを利用してRedmineにログインするための設定をまとめます。

【Redmineサーバ】
・OS:  Amazon Linux AMI release 2012.03(64bit)
・Redmine:  2.1.2
・Ruby:  1.9.3
・Rails:  3.2.8

【OpenLDAPサーバ】
・OS:  Amazon Linux AMI release 2012.09(64bit)
・openldap-servers:  2.4.23


■OpenLDAPのユーザ登録情報



■RedmineのLDAP認証設定

管理 > LDAP認証 > 新しい認証方式

↑あわせてユーザを作成のチェックを忘れずに!

接続テストを実施


■OpenLDAP登録ユーザでログイン


↑事前にRedmine上で管理ユーザ等による登録は不要。ログインと同時にユーザが作成される。

ユーザ情報確認

↑OpenLDAPで指定した氏名やメールアドレスが取得できている。
※Redmineローカルユーザはパスワード変更可能だがLDAP認証ユーザはRedmine上でのパスワード変更はできない。

2013年2月2日土曜日

リポジトリ別にアクセス制御するSubversionの設定方法

プロジェクト別にSVNのリポジトリを分け、LDAPのグループとひも付けることにより、
他のプロジェクトのリポジトリへのアクセスができないように設定します。
※OpenLDAPの設定情報はこちらをご参照ください。


【OpenLDAPサーバ】
OS: CentOS 6.3(64-bit)
openldap-servers: 2.4.23-26.el6_3.2
IP: 192.168.77.146

【Webサーバ】
OS: CentOS 6.3(64-bit)
Apache: 2.2.15
Subversion: 1.6.11
IP: 192.168.77.147


■subversionインストール
[root@web03 ~]# yum -y install subversion (中略) Package subversion-1.6.11-7.el6.x86_64 already installed and latest version Nothing to do [root@web03 ~]#
※すでにインストール済み。

■mod_dav_svnインストール
[root@web03 ~]# yum -y install mod_dav_svn (中略) ====================================================================== Package Arch Version Repository Size ====================================================================== Installing: mod_dav_svn x86_64 1.6.11-7.el6 base 79 k Transaction Summary ====================================================================== Install 1 Package(s) (省略)
※/etc/httpd/conf.d/subversion.conf が自動生成された。

■svnリポジトリ格納ディレクトリ作成
[root@web03 ~]# mkdir /var/www/svn [root@web03 ~]# mkdir /var/www/svn/repos1 [root@web03 ~]# mkdir /var/www/svn/repos2

■svnリポジトリ作成
[root@web03 ~]# svnadmin create /var/www/svn/repos1/project_A [root@web03 ~]# svnadmin create /var/www/svn/repos1/project_B [root@web03 ~]# svnadmin create /var/www/svn/repos2/project_C [root@web03 ~]# svnadmin create /var/www/svn/repos2/project_D

■所有者変更および確認
[root@web03 ~]# chown -R apache: /var/www/svn/ [root@web03 ~]# ll /var/www/svn/repos2/project_D/ 合計 24 -rw-r--r-- 1 apache apache 229 2月 1 23:13 2013 README.txt drwxr-xr-x 2 apache apache 4096 2月 1 23:13 2013 conf drwxr-sr-x 6 apache apache 4096 2月 1 23:13 2013 db -r--r--r-- 1 apache apache 2 2月 1 23:13 2013 format drwxr-xr-x 2 apache apache 4096 2月 1 23:13 2013 hooks drwxr-xr-x 2 apache apache 4096 2月 1 23:13 2013 locks [root@web03 ~]#
※svnadminには削除するサブコマンドが用意されていなため、削除する場合はrmコマンドを利用する。

■subversion.conf設定
[root@web03 ~]# vi /etc/httpd/conf.d/subversion.conf [root@web03 ~]# grep -v "^#\|^$" /etc/httpd/conf.d/subversion.conf LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /repos1> DAV svn SVNListParentPath on SVNParentPath /var/www/svn/repos1 AuthType Basic AuthName "subversion authentication" AuthBasicProvider ldap AuthzLDAPAuthoritative off AuthLDAPURL ldap://192.168.77.146:389/ou=unit01,dc=open_ldap,dc=com?cn?sub?(objectClass=person) Require valid-user </Location> <Location /repos2> DAV svn SVNListParentPath on SVNParentPath /var/www/svn/repos2 AuthType Basic AuthName "subversion authentication" AuthBasicProvider ldap AuthzLDAPAuthoritative off AuthLDAPURL ldap://192.168.77.146:389/ou=unit02,dc=open_ldap,dc=com?cn?sub?(objectClass=person) Require valid-user </Location> [root@web03 ~]# /etc/init.d/httpd restart
※表示の都合上タグを"<"と">"で記載。
※「SVNListParentPath on」とするとリポジトリ一覧を表示可能。



■ブラウザからアクセス
https://192.168.77.147/repos1/
Basic認証の画面が表示され、OpenLDAPに登録したユーザでアクセスできるはず。


その後、
https://192.168.77.147/repos2/
にアクセスすると再びBasic認証画面が表示される。



■TortoiseSVNおよび日本語パックをダウンロード
※以下の情報はググればいくらでも出てくるので説明を簡略化します。
http://sourceforge.jp/projects/tortoisesvn/releases/ からOSに適合するインストーラをダウンロードする。
TortoiseSVNをダウンロードしてインストールする。
日本語パックをダウンロードしてインストールする。

■TortoiseSVN設定
※以下の情報はググればいくらでも出てくるので説明を簡略化します。
⇒日本語化設定
デスクトップ上で右クリック⇒「TortoiseSVN」⇒「Settings」で「Settings」ウィンドウを開き、Language→日本語

⇒リポジトリチェックアウト(ダウンロード)
デスクトップ上で右クリック⇒「SVNチェックアウト」で「チェックアウト」ウィンドウを開き、
リポジトリのURL⇒リポジトリのURL(例→ https://192.168.77.147/repos1/project_A/)
チェックアウトディレクトリ⇒クライアントマシン上の任意のフォルダ
「OK」ボタン押下して、作成したリポジトリがダウンロードされることを確認

⇒リポジトリコミット(アップロード)
クライアント上のリポジトリ内に適当なフォルダやファイルを作成する
リポジトリ上で右クリック⇒「SVNコミット」で「コミット」ウィンドウを開き、
「全て選択/全て非選択」をチェックして「OK」ボタン押下
※ユーザー名/パスワード入力画面にて、OpenLDAPで登録したユーザー名/パスワードを入力。

いったんクライアント上のリポジトリを削除後再度リポジトリチェックアウトを実施し、
リポジトリコミットした内容が反映されていることを確認