Top > サーバー > ServersMan@VPS

#contents
#setlinebreak(on)


*ServersMan@VPSの環境 [#tc441e81]
ServersMan@VPS
CentOS(32bit)
シンプルセット

*ざっくり設定メモ [#j0fde7c3]
仮に契約したサーバーのIPアドレスは「127.0.0.1」として説明する。
+SSHクライアント(ここではputtyを使用)起動。
+ホスト名『127.0.0.1(契約したIPアドレス)』ポート『3843』
接続タイプはSSHで。ほかはデフォルト。で『開く』。
+rootでログイン
 login as:root
 root@127.0.0.1's password:[パスワード入力]
*パスワード入力中は文字とか出ないので注意
+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というユーザーを追加して、パスワードを設定している。
+追加したユーザーnanasiがsudoできるようにする。
sudoはroot権限でいろいろコマンドを実行するときに使用する。
 # visudo
エディタが立ち上がるので、以下の様に編集。
 # 指定したユーザを sudo できるようにする
 nanasi ALL=(ALL) ALL
 # グループ単位で sudo できるようにする
 %wheel ALL=(ALL) ALL
 # 指定したユーザがsudoした場合、パスワード要求をスキップする
 nanasi ALL=(ALL) PASSWD: ALL
+一旦ログアウト
 # logout
+nanasiでログインできるか確認
 login as:nanasi
 nanasi@127.0.0.1's password:[パスワード入力]
+SSHログイン制限をかける
&color(Red){設定に失敗するとログインできなくなる可能性があるので慎重に};
 $ sudo vi /etc/ssh/sshd_config
 PermitRootLogin no
 PermitEmptyPasswords no
 AllowUsers nanasi
|PermitRootLogin no|rootユーザーのログインを禁止する|
|PermitEmptyPasswords no|空のパスワードを禁止する|
|AllowUsers nanasi|nanasiユーザーのみログイン可能にする|
sshd をリブート
 $ /etc/init.d/sshd restart
+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)
無事に更新できてるぽい。
+便利なエイリアスを設定しておく
[[エイリアスの設定>サーバー/ServersMan@VPS/エイリアス]]
+viの設定
設定ファイルはホームディレクトリの .vimrc になる。存在しなければ作成
++ホームディレクトリに移動して
 $ cd $home
++ファイルを作成して
 $ touch .vimrc
++パーミッションの設定
 $ chmod 600 .vimrc
++viを立ち上げて。
 $ vi .vimrc
++以下を追記(既に存在する場合は上書き)
 # タブ幅を4にする(デフォルトは8)
 set tabstop=4
 # オートインデントを有効にする
 set autoindent
+文字コードを日本語に変更
今後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になっている)
+独自ドメインを使用する
筆者はValueDomainを使用しているため、ValueDomainのDNS設定で。
|ホスト名|ターゲット|タイプ|MX設定|
|*|127.0.0.1(契約IPアドレス)|A|10|
のように設定する。場合によっては反映に30分くらいかかる?
とりあえずこれでhttp://[ドメイン名]/の形でアクセスできる様になる。
+LAMP環境をインストールする
L(Linux)A(Apache)M(Mysql)P(Php|Perl|Python)の頭文字を取った、サーバーの基本的な環境の事をLAMP環境と言うらしい。
とりあえずこの環境を整える。
++Apache
これは ServersMan@VPS の場合デフォルトでインストールされているが、一応。
 $ sudo yum -y install httpd
++MySQL
 $ sudo yum -y install mysql-server
++PHP
PHPの他に、PHPからMySQLに接続するために必要なphp-mysqlというパッケージもインストールしておく。
 $ sudo yum -y install php php-mysql
+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' スキームを操作します
+http経由でSubversionを扱えるようにする
ここでは /var/svn にSubversionフォルダを設定することにする。
とりあえすrootになる。
 $ su -
var/svnフォルダを作成。
 # mkdir /var/svn
フォルダのオーナーをapache、グループもapacheにする。-Rは再帰オプション。
 # chwon -R apache:apache /var/svn
 # 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
+MySQLの設定、起動
yumでMySQLをインストールする。上記手順を踏んでいれば既にインストールされてるはず。
+(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の設定、起動を行う。
+(MySQL)文字コードをutf8に変更
MySQLの設定ファイルを開いてから
 # vi /etc/my.cnf
以下の2行を追加する
 # 文字コードをutf8にする
 character-set-server=utf8
 default-character-set=utf8
+(MySQL)システムデータベースの作成
インストール後に一度だけ、システムデータベースの作成を行う必要がある。
これを実行するだけ。
 # mysql_install_db
+(MySQL)データベースサーバーを起動する
 # /etc/rc.d/init.d/mysqld start
 MySQL を起動中:                                            [  OK  ]
+(MySQL)自動起動の設定
自動起動を設定。
 # chkconfig mysqld on
ちゃんと設定されたか確認。
 # chkconfig --list mysqld
 mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off
+(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)
+(MySQL)データベースサーバーから切断する
 mysql> exit
+(MySQL)データベースの状况を確認してみる
 # mysqlshow -u root -p                                    
 Enter password:***************
 +--------------------+                                                          
 |     Databases      |                                                          
 +--------------------+                                                          
 | information_schema |                                                          
 | mysql              |                                                          
 | test               |                                                          
 +--------------------+                              
+node.jsのインストール
複数のnode.jsのバージョン管理ができるnvm(Node Version Manager)を導入する方法もありますが、若干手順がややこしそうだったので、 http://nodejs.tchol.org/ に掲載されている簡単な方法でインストールします。
++rpmをダウンロードしてインストール
 # wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm
 # yum localinstall --nogpgcheck nodejs-stable-release.noarch.rpm
++ちゃんとローカルインストールできたかどうかリポジトリを確認する
 # less /etc/yum.repos.d/nodejs-stable.repo
++ダウンロードしたrpmはもう必要無いので削除
 # rm nodejs-stable-release.noarch.rpm
++インストール実行
 # yum install nodejs-compat-symlinks npm
++インストールが成功してるか確認
 # node -v
 v0.6.15
だいじょうぶぽい。
+yumメモ
++yumは「Yellowdog Updater Modified」の略らしい。
++リポジトリは /etc/yum.repos.d/ に .repo ファイルで格納される。
++repo の enabled を 0 にすれば、yum update に含まれない。
++enabled=0 のリポジトリを有効にする場合は
 yum --enablerepo=utterramblings update php
こんな感じで、--enablerepo=リポジトリ名 を指定する
++rpmのGPGキーは /etc/pki/rpm-gpg/ にインストールされる
*TIPS [#z00ceecd]
-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の設定>./SSLの設定]]

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS