さくらのVPSの初期設定メモ

  • さくらVPSの契約
  • 表示を日本語化
  • 作業用ユーザーの作成
  • SSHの設定
  • 作業用ユーザーを sudo できるようにする
  • 鍵認証の作成と保存
  • SSHログイン方法を鍵認証に変更
  • iptables(ファイアウォール)の設定
  • PHPのインストール
  • Apache(httpd)のインストール
  • Apacheの設定
  • Mysqlのインストール
  • phpMyAdminのインストール
  • FTP接続できるようにする(vsftpd)
  • バーチャルホストの設定
  • バリュードメインで取得したドメインをさくらのVPSに設定
  • ベーシック認証の設定
目次

さくらVPSの契約

vps.sakura.ad.jp/flow.html#2

2週間お試しはクレジットカードのみ。
お試し期間中は機能制限がある。

→お試し期間中の制限と本登録について
vps.sakura.ad.jp/flow.html

契約後にメールで管理用ユーザー情報が送られてくる。

メール件名:[さくらのVPS] 仮登録完了のお知らせ
------------------------------------------------
  [サーバ基本情報]
   IPアドレス:***.***.**.***

  [管理用ユーザ]
   ユーザ名      :root (※)
   初期パスワード:**********
------------------------------------------------

Cent OS バージョン確認

cat /etc/redhat-release

yum updateの実行

yum update

表示を日本語化

設定ファイルを開く

vim /etc/sysconfig/i18n

下記に変更

LANG="C"
SYSFONT="latarcyrheb-sun16"
↓↓↓↓
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"

その後、再起動を行う。


作業用ユーザーの作成

複数人で作業したいため、グループを先に作成

groupadd GROUP_NAME

ユーザーの作成

useradd -g GROUP_NAME USER_NAME

作成したユーザーのパスワードを設定

passwd USER_NAME

ユーザー一覧

cut -d: -f1 /etc/passwd

SSHの設定

vim /etc/ssh/sshd_config

ポート番号の変更

#Port 22
↓↓↓
Port 2468

SSH接続でrootでログインを禁止

#PermitRootLogin yes
↓↓↓
PermitRootLogin no

SSH許可ユーザーの設定

# hoge というユーザだけログインを許可する
AllowUsers hoge

wqで保存して再起動

/etc/init.d/sshd restart

作業用ユーザーを sudo できるようにする

参考サイト

設定ファイルを開く

visudo

sudo できるユーザー、またはグループを追記

%GROUP_NAME        ALL=(ALL)      NOPASSWD: ALL

鍵認証の作成と保存

秘密鍵・公開鍵の作成

teraterm の メニューから、

設定 → SSH鍵生成 → 生成(RSA・2048bit) → 任意のパスフレーズ入力 → 公開鍵と秘密鍵をローカルに保存

鍵認証用の保存場所として、ユーザーのホームディレクトリの直下にフォルダを作成

mkdir /home/USER_NAME/.ssh

パーミッションは700に設定

chmod 700 /home/USER_NAME/.ssh

公開鍵の設定ファイルを作成(USER_NAMEはユーザー名)

authorized_keysファイルを作成し、ローカルに保存した公開鍵の内容をコピペする。

vim /home/USER_NAME/.ssh/authorized_keys

authorized_keysのパーミッションは600に設定(USER_NAMEはユーザー名)

chmod 600 /home/USER_NAME/.ssh/authorized_keys

SSHのログイン方法を鍵認証に変更

SSH設定ファイルを開く

vim /etc/ssh/sshd_config

鍵認証を使うように変更

#RSAAuthentication yes 
#PubkeyAuthentication yes 
#AuthorizedKeysFile     .ssh/authorized_keys
↓↓↓↓↓
RSAAuthentication yes 
PubkeyAuthentication yes 
AuthorizedKeysFile     .ssh/authorized_keys

パスワード認証ログインを無効に変更
※鍵認証でログインできた後に変更する

#PasswordAuthentication yes
↓↓↓↓↓
PasswordAuthentication no

SSHを再起動

service sshd restart

うまくログインできない場合
ディレクトリ・ファイルのパーミッションをよく確認する。
ユーザーのホームディレクトリは、自分以外に書き込み権限を与えてはいけない。(777や775の場合は755に変更)

chmod 755 /home/USER_DIR/

iptables(ファイアウォール)の設定

設定ファイルを開く

vim /etc/sysconfig/iptables

→ポート番号は適宜変更
→COMMIT以降に改行やスペースを入れてはいけない。
→無駄なスペースが入っているとエラーになる場合がある(ここらへんのルールが分からない)

*filter
:INPUT   ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT  ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]

-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SSH, HTTP, FTP1, FTP2, MySQL
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2468  -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80    -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20    -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21    -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306  -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT

iptables再起動

/etc/init.d/iptables restart

PHPのインストール

yum -y install php php-cli php-fpm php-devel php-gd php-mbstring php-mysql php-pdo php-pear php-xml php-imap php-pecl php-mcrypt php-common

タイムゾーンの設定

php.iniを開く

vim /etc/php.ini

下記に設定

date.timezone = "Asia/Tokyo"

Apache(httpd)のインストール

Apacheをyumでインストール

yum -y install httpd

Apacheを起動

/etc/rc.d/init.d/httpd start

自動起動設定をONに設定

/sbin/chkconfig httpd on

Apacheの設定

参考

Apache設定ファイルを開く

vim /etc/httpd/conf

Webサーバーにアクセスしたクライアントに返す情報を最小限にする
(OS情報等を返すと攻撃者にヒントを与えてしまうため)

ServerTokens OS
↓↓↓↓
ServerTokens Prod

404等のエラーページに表示されるサーバー情報を非表示に変更
(ServerTokensと同様の理由)

ServerSignature On
↓↓↓↓
ServerSignature Off

Mysqlのインストール

Mysqlをyumでインストール

yum -y install mysql-server

Mysqlを起動

service mysqld start

自動起動設定

chkconfig mysqld on

再起動

service mysqld restart

設定されたか確認

chkconfig --list mysqld

2~5までがonになっていればOK

phpMyAdminのインストール

yumでインストール

yum install phpmyadmin

※設定を変更したら、httpdを再起動して反映。

service httpd restart

yumに入っていない場合、remiでインスト
qiita.com/kidachi_/items/40f862181050b78b9cc7

ブラウザからアクセスできるように変更

設定ファイルを開く

vim /etc/httpd/conf.d/phpMyAdmin.conf

下記のように変更

   
     # Apache 2.2
     #Order Deny,Allow ←コメントアウト
     #Deny from All ←コメントアウト
     #Allow from 127.0.0.1 ←コメントアウト
     #Allow from ::1 ←コメントアウト
     Order allow,deny ←追加
     Allow from all ←追加

認証方法をベーシック認証からCookie認証に変更

設定ファイルを開く

vim /etc/phpMyAdmin/config.inc.php

パスフレーズを入力(適当な乱数)

$cfg['blowfish_secret'] = 'abcdefghijasklmnopqrssssdtuvwxyz0123456789';

auth_typeをhttpからcookieに変更

$cfg['Servers'][$i]['auth_type']     = 'cookie';

phpMyadminのURLを変更

設定ファイルを開く

vim /etc/httpd/conf.d/phpMyAdmin.conf

下記にように変更

#Alias /phpMyAdmin /usr/share/phpMyAdmin ←コメントアウト
#Alias /phpmyadmin /usr/share/phpMyAdmin ←コメントアウト
Alias /XXX-pma /usr/share/phpMyAdmin //←任意のURLを設定

hogehoge.jp/XXX-pma/でphpMyAdminにアクセスできる。


FTP接続できるようにする(vsftpd)

vsftpdをyumからインストール

yum -y install vsftpd

vsftpdを起動する

/etc/rc.d/init.d/vsftpd start

設定方法は下記のサイトが分かりやすい
pro-grammer.info/archives/902


バーチャルホストの設定

設定ファイルを作成

vim /etc/httpd/conf.d/vhost.conf

下記を適宜変更して記述する。
XXXXXの部分を取得したドメインに変更

NameVirtualHost *:80


DocumentRoot /var/www/html/
ServerName XXXXX.info
ServerAlias www.XXXXX.info

AllowOverride All


Apacheを再起動

/etc/rc.d/init.d/httpd restart

バリュードメインで取得したドメインをさくらのVPSに設定

DNS設定
xxx.xxx.xx.xxxはVPSのIPアドレス

a @ xxx.xxx.xx.xxx
cname www @

ネームサーバー変更

ns1.value-domain.com
ns2.value-domain.com
ns3.value-domain.com
ns4.value-domain.com
ns5.value-domain.com

ベーシック認証の設定

httpd.conf または.htaccessに記述


    AuthType Basic
    AuthName "ID and password"
    AuthUserFile /etc/httpd/conf/.htpasswd
    Require valid-user

htpasswdの作成

.htpasswdの内容

/etc/httpd/conf/.htpasswdファイル
USER_NAME:PASSWORD // PASSWORDは暗号化されたもの

.htpasswd をコマンドで作成

htpasswd -c .htpasswd USER_NAME

ユーザの追加(オプションの c が不要)

htpasswd .htpasswd USER_NAME

ユーザーの削除

htpasswd -D .htpasswd USER_NAME

特定のディレクトリを除外

// httpd.confファイル または.htaccess

    satisfy any

よかったらシェアしてね!

この記事を書いた人

目次
閉じる