CentOS 6.x の設定です。
SSH接続クライアントは「Tera Term」を使います。
インスタンスの作成
KagoyaVPSのコントロールパネルから CentOS6でインスタンスを作成します。
インスタンスを作成する時に「ログイン用認証キー追加」を行っておきます。キーの追加についてはKagoyaのマニュアルページに記載されています。
ログイン用認証キー設定
TeraTermでのSSH接続
Tera Term で ホスト(IPアドレス) とポート「22」を指定して接続します。
「SSH認証」のダイアログが表示されるので、ユーザー名に「root」を入力します。
パスフレーズは空欄のままでOKです。
その下に「RSA/DSA/ECDSA/ED25519鍵を使う」という表示があり、その横に「秘密鍵」というボタンがあります。上記のKagoyaのログイン用認証キー設定ページに記載されている内容でダウンロードした「.key」の拡張子ファイルを選択します。
これでSSHでサーバーにログインできます。
ルートのパスワードの設定
# passwd root
ルートのパスワードを設定します。
ユーザーの作成
# useradd new-user
# passwd new-user
# su - ユーザー名
でユーザーでログインします。
TeraTermで公開鍵の作成
メニューの設定からSSH鍵生成を選択
鍵の種類は「RSA」、ビット数は2048を選択(デフォルトのまま)
鍵のパスフレーズを入力
「公開鍵の保存」「秘密鍵の保存」の両方を押して2つのファイルをPCに保存。
公開鍵をサーバーに設置
一度ログアウトして、TeraTerm でユーザー名とパスワードを入力してログインします。(ここは鍵認証ではなく、パスワード認証になります)
TeraTermの黒い画面に、「id_rsa.pub」をドラッグ&ドロップします。
ダイアログ真ん中の「SCP」ボタンを押します。(lsコマンドで確認すると id_rsa.pub ファイルが見つかります)
公開鍵ファイルを移動します。
# mkdir .ssh # chmod 700 .ssh # mv id_rsa.pub .ssh/authorized_keys
公開鍵を使ってログイン
TeraTermでユーザー名・パスフレーズを入力し、RSA/DSA鍵を使うを選択し、「秘密鍵」を選択します。
これで「OK」を押して接続できれば完了です。
SSH接続のポートを変えたり、ルートで接続できないようにしたりするのはこの時点ではまだやらない。iptablesを設定しないでSSHポート番号を変更すると接続できなくなります。CentOS5のときは 「iptables -F」 でiptablesを無効化してポート番号を変更していましたが、CentOS6だとこのやりかただとうまく行きませんでした。
iptablesの設定
iptablesがインストールされているか確認
# which iptables /sbin/iptables
/sbin/iptablesのように表示された場合はインストールされています。
インストールされていない場合は yum でインストール。
# yum install iptables
iptablesの設定
iptablesの設定はサーバの利用用途によって違うので割愛。
(個人的メモ:別サーバーに設定されているiptablesをコピーして利用)
iptablesを編集
# vi /etc/sysconfig/iptables
iptablesの確認
[起動状態の確認]
# chkconfig iptables --list
[起動状態になっていない場合]
# chkconfig iptables on
[内容の確認]
# iptables -nL
iptablesの再起動
# /etc/init.d/iptables restart
SSHポートを変更
sshd_configを編集します。
・ポート番号を変更
・ListenAdressの有効化
・ルートでのログイン禁止
・パスワードのみでのログインを禁止
# vi /etc/ssh/sshd_config # Port22 //コメントを外し、任意のポート番号を指定 # ListenAddres 0.0.0.0 //コメントを外す PermitRootLogin no //noに変更する(ルートでログインできないように) PasswordAuthentication no //noに設定 # /etc/rc.d/init.d/sshd restart //再起動
FTPサーバーの設定
vsftpdというFTPサーバーをインストールします。
# yum -y install vsftpd
詳しい設定方法はこちらをどうぞ。
[Linux] FTPサーバー vsftpd の設定
MySQLの設定
初期のルートパスワードがわからなかったのでセーフモードにしてルートパスワードを設定
[MySQLの停止] # service mysqld stop [セーフモードで起動] # mysqld_safe --skip-grant-tables & [セーフモードでルートでログイン] # mysql -u root [パスワードの設定] #use mysql; #update user set password=PASSWORD("任意のパスワードを入力") where User='root'; #flush privileges; #quit [一時停止・起動] # service mysqld stop # service mysqld start [設定したパスワードでログイン] # mysql -u root -p Enter password:
Apachの設定
バーチャルホストなどを設定
php.iniの設定
ファイルのアップロード数、アップロードするファイルのサイズなどをphp.iniで変更。