Top > サーバー > ServersMan@VPS

ServersMan@VPSの環境 Edit

ServersMan@VPS
CentOS(32bit)
シンプルセット

ざっくり設定メモ Edit

仮に契約したサーバーのIPアドレスは「127.0.0.1」として説明する。

  1. SSHクライアント(ここではputtyを使用)起動。
  2. ホスト名『127.0.0.1(契約したIPアドレス)』ポート『3843』
    接続タイプはSSHで。ほかはデフォルト。で『開く』。
  3. rootでログイン
    login as:root
    root@127.0.0.1's password:[パスワード入力]
    *パスワード入力中は文字とか出ないので注意
  4. rootは使わないようにするため、ユーザーを追加。
    ここでは仮にnanasiというユーザーを追加する。
    # useradd -G wheel nanasi
    # passwd nanasi
    Changing password for user nanasi.
    New UNIX password: [パスワードを入力]
    Retype new UNIX password: [上で入力したパスワードを再度入力]
    passwd: all authentication tokens updated successfully.
    上記はwheelグループにnanasiというユーザーを追加して、パスワードを設定している。
  5. 追加したユーザーnanasiがsudoできるようにする。
    sudoはroot権限でいろいろコマンドを実行するときに使用する。
    # visudo
    エディタが立ち上がるので、以下の様に編集。
    # 指定したユーザを sudo できるようにする
    nanasi ALL=(ALL) ALL
    # グループ単位で sudo できるようにする
    %wheel ALL=(ALL) ALL
    # 指定したユーザがsudoした場合、パスワード要求をスキップする
    nanasi ALL=(ALL) PASSWD: ALL
  6. 一旦ログアウト
    # logout
  7. nanasiでログインできるか確認
    login as:nanasi
    nanasi@127.0.0.1's password:[パスワード入力]
  8. SSHログイン制限をかける
    設定に失敗するとログインできなくなる可能性があるので慎重に
    $ sudo vi /etc/ssh/sshd_config
    PermitRootLogin no
    PermitEmptyPasswords no
    AllowUsers nanasi
    PermitRootLogin norootユーザーのログインを禁止する
    PermitEmptyPasswords no空のパスワードを禁止する
    AllowUsers nanasinanasiユーザーのみログイン可能にする
    sshd をリブート
    $ /etc/init.d/sshd restart
  9. OSなど、インストール済みパッケージの更新
    $ sudo yum update
    途中↓な確認が出るので、yを入力
    Total download size: 149 M
    Is this ok [y/N]: y
    しばらく待つ…
    Complete!
    と出て終了。
    OSのバージョンを確認、update前は5.4だったが...
    $ cat /etc/redhat-release
    CentOS release 5.8 (Final)
    無事に更新できてるぽい。
  10. 便利なエイリアスを設定しておく
    エイリアスの設定
  11. viの設定
    設定ファイルはホームディレクトリの .vimrc になる。存在しなければ作成
    1. ホームディレクトリに移動して
      $ cd $home
    2. ファイルを作成して
      $ touch .vimrc
    3. パーミッションの設定
      $ chmod 600 .vimrc
    4. viを立ち上げて。
      $ vi .vimrc
    5. 以下を追記(既に存在する場合は上書き)
      # タブ幅を4にする(デフォルトは8)
      set tabstop=4
      # オートインデントを有効にする
      set autoindent
  12. 文字コードを日本語に変更
    今後svnやredmineなどで問題が出るらしいので、日本語にしておく。
    $ sudo vi /etc/sysconfig/i18n
    LANG="ja_JP.UTF-8"
    SYSFONT="latarcyrheb-sun16"
    $ date
    2013年  3月 17日 日曜日 04:18:43 JST
    で日時表示して、日本語になっていることを確認する。
    うまくいかない場合は↓のパターンも
    LANG="ja_JP.UTF-8"
    LC_ALL="ja_JP.UTF-8"
    LINGUAS="ja en"
    一応、ロケールを確認。以下のようになっていれば問題ない。
    $ locale
    LANG=jp_JP.UTF-8
    LC_CTYPE="ja_JP.UTF-8"
    LC_NUMERIC="ja_JP.UTF-8"
    LC_TIME="ja_JP.UTF-8"
    LC_COLLATE="ja_JP.UTF-8"
    LC_MONETARY="ja_JP.UTF-8"
    LC_MESSAGES="ja_JP.UTF-8"
    LC_PAPER="ja_JP.UTF-8"
    LC_NAME="ja_JP.UTF-8"
    LC_ADDRESS="ja_JP.UTF-8"
    LC_TELEPHONE="ja_JP.UTF-8"
    LC_MEASUREMENT="ja_JP.UTF-8"
    LC_IDENTIFICATION="ja_JP.UTF-8"
    LC_ALL=
    (「うまくいかないパターン」の方で設定した場合はLC_ALLもja_JP.UTF-8になっている)
  13. 独自ドメインを使用する
    筆者はValueDomainを使用しているため、ValueDomainのDNS設定で。
    ホスト名ターゲットタイプMX設定
    *127.0.0.1(契約IPアドレス)A10
    のように設定する。場合によっては反映に30分くらいかかる?
    とりあえずこれでhttp://[ドメイン名]/の形でアクセスできる様になる。
  14. LAMP環境をインストールする
    L(Linux)A(Apache)M(Mysql)P(Php|Perl|Python)の頭文字を取った、サーバーの基本的な環境の事をLAMP環境と言うらしい。
    とりあえずこの環境を整える。
    1. Apache
      これは ServersMan@VPS の場合デフォルトでインストールされているが、一応。
      $ sudo yum -y install httpd
    2. MySQL
      $ sudo yum -y install mysql-server
    3. PHP
      PHPの他に、PHPからMySQLに接続するために必要なphp-mysqlというパッケージもインストールしておく。
      $ sudo yum -y install php php-mysql
  15. Subversionパッケージをインストール
    $ sudo yum -y install subversion mod_dav_svn
    subversionとmod_dav_svnをインストールする。
    mod_dav_svnはapache上でsubversionを動かすのに必要らしい。
    ずらずらーっといろいろログが流れて、
    Complete!
    と出れば成功。
    以下のコマンドで、svnがちゃんと動くか&バージョンを確認しておく。
    $ svn --version
    svn, バージョン 1.6.11 (r934486)
       コンパイル日時: Jun  8 2011, 16:21:54
    
    Copyright (C) 2000-2009 CollabNet.
    Subversion is open source software, see http://subversion.tigris.org/
    This product includes software developed by CollabNet (http://www.Collab.Net/).
    
    以下のリポジトリアクセス (RA) モジュールが利用できます:
    
    * ra_neon : Neon を利用して WebDAV (DeltaV) プロトコルでリポジトリにアクセスするモジュール。
      - 'http' スキームを操作します
      - 'https' スキームを操作します
    * ra_svn : svn ネットワークプロトコルを使ってリポジトリにアクセスするモジュール。
      - Cyrus SASL 認証を併用
      - 'svn' スキームを操作します
    * ra_local : ローカルディスク上のリポジトリにアクセスするモジュール。
      - 'file' スキームを操作します
  16. http経由でSubversionを扱えるようにする
    ここでは /var/svn にSubversionフォルダを設定することにする。
    とりあえすrootになる。
    $ su -
    var/svnフォルダを作成。
    # mkdir /var/svn
    フォルダのオーナーをapache、グループもapacheにする。-Rは再帰オプション。
    # chown -R apache:apache /var/svn
    新規リポジトリを作成。ここではテスト用にtestreposという名前のリポジトリを作成する。
    # svnadmin create /var/svn/testrepos
    リポジトリにtrunk,tags,branchesの基本フォルダを作成、追加する。
    # svn mkdir file:///var/svn/testrepos/trunk file:///var/svn/testrepos/tags file:///var/svn/testrepos/branches -m "init repository."
    Basic認証用のファイルを生成して、nanasiユーザーを追加する
    # htpasswd -c /var/svn/.htpasswd nanasi
    New password:[パスワードを入力]
    Re-type new password:[再度パスワードを入力]
    Adding password for user guest
    subversion.confを編集する。
    # vi /etc/httpd/conf.d/subversion.conf
    <Location /svn>
       DAV svn
       SVNParentPath /var/svn
    
       # Limit write permission to list of valid users.
       <LimitExcept GET PROPFIND OPTIONS REPORT>
          # Require SSL connection for password protection.
          # SSLRequireSSL
    
          AuthType Basic
          AuthName "Authorization Realm"
          AuthUserFile /var/svn/.htpasswd
          Require valid-user
       </LimitExcept>
    </Location>
    apacheを再起動
    # /etc/init.d/httpd restart
    ブラウザでリポジトリを確認してみる
    http://[サーバーのアドレス]/svn/testrepos
  17. MySQLの設定、起動
    yumでMySQLをインストールする。上記手順を踏んでいれば既にインストールされてるはず。
  18. (MySQL)デーモンが登録されているかをチェック
    # chkconfig --list | grep mysql                           
    mysqld          0:off   1:off   2:off   3:off   4:off   5:off   6:off
    全部offになっていれば起動されていない。
    この状態でmysqlにアクセスしようとすると、↓のようなエラーが出る。
    # mysqlshow
    mysqlshow: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'(2)
    事項からMySQLの設定、起動を行う。
  19. (MySQL)文字コードをutf8に変更
    MySQLの設定ファイルを開いてから
    # vi /etc/my.cnf
    以下の2行を追加する
    # 文字コードをutf8にする
    character-set-server=utf8
    default-character-set=utf8
  20. (MySQL)システムデータベースの作成
    インストール後に一度だけ、システムデータベースの作成を行う必要がある。
    これを実行するだけ。
    # mysql_install_db
  21. (MySQL)データベースサーバーを起動する
    # /etc/rc.d/init.d/mysqld start
    MySQL を起動中:                                            [  OK  ]
  22. (MySQL)自動起動の設定
    自動起動を設定。
    # chkconfig mysqld on
    ちゃんと設定されたか確認。
    # chkconfig --list mysqld
    mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off
  23. (MySQL)データベースサーバーに接続してパスワードの設定など
    まだパスワード未設定のrootで接続
    # mysql -u root
    rootのパスワードを設定
    mysql> set password for root@localhost=password('**********');
    Query OK, 0 rows affected (0.00 sec)
    • 匿名アカウントを削除する。
      MySQLのユーザー情報は「mysql」というデータベースで管理されています。
      そのmysqlデータベースを操作することで、匿名アカウントの削除を行います。
      mysqlデータベースを使うことを宣言
      mysql> use mysql
      Reading table information for completion of table and column names
      You can turn off this feature to get a quicker startup with -A
      
      Database changed
      匿名アカウントの削除を実行
      mysql> delete from user where user='';
      Query OK, 2 rows affected (0.00 sec)
      データベース内の情報を見てみる
      mysql> select host, user, password from user;
      +-----------------+------+-------------------------------------------+
      | host            | user | password                                  |
      +-----------------+------+-------------------------------------------+
      | localhost       | root | ***************************************** |
      | ********.com    | root |                                           |
      | 127.0.0.1       | root |                                           |
      +-----------------+------+-------------------------------------------+
      3 rows in set (0.00 sec)
  24. (MySQL)データベースサーバーから切断する
    mysql> exit
  25. (MySQL)データベースの状况を確認してみる
    # mysqlshow -u root -p                                    
    Enter password:***************
    +--------------------+                                                          
    |     Databases      |                                                          
    +--------------------+                                                          
    | information_schema |                                                          
    | mysql              |                                                          
    | test               |                                                          
    +--------------------+                              
  26. node.jsのインストール
    複数のnode.jsのバージョン管理ができるnvm(Node Version Manager)を導入する方法もありますが、若干手順がややこしそうだったので、 http://nodejs.tchol.org/ に掲載されている簡単な方法でインストールします。
    1. rpmをダウンロードしてインストール
      # wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm
      # yum localinstall --nogpgcheck nodejs-stable-release.noarch.rpm
    2. ちゃんとローカルインストールできたかどうかリポジトリを確認する
      # less /etc/yum.repos.d/nodejs-stable.repo
    3. ダウンロードしたrpmはもう必要無いので削除
      # rm nodejs-stable-release.noarch.rpm
    4. インストール実行
      # yum install nodejs-compat-symlinks npm
    5. インストールが成功してるか確認
      # node -v
      v0.6.15
      だいじょうぶぽい。
  27. yumメモ
    1. yumは「Yellowdog Updater Modified」の略らしい。
    2. リポジトリは /etc/yum.repos.d/ に .repo ファイルで格納される。
    3. repo の enabled を 0 にすれば、yum update に含まれない。
    4. enabled=0 のリポジトリを有効にする場合は
      yum --enablerepo=utterramblings update php
      こんな感じで、--enablerepo=リポジトリ名 を指定する
    5. rpmのGPGキーは /etc/pki/rpm-gpg/ にインストールされる

TIPS Edit

  • yumのキャッシュをクリア
    $ sudo yum clean all
    yumを長い間使っていると、yumが使用しているキャッシュがHDDを圧迫してくるので、上記コマンドでキャッシュをクリアする。
    特にキャッシュをクリアするデメリットはない模様。
    キャッシュが使用している容量は
    $ du -h /var/cache/yum/
    で確認できる。
    キャッシュが溜まっているとyum update がうまく効かなくなってしまう場合もあるようなので、たまに実行すること。
  • visudoが効かない?
    $ sudo visudo
    sudo: visudo: command not found
    という感じでvisudoできない場合、
    $ su -
    でrootになってから、visudoする。
    『-』は、rootの環境を使用するという意味。
    例えば root ユーザーには デフォルト で "/usr/sbin/" が "PATH" 環境変数として与えられているが、一般ユーザーには "/usr/sbin/" が含まれていない。
    従って su で "root" に変更した場合は "/usr/sbin/" 以下にある コマンド を実行したい場合は必ず パス 名付きで実行しなければならない。
    なので、suする場合は基本
    $ su -
    を使うのが良い。
  • インストール済みパッケージ及びそのバージョンの確認方法
    $ rpm -qa
    で全パッケージ確認
    $ rpm -qa | grep -i [確認したいパッケージの一部文字列]
    で、指定した文字列を含むパッケージを確認。
    $ rpm -qa | grep -i sql
    python-sqlite-1.1.7-1.2.1
    sqlite-3.3.6-5
    postgresql-libs-8.1.23-1.el5_7.3
    これでもOK
    $ rpm -qa *sql*
  • OSのバージョン確認
    $ cat /etc/redhat-release
  • ディスクの使用容量確認
    $ df -h
  • 使用メモリ確認
    $ free -m
  • 実行中のプロセス確認
    $ ps ax
  • Ajuxtermの日本語文字化け対処方法
    日本語にはできないので、一時的に英語にしてしまう
    $ LC_ALL=C
    もしくは
    $ LANG=C
  • エイリアス
  • SSLの設定

リロード   新規 編集 凍結 差分 添付 複製 名前変更   ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2014-02-09 (日) 19:56:11 (1230d)