Tag: ServersMan@VPS

目次

参考情報

初期設定

パッケージのアップデート

  • 初期インストール済みのOSはCentOS5。yumコマンドで最新のパッケージにアップデートする(途中で失敗したので2回実行した)。
    # yum update
  • OSのバージョンは/etc/redhat-releaseで確認できる。
    # more /etc/redhat-release
    CentOS release 5.6 (Final)

ssh

基本

  • rootのログインを禁止したいので作業用のユーザーを追加する(既知のユーザーrootでログインできなければsshの安全性が増す)。
  • 公開鍵認証を使いパスワード認証をやめる(鍵ファイルがなければログインできなくなるので安全)。
  • 作業中にrootでログインできなくなったりすると困るので、rootログインは常に維持しておく。

作業用ユーザーの追加

  • adduserコマンドを使ってユーザーを追加する(RedHat系でadduserはuseraddのシンボリックリンクになっておりuseraddでも同じ結果になる)。
    # adduser nakata
  • ユーザーが作られると同時に同じ名前のグループが作られる(RedHat系標準の挙動)。/etc/passwd /etc/groupの最後を見れば確認できる。
  • passwordを設定。
    # passwd nakata
  • /usr/sbin/visudoを使ってsudoに設定を追加(rootの下の行)。
    ## Allow root to run any commands anywhere
    root    ALL=(ALL)       ALL
    nakata  ALL=(ALL)       ALL
    
  • パスワードなしでsudoを実行したい場合は次のようにする。
    nakata  ALL=(ALL)       NOPASSWD:ALL
  • sshの設定を変更していなければ、user:nakata password:先ほど設定したパスワード でログインできるので確認する。
    • su root でrootになれるかどうか確認。
    • sudo more /etc/shadow などしてsudoが動くかどうか確認(/etc/shadowはroot権限がないと見れないファイル)。

公開鍵認証

  • 公開鍵を準備する。VPS側で作っても良いし、puttyなどを使ってクライアント側で作っても良い。
  • 作業用ユーザになる
    # su nakata
  • .sshディレクトリの作成
    $ cd /home/nakata
    $ mkdir .ssh
    $ chmod 700 .ssh
    $ vi .ssh/authorized_keys
    $ (公開鍵を貼り付け)
    $ chmod 600 .ssh/authorized_keys 
  • この段階で、公開鍵を使ってログインしてみる。デフォルト設定で公開鍵認証は許可されている可能性は高いので運が良ければログインできる。だめなら/etc/ssh/sshd_configの設定や、.sshディレクトリのパーミッションなどを確認する。
  • 公開鍵sshdの設定を変更する。
    $ sudo vi /etc/ssh/sshd_config
    • パスワード認証を無効にする。
      PasswordAuthentication no
    • rootログインを無効にする。
      PermitRootLogin no
  • sshdをリスタート。
    $ sudo /etc/init.d/sshd restart
  • 作業ユーザーで公開鍵を使ってログインできればOK。

アプリケーション設定

MySQL

インストール

  • yumでインストール。
    # yum install mysql-server
  • 初期設定を行う
    # /usr/bin/mysql_secure_installation 
  • 自動起動設定を行う
    # /sbin/chkconfig mysqld on

メモリチューニング

基本

  • 初期状態でmysqlを起動すると総メモリが173Mと256Mの半分以上使うことになる。
  • ServersMan@VPSでMySQL InnoDB Pluginをあきらめない - SH2の日記によるとチューニングよってかなり開けることができるっぽい(ただしリンク先はMySQL5.1?以降のパラメータが設定されてたりしてCentOS5.6デフォルトのMySQL5.0ではそのまま使えない部分がある)。
  • ulimitでメモリを制限し、my.cnfで細かいパラメータ設定をすることで、最終的に83Mに押さえることができた。

起動スクリプトにulimitを追加

  • /etc/init.d/mysqldを編集し、"ulimit -s 192"を追加する。これが一番効果あり。
    start(){
    #        ulimit -s 192
            touch "$errlogfile"
            chown mysql:mysql "$errlogfile"
            chmod 0640 "$errlogfile"
    

/etc/my.cnfを編集

  • my.cnfを編集しできるだけ省メモリ化する。
    default_storage_engine = InnoDB
    innodb_file_per_table = 1
    innodb_flush_log_at_trx_commit = 1
    innodb_buffer_pool_size = 4M
    innodb_log_buffer_size = 1M
    innodb_log_file_size = 128MB
    
    #slow_query_log = 1
    #long_query_time = 0.1
    
    query_cache_type = 1
    query_cache_size = 1M
    
    key_buffer_size = 512K
    sort_buffer_size = 512K
    read_buffer_size = 128K
    
    max_allowed_packet = 16M
    max_connections = 64
    thread_cache_size = 8
    table_cache = 1024
    
    

ruby

インストール

  • yumでインストール
    yum install ruby

JDK

インストール

  • http://www.oracle.com/technetwork/java/javase/downloads/index.htmlからjdk-6u26-linux-i586-rpm.binをダウンロードしてサーバーにコピー。
  • ファイルを実行すると自動でrpmをインストールしてくれる。
    $ sudo sh jdk-6u26-linux-i586-rpm.bin
  • 実行してみる。
    $ export JAVA_HOME=/usr/java/jdk1.6.0_26
    $ java -version
    java version "1.6.0_26"
    Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
    Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode)

FAQ

ファイル転送するには

  • WindowsではWinSCPなどscpを使って転送すればsshの設定がそのまま使えるので便利。

ServersMan(サービス)とは何か

  • ServersMan@VPSのコントロールパネルでServersManの起動と停止というメニューがある。
  • ServersManとは?によると、「VPSサーバを「CloudDisk」として動作させるアプリケーションです。」とある。
  • つまりServersMan@VPSで、ServersManサービスを起動させておけば、PCやモバイル機器など各種クライアントからVPSサーバーを「CloudDisk」として利用できるようになるらしい。
  • コントロールパネルの起動と停止はこのサービスを制御するもので、VPSサーバー自体を起動停止するものではない。
  • 用語が重複していて混乱すると思った。

保証メモリ・最大メモリ


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-04-13 (水) 16:48:23