Ruby on Rails for Windows2000(Webアプリ開発環境 for Windows2000)

Ruby on Rails for Windows2000

Apache2 PHP5 phpmyadmin mod_fastcgi mod_ruby eRuby Ruby on Rails MySQL5 MySQL/Ruby)


本文へジャンプ

初心者の為のRuby on Rails for Fedora Core 5


Fedora Core 5 の初期設定


UTF-8 TeraTerm Pro with TTSSH2,ユーザ登録,vsftpdのインストール


操作の基本方針
私の環境では、メモリが少ないし、CPUパワーも貧弱である為Fedora Core 5のGUIが遅すぎて使用に耐えない。
それでホストOSであるWindows2000から、仮想端末ソフト(UTF-8 TeraTerm Pro with TTSSH2)を使用し、コンソールからすべての操作を行う。
レンタルサーバなどの実機環境では、管理にGUIが使える場合は限られているはずなので、基本的な操作をすべてコンソールで行うことに慣れる。。


UTF-8 TeraTerm Pro with TTSSH2のインストールは、インストーラを起動しインストーラーの指示に従う。
起動するとTCP/IPにチェックして、HostにIPアドレスを入力する。
IPアドレスの確認は、Fedora Core 5のGUIの「システム」−>「端末」を起動して、コマンドラインで、ifconfigというコマンドを打てば、以下のように表示される。
注意:VMware Playerのメモリは、256Mbyte以上に設定すること。そうでないと、メモリスワップが大量に発生して、カーソルが固まる。
私の環境は、P3 650MHz 348Mbyteメモリなので、256Mbyteでもきついのだが、最初はしかたがない。
2GHz以上のCPU、1Gbyte以上のメモリなら、VMware Playerに512Mbyte程度割り当てるとGUIも快適に動作する。

[hage@localhost ~]$ su
パスワード(P):



[root@localhost hoge]# /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:XX:XX:XX:XX:XX
inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: XXXX::XXXX:XXXX:feee:XXXX/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:48083 errors:0 dropped:0 overruns:0 frame:0
TX packets:17473 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:61524473 (58.6 MiB) TX bytes:1300709 (1.2 MiB)
Interrupt:177 Base address:0x1400

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:5323 errors:0 dropped:0 overruns:0 frame:0
TX packets:5323 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:7671208 (7.3 MiB) TX bytes:7671208 (7.3 MiB)


これの「inet addr:192.168.1.3」部分がIPアドレスを示しているので、この場合は、Hostに192.168.1.3を指定する。
SSHにチェックを入れて、OKをクリック。

たぶん、ワーニングが出るので、Add this machine and its key to the known hosts listにチェックを入れて、
次の画面でユーザー名とパスワード入れて、 Use plain password to loginにチェックを入れてOKをクリック。

これで、Windowsから仮想端末でつながるようになったので、重いGUIをストップさせる。

最低限のemacs(エディタ)の使い方

起動

[root@localhost hage]# emacs -nw ファイル名



終了
「Ctrl」+「x」、「Ctrl」+「c」

ファイルを保存する
「Ctrl」+「x」、「Ctrl」+「s」

ここで「Ctrl」+「x」は、Ctrlキーを押しながらxキーを押すということである。

カーソル移動は、ショートカットを使う方法が正当であるが、普通にカーソルキーで移動できる。

だから、ファイルを保存して終了は、「Ctrl」+「x」、「Ctrl」+「s」、「Ctrl」+「x」、「Ctrl」+「c」とする。

詳しく知りたい方は、「便利なツール Emacsらくらく入門」を参照してください。


通常の入門書等を見るとテキストエディタにviかvimが使用されているが、vi/vimが私は嫌いなのでemacsを使用する。
vi/vimについては、下記の書籍を参考のこと。なお、Fedora Core 5の端末から「vi」と入力すると、インストール時にエディタの項目でvimを選択していれば、vimが起動する。

入門vi 第6版


ViIMproved‐Vim完全バイブル


rootになってから、

[root@localhost hage]# emacs -nw /etc/inittab



# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault: <==========この部分


id:3:initdefault: <==========3に変更



ファイルを保存して、emacsを終了させる。


[root@localhost hage]# halt


でシステムを止めて、VMware Playerのメニューの「Player」−>「Troubleshoot」−>「Power Off and Exit」を行ってからVMware Playerの「Player」−>「Troubleshoot」−>「Change Memory Allocation」で使用メモリを適切な値にして再起動。


これで再起動をすると、テキストモードで起動する。
起動したらそのままWindowを最小化しておくと、作業の邪魔にならない。

また、テキストモードでシステムを停止する場合は、rootでログインし、haltと入力してリターン。
システムが停止したら、VMware Playerのメニューの「Player」−>「Troubleshoot」−>「Power Off and Exit」で完全終了。
サスペンドする場合は、「Player」−>「Exit」でサスペンドし、次回起動時には、続きが作業できる。


ただ、ここで問題がある。VMware Playerは、前述の通りExitでOSをサスペンドして終了するのだが、ホストOSのWindowsの時刻とゲストOSであるFedora Core 5の時刻を同期させる方法がない。その為、毎回起動して作業する前に時刻合わせをする必要がある。以下のコマンドを入力する。

例えば、2006年8月27日15時00分にするには、

[root@localhost hage]# date --set "08/27 15:00 2006"


VMware PlayerでFedora Core 5を動かすと、ずっと動作させていても時間が遅れてくる。その為、このコマンドは、作業をする前に定期的に行うようにしよう。


以降は、UTF-8 TeraTerm Pro with TTSSH2で作業する。


現状のシステムのアップデートを行う。

速いミラーサイトを優先的に接続しにいくプラグインをインストールしてから、アップデートを行う。


Fedora Core 5にインストール時に設定した一般ユーザでログインし端末を起動して、


[hage@localhost ~]$ su

[root@localhost hage]# yum install yum-fastestmirror

[root@localhost hage]# yum -y update
を実行する。



私の環境では、12時間程かかるので待つ。


[root@localhost hage]# echo $LANG


で文字コードを確認。

ja_JP.UTF-8
と表示されるはず。

文字コードの変更

[root@localhost hage]# emacs -nw /etc/sysconfig/i18n

LANG="ja_JP.UTF-8"    
<<<<<<変更前

LANG="ja_JP.eucJP"    
<<<<<<変更後


ファイルを保存して終了。


[root@localhost hage]# halt


を実行してシステムを停止し、「Player」−>「Troubleshoot」−>「Reset」で再起動。
「Reset」するのは、VMware Playerの画面に「System halted」というメッセージが出てから行う。


UTF-8 TeraTerm Pro with TTSSH2のエンコードをUTF-8からEUCに変えて接続する。
ログインして、接続を確認したら、

[hage@localhost ~]$ su
パスワード(P):



この時、「パスワード(P):」の文字列が正常に表示できることを確認。


[root@localhost hage]# echo $LANG


で再度文字コードを確認。

ja_JP.eucJP
と表示される。

管理者ユーザをhage、一般ユーザをpogeとする。
当然、hage/pogeは、自分の好きな名称に置き換えること。


管理者ユーザは、インストール時に設定した一般ユーザhageとする

一般ユーザpogeを作成

[root@localhost hage]# /usr/sbin/useradd -s /bin/bash poge



pogeのパスワードを指定。2回入力する。

[root@localhost hage]# passwd poge
Enter new UNIX password:
retype new UNIX password:
passwd: password updated successfully



管理者用ユーザからはrootになれて、管理者以外の一般ユーザからはrootになれないようにする。

[root@localhost hage]# /usr/sbin/usermod -G wheel hage ← 管理者ユーザをwheelグループに追加



[root@localhost hage]# emacs -nw /etc/pam.d/su ← PAMのsuモジュール設定ファイル編集
#auth required pam_wheel.so use_uid




auth required pam_wheel.so use_uid ← コメント解除(wheelグループ所属ユーザのみrootになれるようにする)



ファイルを保存して終了。


[root@localhost hage]# echo "SU_WHEEL_ONLY yes" >> /etc/login.defs ← 最終行へ追加する



vsftpdのインストール。

以下のコマンドをrootで実行するとftpが使用できるようになる。


[root@localhost hage]# yum -y install vsftpd



/etc/vsftpd/vsftpd.confを以下のように修正する。


[root@localhost hoge]# emacs -nw /etc/vsftpd/vsftpd.conf



# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever
#
# You may override where the log file goes if you like. The default is shown
# below.
#xferlog_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format
xferlog_std_format=YES
#
# You may change the default value for timing out an idle session.
idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
data_connection_timeout=360
#
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#nopriv_user=ftpsecure
#
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that on some FTP servers, ASCII support allows a denial of service
# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
# predicted this attack and has always been safe, reporting the size of the
# raw file.
# ASCII mangling is a horrible feature of the protocol.
ascii_upload_enable=YES
ascii_download_enable=YES
#
# You may fully customise the login banner string:
ftpd_banner=Welcome to blah FTP service.
#
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd/banned_emails
#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
ls_recurse_enable=YES

pam_service_name=vsftpd
userlist_enable=YES
xferlog_std_format=NO
log_ftp_protocol=YES

#enable for standalone mode
listen=YES
tcp_wrappers=YES
use_localtime=YES

pasv_promiscuous=YES
pasv_min_port=50000
pasv_max_port=50030



/etc/hosts.allowを以下のように修正する。


[root@localhost hoge]# emacs -nw /etc/hosts.allow


#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
vsftpd : 192.168.1. 127.0.0.1




/etc/hosts.denyを以下のように修正する。


[root@localhost hoge]# emacs -nw /etc/hosts.deny


#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# you should know that NFS uses portmap!
vsftpd : ALL



[root@localhost hoge]# emacs -nw /etc/vsftpd/chroot_list


poge



[root@localhost hoge]# emacs -nw /etc/vsftpd/user_list


# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
apache
mysql



ファイルの変更が終わったら、一度vsftpdをストップさせて再起動する。

[root@localhost hoge]# /etc/rc.d/init.d/vsftpd stop
vsftpd を停止中: [失敗]
[root@localhost hoge]# /etc/rc.d/init.d/vsftpd start
vsftpd 用の vsftpd を起動中: [ OK ]



OSの起動時にvsftpdが自動起動するように設定する。

[root@localhost hoge]# /sbin/chkconfig vsftpd on



FFFTPで「新規ホスト」を選択し、「ホストの設定名」は自分で分かりやすい名称にし、「ホスト名」にIPアドレスを入力して、「ユーザー名」「パスワード」にログインしたいユーザーを指定します。
次に「拡張」タブでPASVを利用するにチェックを入れて、OKをクリック。そして接続するをクリックする。

これでftpがつながるようになった。


デーモンの状態を把握して、不要なものをストップする。

[root@localhost hage]# /sbin/chkconfig --list



とりあえず、以下のコマンドを実行してデーモンを止める。
注意:ここでは、Webアプリのテスト環境に徹する方針であるため、他の使い方をしている場合は致命的となることがあるので、自己責任で行うこと。

[root@localhost hage]# /sbin/chkconfig apmd off
[root@localhost hage]# /sbin/chkconfig atd off
[root@localhost hage]# /sbin/chkconfig cups off
[root@localhost hage]# /sbin/chkconfig cups-config-daemon off
[root@localhost hage]# /sbin/chkconfig gpm off
[root@localhost hage]# /sbin/chkconfig hidd off
[root@localhost hage]# /sbin/chkconfig irqbalance off
[root@localhost hage]# /sbin/chkconfig mdmonitor off
[root@localhost hage]# /sbin/chkconfig mdmpd off
[root@localhost hage]# /sbin/chkconfig netfs off
[root@localhost hage]# /sbin/chkconfig nfs off
[root@localhost hage]# /sbin/chkconfig nfslock off
[root@localhost hage]# /sbin/chkconfig portmap off



[root@localhost hage]# exit


でrootを抜けて、

[hage@localhost ~]$ mkdir /home/hage/src


でディレクトリを作成しておく。
本来のLinuxの流儀に従えば、/usr/local/srcなのかもしれない。

FFFTPで管理者ユーザにftp接続し、
Apache、MySQLなどをFedora Core 5の/home/hage/srcにアップロードする。

以上でFedora Core 5の初期設定は終わりで、続いてアプリケーションのインストールを行う。


ただ、ここで問題がある。VMware Playerは、メニューバーのExitでOSをサスペンドして、終了するのだが、ホストOSのWindowsとゲストOSであるFedora Core 5の時刻を同期させる方法が分からない。その為、毎回起動して作業する前に時刻合わせをする必要がある。以下のコマンドを入力する。

例えば、2006年8月27日15時00分にするには、

[root@localhost hage]# date --set "08/27 15:00 2006"



VMware PlayerでFedora Core 5を動かすと、ずっと動作させていても時間が遅れてくる。その為、このコマンドは、作業をする前に定期的に行うようにしよう。

勘違いや記述漏れがあるかもしれない。参考文献を良く読んで、あくまで自己責任で行うこと。




ページトップへ







トップページへ
使用したソフトウェア
参考文献
VMware Workstation 5 for Windows日本語版

Windows上で、LinuxなどのゲストOSを新規インストールして、リブート無しで、WindowsとLinux等の複数のOSを同時実行するソフトウェア。



はじめてのVMware

日本語で唯一のVMware Workstationの解説書。VMware Workstationは、特殊な用語が多いので初めての方に。



 本、ソフトウェアを買うなら。コンピュータ関連の本を探す  
無料メールYahoo! JAPAN MSN Japan
検索エンジンGoogle goo インフォシーク  
インターネットプロバイダBIGLOBE


Ruby on Railsインストールおまかせ(オプション)、root権限で自由にカスタマイズ



Rubyが使用可能、高セキュリティ・レンタルサーバ


Rubyが使用できる。超多機能、ほぼなんでもあり。超低価格サーバ、Ruby1.8.1その他仕様は要確認。


スポンサー
募集中
メール送信フォームより、タイトルに「スポンサー契約」、本文に返信用メールアドレスを。