さくらのVPS (CentOS) の初期設定の覚書


月額980円から利用できる さくらの VPS を契約後、LAMP 構成で WEB サイトを公開するまでに必要な設定の覚書です。

主な内容

以下、桃色のところは各自の環境に合わせて直してから実行してください。
コピペで実行しやすくなっています。

まず初めに

  1. rootユーザーのパスワードを変更

    # passwd
  2. ユーザーの作成

    役割に応じたユーザーを作りましょう。
    #
    #
    #
    #
    useradd ユーザー名
    passwd ユーザー名
    groupadd グループ名
    gpasswd -a ユーザー名 グループ名

    ← パスワードを設定
    ← グループを作成
    ← 必要に応じてユーザーをグループに追加
  3. 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に設定


  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
    もし remi リポジトリをインストールしたい場合は次のコマンドを実行する。
    # rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
    URL は以下のページで確認できる。
    http://rpms.famillecollet.com/

セキュリティーの設定

ここの設定は慎重に実行しないとログインできるユーザーがいなくなるなどの恐れがあります。以下の設定を行う前に、wheelグループのユーザーを作成するか、または、rootユーザーが公開鍵認証でログインできるようにしておいてください。

公開鍵認証の設定については以下の記事を参考にしてください。
Pageant の使い方 (公開鍵認証の設定方法)

  1. 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 restart
  2. suコマンドの制限

    wheelグループ以外はsuコマンドの使用を禁止する。
    # perl -i.default -p -e 's/^#(?=auth(?>\s+)required(?>\s+)pam_wheel.so use_uid)//' /etc/pam.d/su
  3. 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

    参考: http://www.nina.jp/server/redhat/iptables/iptables.html

LAMP環境の構築

  1. Apacheのインストール

    #
    #
    #
    yum -y install httpd mod_ssl
    chkconfig httpd on
    service httpd start
    設定ファイルの場所:
    初期DocumentRoot:
  2. PHPのインストール

    # yum install php php-devel php-mbstring php-mysql php-gd php-mcrypt
    /etc/php.ini を次の様に編集する。 date.timezone = "Asia/Tokyo" mbstring.language = Japanese mbstring.internal_encoding = UTF-8
    # service httpd restart
  3. 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

  1. 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 install

    ruby -v
    と入力し、バージョンが表示されればインストール成功です。

  2. Ruby On Railsのインストール

    以下のコマンドを実行し、少し待ちます。
    # gem install rails

    rails -v
    と入力し、バージョンが表示されればインストール成功です。
    ただし、実際に快適にRailsアプリケーションを動かすためには passenger などをインストールする必要があります。 詳しい設定方法については以下を参考にしてください。
    さくらのvps-を使いはじめる-7-ruby-ee、passenger、redmine

Redmine

  1. 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の設定ファイルを修正すれば良いです。

  2. 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" /]

カテゴリー: 記事 タグ: , , パーマリンク

コメントを残す