さくらのVPSに環境を構築するメモ--rubyまわり--リトライ
yumでrubyを入れる
まずはyumで検索
$ yum search ruby
入るrubyのバージョンを確認
$ yum info ruby
バージョンは1.8.7.352だそうだ。
gemも調べる
$ yum info rubygems
gemは1.3.7だって。
両方yumで入れることにする。
$ sudo yum install ruby rubygems
rackを入れる。
$ sudo gem install rack -v=1.1.0
すんなり入った。
次回からは必要なものを一括で入れたい。
$ sudo yum install ruby rubygems zlib openssl openssl-devel ruby-devel sqlite-devel zlib-devel
(opensslはすでに入っているかも)
さくらのVPSに環境を構築するメモ--rubyまわり
昔の自分のメモを参考にして入れていく。
そして同じようなとこでつまずいている。。。
バージョンが違うとすごく面倒なので指定して入れていく。
まずはruby
mkdir src
cd src
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p72.tar.gz
tar zxvf ruby-1.8.7-p72.tar.gz
cd ruby-1.8.7-p72
./configure --prefix=/usr
sudo make && make install
パーミッションがないと言われるのでrootで入れた。
su
# make && make install
rubygemを入れる
wget http://rubyforge.org/frs/download.php/43985/rubygems-1.3.0.tgz
tar zxvf rubygems-1.3.0.tgz
cd rubygems-1.3.0
su
# ruby setup.rb
パスを通す
export PATH=/var/lib/gems/1.8/bin:$PATH
rackを入れる
sudo gem install rack -v=1.1.0
zlibがなくてエラーになる。
zlib関連を入れる
sudo yum install zlib*
設定
cd src/ruby-1.8.7-p72/ext/zlib/
sudo ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
sudo make
make install
もう1回rackを入れる
sudo gem install rack -v=1.1.0
opensslがないって。
opensslのインストールでつまずく。
rubyをyumから入れたい。
などなどによりソースから入れたrubyをアンインストールする。
$ cd /src/ruby-1.8.7-p72
# cat .installed.list | xargs rm
いろいろやり直し。
さくらのVPSに環境を構築するメモ--OSの基本編
初期設定だとCentOSなので、OSはそのまま利用する。
Debianといろいろ違うのでとまどう。
なので、メモを残しておこう。
ユーザ関連の設定
まずはユーザを作る。
いきなりrootでログインできちゃうらしい。。。
# useradd user_name
作ったユーザのパスワードを設定する
# passwd user_name
そのユーザからのみrootになれるようにする。
ユーザをwheelグループに追加
# usermod -G wheel user_name
pamを書き換える
# vi /etc/pam.d/su
コメントアウトを解除
#auth required pam_wheel.so use_uid
↓
auth required pam_wheel.so use_uid
確認。rootになってみる。
$ su -
SSHの設定。rootではログインできないようにしておく。
sshdの設定書き換え。
# vi /etc/ssh/sshd_config
rootでログインを禁止(コメントアウトを解除して、yesからnoへ変更)
#PermitRootLogin yes
↓
PermitRootLogin no
空のパスワードを禁止
#PermitEmptyPasswords yes
↓
PermitEmptyPasswords no
ユーザーuser_nameのみログインを許可(最終行に追加)
AllowUsers user_name
sshdを再起動
# /etc/rc.d/init.d/sshd restart
不要なサービスの停止
サービス状態の表示
# service --status-all
割と何も入ってなかった。。
sudoersを変更する。
昨日、wheelにユーザ追加をしたんだが、こっちで十分だったのでは。。。
ユーザがsudoを使えるようにする。
#visudo
ホスト名の変更
今回は変更しなくてもいいような気がするのでやめた。
さくらVPSにRails環境構築_3--rmagick関連
ImageMagickとRMagickを入れていく。
yumで入れるとバージョンが古いので前回いろいろ苦労した。
今回は新しいものを入れてみる。
参考にしたところ
http://www5.ocn.ne.jp/~m-shin/linux/centos-imagemagick-install.html
wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
tar xvfz ImageMagick.tar.gz
cd ImageMagick-6.7.4-0
./configure
make
make install
makeにけっこう時間がかかる。
どうやらMagick-develも一緒に入っているみたい。
そして/usr/local/binに入るらしい
which convert
/usr/local/bin/convert
which Magick-config
/usr/local/bin/Magick-config
しかし...
convert --version
convert: error while loading shared libraries: libMagick.so.10: cannot open shared object file: No such file or directory
エラーになる。
こっちはできる。
Magick-config --version
6.7.4 Q16
sudoをつけるとできる。
sudo convert --version
Version: ImageMagick 6.7.4-0 2011-12-14 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
Features: OpenMP
libMagick.so.10ってどこにあるんだ?
ここを参考にいろいろ試した。
http://www.pistolfly.jp/weblog/2011/03/centosimagemagick.html
とりあえずPATHの設定
vi ~/.bashrc
追加
alias sudo='sudo env PATH=$PATH'
反映
source .bashrc
あとこれもやってみた
ldconfigの設定
確認
sudo /sbin/ldconfig -p | grep libMagick
大丈夫そう
もう1回
sudo gem install rmagick
やっぱエラー
Can't install RMagick 2.13.1. Can't find MagickWand.h.
MagickWand.hがないらしい。
疲れた....
同じブログの関連エントリを参照
find /usr/local -name MagickCore.pc
sudo PKG_CONFIG_PATH=/usr/local/lib/pkgconfig gem install rmagick
インストール成功。ありがたや。
WEBrickが動いた。
いやー、大変だった。
あとはDB関連を整備するのみ。
さくらVPSにRails環境構築_2--ruby関連
こっからrailsまわりのものを入れていく。
rubyを入れる
普通に入れると1.8.5が入る。できたら1.8.7を入れておきたいので手動で。
mkdir src
cd src
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p72.tar.gz
tar zxvf ruby-1.8.7-p72.tar.gz
cd ruby-1.8.7-p72
./configure --prefix=/usr
sudo make && make install
パーミッションがないと言われてエラー。
rootで入れちゃえ。
su
# make && make install
rubygemを入れる
こっちも手動で入れる
wget http://rubyforge.org/frs/download.php/43985/rubygems-1.3.0.tgz
tar zxvf rubygems-1.3.0.tgz
cd rubygems-1.3.0
su
# ruby setup.rb
パスを通す
export PATH=/var/lib/gems/1.8/bin:$PATH
この後、参考にした先にrdocをインストールする必要があると書いてあったので何も考えずに入れたら1.8.5が入った。
そしたらrubyまで1.8.5に....
rdocをremoveしてmake installからやり直した。
rdocのインストールは必須ではないらしい。
アプリを動かしてみる
ソースをzipで固めてftpでup
unzipして動かしてみた
ruby script/server
エラーが出る。rackがないようなのでインストール
前回バージョン指定しなかったら困ったことになったので指定する
sudo gem install rack -v=1.1.0
またエラー
zlibがないそう。。。
ここから手間取った。
zlib関連を入れる
sudo yum install zlib*
zlibとzlib-develが入った。
ここから問題。最終的にはこちらを参考にして解決した。
http://akabeko.sakura.ne.jp/blog/2010/09/さくらのvps-を使いはじめる-6/
cd src/ruby-1.8.7-p72/ext/zlib/
sudo ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
sudo make
make install
もう1回rackを入れる
sudo gem install rack -v=1.1.0
アプリの起動
ruby script/server
またもrackがないと言われる。なんで?
どうやらrootだといける
sudo ruby script/server
....とりあえず動くから後回しにする(よくないけど..)
次はopensslがないと言われる
sudo yum install openssl-devel
cd src/ruby-1.8.7-p72/ext/openssl/
sudo ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
sudo make
make install
次はRMagickがないと言われてエラー。
ImageMagickが入ってないのでまずはこっちから。
さくらVPSにRails環境構築_1--OS基本編
さくらVPSではカスタムOSのインストールというのをやればDebianが選択できる。
...のだが、なぜかこのdebian外に出られない。。。
ネットワークの設定が悪いのかと思ったけど、大して設定項目もないし。。。
あきらめてデフォルトのCentOSを使うことに。
前にローカルのCentOSに環境構築した時のメモを参考にした。前回の苦労がちょっと報われた気持ち。
※基本は古い値をコメントアウトして新しい値を下の行に追加している
ユーザの作成と設定
最初はrootしかないのでまずはユーザをつくる
#useradd xxxx
#passwd xxxx
んで、sudoersに追加
#visudo
ホスト名の変更
localhostになっているのをxxxxに変更
sudo vi /etc/sysconfig/network
#HOSTNAME=localhost.localdomain
HOSTNAME=xxxx
sudo vi /etc/hosts
#127.0.0.1 localhost.localdomain localhost
#::1 localhost.localdomain localhost
127.0.0.1 xxxx
::1 xxxx
sshdの設定
設定の書き換え
sudo vi /etc/ssh/sshd_config
#PermitRootLogin no
PermitRootLogin no
書き換えて再起動
sudo /sbin/service sshd restart
ftpdの設定
ftpdは入ってなかったのでインストール
sudo yum -y install vsftpd
設定変更
sudo vi /etc/vsftpd/vsftpd.conf
anonymousを許可しないように変更
#anonymous_enable=YES
anonymous_enable=NO
アスキーモードでのUP、DLの許可
#ascii_upload_enable=YES
#ascii_download_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ホームディレクトリより上層へのアクセスを禁止する。
以下を追加(デフォルトで禁止に設定)
chroot_local_user=YES
ftpはファイルのUP、DLにしか使わないのでこれくらいでいいかな。
ユーザ自分だけだし、普段はftpdはstopして、必要な時だけstartする。
vsftpdの再起動。
sudo /etc/rc.d/init.d/vsftpd restart
OSの基本的な設定はこのくらい。