- 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ログイン制限をかける
設定に失敗するとログインできなくなる可能性があるので慎重に
$ 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)
無事に更新できてるぽい。
- 便利なエイリアスを設定しておく
エイリアスの設定
- 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は再帰オプション。
# 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/ にインストールされる