自社で放置されていたさくらvpsのOS再インストールに以外と手こずったので備忘録としてメモ
OSインストールの『標準OSインストール』からOSの再インストール
ここは公式OS再インストールを参考に
参考にした記事
さくらVPSでサーバー借りてCentOS 6をインストールして初期設定からRedmineを導入するまでメモ
さくらVPSの初期設定とCentOSによるWEBサーバー環境構築まとめ
構築する環境
- CentOS 6.7
- Apache 2.2.15
- MySQL 5.1.73
- PHP 5.6.21
CentOSの設定
接続
ssh root@IPアドレス
※OSの再インストールをしまくるとこれが出てくる
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
~省略
初接続の方は無視して下さい
対処法
ssh-keygen -R IPアドレス
すると接続できる
Linuxのバージョン確認
cat /etc/redhat-release
サーバーを最新に
yum update
CentOSの日本語化
vim /etc/sysconfig/i18n
vimが立ち上がるので、
LANG="ja_JP.UTF-8”
に変更
作業ユーザーの作成
useradd ユーザー名
passwd ユーザー名
作業ユーザーの追加
usermod -G wheel ユーザー名
作業ユーザをグループに追加
visudo
vi(エディタ)が立ち上がるので、
/wheelと打ち検索、nで以下の行を探して変更する
## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
↓
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
保存して、閉じる
一旦ログアウトして、
ssh ユーザー名@IPアドレス
パスワードが求められるので、先程登録したパスワードでログイン出来ればOK
sshの設定
パスワード認証方式だとセキュリティ上良くないので、SSHでの認証設定を行います。
自分のPCに公開鍵と秘密鍵がある前提で進めます。
まだの方はGit サーバー - SSH 公開鍵の作成から
新しくターミナルを立ち上げ、
mkdir ~/.ssh
chmod 755 ~/.ssh
自分のPCからサーバーに公開鍵を転送
scp ~/.ssh/id_rsa.pub ユーザー名@IPアドレス:~/.ssh/authorized_keys
パスワードが求められるので入力
id_rsa.pub 100% 406 0.4KB/s 00:00
と出れば成功
再度サーバーにsshでログインしましょう。
パスワードを聞かれずに接続できたらOKです。
僕の場合は何度もOSを再インストールした為、またもやこれがでてきた
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
~省略
先程の
ssh-keygen -R IPアドレス
で解決出来ず、参考にしたサイトがこちら
SSHサーバーが変わったら
どうやらSSHサーバーの公開鍵の指紋(finger print)が原因だったみたい
ポート、ssh接続設定の変更
sshでの接続は出来ましたがこのままだとデフォルトの22番ポートのままです。これまたセキュリティ的に良くないので変えましょう。
ポート番号を1024~65535の間の数字で変更します。
これは外部からポートのフルスキャンをされた時に時間稼ぎ&攻撃する相手の意欲をそぐ為に重要な設定になります。
続けてrootでのログイン、パスワード認証も禁止にしましょう。
下記コマンドを実行
sudo vim /etc/ssh/sshd_config
設定ファイルが立ち上がるので、/
で検索をかけ、変更していきます。
#Port 22
↓
Port 好きな数字 //コメントを外し、1024~65535の好きな数字に変更
#PermitRootLogin yes
↓
PermitRootLogin no //コメントを外し、yesをnoに変更(rootでのログイン禁止)
#RSAAuthentication yes
↓
RSAAuthentication yes //コメントを外す(鍵認証を有効化)
#PubkeyAuthentication yes
↓
PubkeyAuthentication yes //コメントを外す(公開鍵での認証を有効化)
#AuthorizedKeysFile .ssh/authorized_keys
↓
AuthorizedKeysFile .ssh/authorized_keys //コメントを外す(公開鍵のパスを設定)
PasswordAuthentication yes
↓
PasswordAuthentication no //yesをnoに変更(パスワード認証の禁止)
保存し、sshの再起動
sudo service sshd restart
そうして[OK]
が出れば成功です。
再度 exit
でログアウトし、ポートを指定してログイン
ssh ユーザー名@IPアドレス -p ポート番号
ファイアーウォールの設定
iptablesを作成
sudo vim /etc/sysconfig/iptables
以下の設定を記述
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:SERVICES - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 4 -j ACCEPT
-A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -j SERVICES
-A INPUT -p udp --sport 53 -j ACCEPT
-A INPUT -p udp --sport 123 --dport 123 -j ACCEPT
-A SERVICES -p tcp --dport 指定したポート番号 -j ACCEPT
-A SERVICES -p tcp --dport 80 -j ACCEPT
-A SERVICES -p tcp --dport 443 -j ACCEPT
COMMIT
設定を反映
sudo service iptables start
LAMP環境の構築
ここからLAMP環境の構築をやっていきます。
root権限での作業がメインなので、権限を切り替えましょう。
sudo -s
パスワードを求められるので入力
すると
[ユーザー@xxxxxx ~]$
↓
[root@xxxxxx ユーザー]#
になります。
#
になったらroot権限中です。
WEBサーバのインストール
Appacheのインストール
# yum -y install httpd
サーバーが常に自動起動になるように設定
chkconfig httpd on
httpd.confの変更
設定ファイルをいじる前にバックアップ
# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
設定ファイルを開く
# vim /etc/httpd/conf/httpd.conf
以下を変更
ServerTokens OS
↓
ServerTokens Prod
ServerSignature On
↓
ServerSignature Off
Options Indexes FollowSymLinks
↓
Options -Indexes FollowSymLinks
変更した設定をテスト
service httpd configtest
Syntax OK
であれば問題なし
サーバーの起動
service httpd start
ブラウザでIPアドレスをたたいてテストページが表示されれば成功。
PHPのインストール
今回はPHP5.6をインストールします。
こちらのサイトをありがたく参考にしました。
CentOS6.7にPHP5.6をインストール
centos6.6にPHP5.6をインストール
epelリポジトリの追加
yum install epel-release
Remiリポジトリの追加
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
PHP5.6のインストール
yum --enablerepo=remi-php56 install php
php -v
でバージョン確認
PHP 5.6.21 (cli) (built: Apr 28 2016 07:47:46)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
php.iniの変更
まずはバックアップ
cp /etc/php.ini /etc/php.ini.org
php.iniを開く
vim /etc/php.ini
以下を検索して変更
;error_logs = php_erros.log
↓
error_logs = /var/log/php_errors.log
;mbstring.language = Japanese
↓
mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP
↓
mbstring.internal_encoding = UTF-8
;mbstring.http_input = auto
↓
mbstring.http_input = auto
;mbstring.detect_order = auto
↓
mbstring.detect_order = auto
expose_php = on
↓
expose_php = off
;date.timezone =
↓
date.timezone = Asia/Tokyo
設定を有効にする
# service httpd restart
MySQLのインストール
# yum install mysql-server
なにか聞かれたらy
で進む
my.cnfの変更
まずはバックアップ
# cp /etc/my.cnf /etc/my.cnf.org
設定ファイルを開く
# vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character_set_server=utf8
default-storage-engine=InnoDB
innodb_file_per_table
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
こちらはドットインストールを参照
mysqlを起動
# service mysqld start
rootのパスワード設定と初期設定
# mysql_secure_installation
- rootのパスワードを聞かれる -> 未設定なので空白のままEnter
- rootのパスワードを設定するか -> Y と入力してEnter
- rootのパスワード入力(2回)
- anonymousユーザを削除するか -> Y と入力してEnter
- リモートからのrootログインを禁止するか -> Y と入力してEnter
- テスト用の’test’データベースを削除するか -> Y と入力してEnter
- 設定を反映するか -> Y と入力してEnter
終わったら動作確認
パスワードを聞かれるので先程設定したパスワードでログイン
$ mysql -u root -p
まとめ
一度自分のさくらvpsを構築したことがあったが大分時が経ってて全然忘れてた。
意外と時間がかかってしまったが色々な記事を参考にしながら再構築しました。
OSの再インストールのし過ぎで大分ハマったが、散々再インストールしまくったのでもう怖くない。
次は自分の放置してたvpsを再構築しよう