月額980円から利用できる さくらの VPS を契約後、LAMP 構成で WEB サイトを公開するまでに必要な設定の覚書です。
主な内容
以下、桃色のところは各自の環境に合わせて直してから実行してください。
コピペで実行しやすくなっています。
まず初めに
rootユーザーのパスワードを変更
# passwdユーザーの作成
役割に応じたユーザーを作りましょう。#
#
#
#useradd ユーザー名
passwd ユーザー名
groupadd グループ名
gpasswd -a ユーザー名 グループ名
← パスワードを設定
← グループを作成
← 必要に応じてユーザーをグループに追加vimの設定
#
#
>
>
>
#
#
#
#
>
>
>
>
>
>cp -p /etc/bashrc /etc/bashrc.default
cat << EOS >> /etc/bashrc
alias vi=vim
EOS
source /etc/bashrc
cp -p /etc/vimrc /etc/vimrc.default
cat << EOS >> /etc/vimrc
set number
set tabstop=4
set encoding=UTF-8
set ambiwidth=double
EOS
← 変更を反映
← 行番号を表示
← タブ幅を4に設定
yumのリポジトリを追加
EPELリポジトリを追加し、デフォルトでは使わないように設定する。#
#
#rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
perl -i.default -p -e 's/enabled=1/enabled=0/' /etc/yum.repos.d/epel.repo
yum -y --enablerepo=epel update# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
http://rpms.famillecollet.com/
セキュリティーの設定
※ここの設定は慎重に実行しないとログインできるユーザーがいなくなるなどの恐れがあります。以下の設定を行う前に、wheelグループのユーザーを作成するか、または、rootユーザーが公開鍵認証でログインできるようにしておいてください。
公開鍵認証の設定については以下の記事を参考にしてください。
Pageant の使い方 (公開鍵認証の設定方法)
SSHの設定
必要に応じて、SSHのポート番号の変更や、rootユーザーのログイン制限を行う。
#
#
>
>
>
>cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.default
cat << EOS >> /etc/ssh/sshd_config
Port 22
PermitRootLogin without-password
EOS参考: http://www.unixuser.org/~euske/doc/openssh/jman/sshd_config.html
wheelグループ以外はsshでの接続を禁止する。#
#
>
>
>
#
#
#
>
>
>
#
#cp -p /etc/security/access.conf /etc/security/access.conf.default
cat << EOS >> /etc/security/access.conf
-:ALL EXCEPT wheel:ALL
EOS
cp -p /etc/pam.d/sshd /etc/pam.d/sshd.default
cat << EOS >> /etc/pam.d/sshd
account required pam_access.so
EOS
service sshd restartsuコマンドの制限
wheelグループ以外はsuコマンドの使用を禁止する。# perl -i.default -p -e 's/^#(?=auth(?>\s+)required(?>\s+)pam_wheel.so use_uid)//' /etc/pam.d/su iptablesの設定
iptablesはLinuxのパケットフィルタリング機能です。
SSHのポート番号を変更した場合は、以下の22のところを変更後のポート番号に直してください。#
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
#
#
#cat << EOS > /etc/sysconfig/iptables
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
EOS
chkconfig iptables on
/etc/init.d/iptables start
LAMP環境の構築
Apacheのインストール
#
#
#yum -y install httpd mod_ssl
chkconfig httpd on
service httpd start
初期DocumentRoot:PHPのインストール
# yum install php php-devel php-mbstring php-mysql php-gd php-mcrypt date.timezone = "Asia/Tokyo" mbstring.language = Japanese mbstring.internal_encoding = UTF-8
# service httpd restart MySQLのインストールと設定
#
#
#
>
>
>
>
>
>
>
>
>
>
#
#
#
#yum -y install mysql-server
perl -i.default -p -e 's/^(\[mysqld\])/$1\n# character-set\ndefault-character-set=utf8\nskip-character-set-client-handshake\n/m' /etc/my.cnf
cat << EOS >> /etc/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8
EOS
chkconfig mysqld on
service mysqld start
mysqladmin -u root password パスワード
Ruby On Rails
Rubyのインストール
Ruby本体はyumではなく最新版をダウンロードしてインストールするのが良いと思います。
以下から最新安定板のURLを取得してください。
http://www.ruby-lang.org/ja/downloads/#
#
#
#
#
#
#
#
#
#yum -y --enablerepo=epel install ncurses-devel gdbm-devel openssl-devel zlib-devel readline-devel libyaml-devel
cd 作業用ディレクトリ
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.bz2
tar jxf ruby-1.9.3-p194.tar.bz2
cd ruby-1.9.3-p194
./configure
make
make installruby -v
と入力し、バージョンが表示されればインストール成功です。Ruby On Railsのインストール
以下のコマンドを実行し、少し待ちます。# gem install railsrails -v
と入力し、バージョンが表示されればインストール成功です。
ただし、実際に快適にRailsアプリケーションを動かすためには passenger などをインストールする必要があります。 詳しい設定方法については以下を参考にしてください。
さくらのvps-を使いはじめる-7-ruby-ee、passenger、redmine
Redmine
Redmineの導入
基本的に以下のサイトの指示に従えば良いです。
さくらのVPS を使いはじめる 7 – Ruby EE、Passenger、Redmine
ただ、上記サイトの手順において最新版のRubyを削除する必要はありません。Ruby Enterprise Editionをデフォルトの場所にインストール後、一時的にPATHを以下の様に変更しておき、# PATH=/opt/ruby-enterprise-1.8.7-2012.02/bin:$PATHこの状態でPassengerのインストールを行い、その指示に従ってApacheの設定ファイルを修正すれば良いです。
Subversionとの連携
同じサーバーにリポジトリがある場合にはRedmineの [設定] → [リポジトリ] で、URLを
file:///var/svn/example
の様に設定すれば良いです。
リポジトリからの初回のデータ取得時は時間がかかってタイムアウトになることがあるため、端末から以下のコマンドを実行して初回のデータ取得を行うのが無難です。ruby script/runner "Repository.fetch_changesets" -e production参考: リポジトリ _ Redmine.JP
他に参考にしたサイト
Redmine 1.3をCentOS 6にインストールする手順
[amazon asin="4798119318" /]