Help us understand the problem. What is going on with this article?

さくらvpsにCentoOSをインストールして初期設定からLAMP環境構築まとめ

More than 3 years have passed since last update.

自社で放置されていたさくら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
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
  1. rootのパスワードを聞かれる -> 未設定なので空白のままEnter
  2. rootのパスワードを設定するか -> Y と入力してEnter
  3. rootのパスワード入力(2回)
  4. anonymousユーザを削除するか -> Y と入力してEnter
  5. リモートからのrootログインを禁止するか -> Y と入力してEnter
  6. テスト用の’test’データベースを削除するか -> Y と入力してEnter
  7. 設定を反映するか -> Y と入力してEnter

終わったら動作確認
パスワードを聞かれるので先程設定したパスワードでログイン

$ mysql -u root -p

まとめ

一度自分のさくらvpsを構築したことがあったが大分時が経ってて全然忘れてた。
意外と時間がかかってしまったが色々な記事を参考にしながら再構築しました。
OSの再インストールのし過ぎで大分ハマったが、散々再インストールしまくったのでもう怖くない。
次は自分の放置してたvpsを再構築しよう

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした