Edited at

さくらVPSの初期設定まとめ

More than 5 years have passed since last update.


step1. サーバに接続する

予め、さくらVPSの仮登録完了メールで下記3点を確認しておきます。


  • IPアドレス: ...

  • ユーザ名: root

  • 初期パスワード: *****

手元にあるターミナルなどのアプリで接続します。


ssh root@IPアドレス


step2. rootのパスワード変更


passwd


step3. VPSサーバのアプリケーションを全て最新の状態にする


yum update


step4. VPSを日本語化する

下記コマンドで設定ファイルを開く


etc/sysconfig/i18n

下記のように修正し、wqコマンドで設定ファイルを閉じる


修正前: LANG="C"
修正後: LANG="ja_JP.UTF-8"


step5. 作業用ユーザの作成


useradd hoge
passwd hoge
usermod -G wheel hoge


step6. 作業用ユーザにsudo権限を与える


visudo

下記のように修正し、wqコマンドでファイルを閉じる


修正前: # %wheel ALL=(ALL) ALL
修正後: %wheel ALL=(ALL) ALL


step7. suコマンドをグループ内ユーザだけ使えるようにする

下記コマンドで、修正する。


vim /etc/pam.d/su


修正前; #auth required pam_wheel.so use_uid
修正後:auth required pam_wheel.so use_uid


step8. 公開鍵認証の設定を行う。


  • 8-1. ローカルで公開鍵と秘密鍵を作る


cd ~
mkdir .ssh
ssh-keygen


  • 8-2. 公開鍵をサーバに置く


ssh hoge@IPアドレス ← 一旦ターミナルから、先ほどの`hoge`ユーザでサーバに接続する
cd ~
mkdir .ssh
chmod 700 .ssh
vi .ssh/authorized_keys ← ローカルで作ったid_rsa.pubの内容をコピペ
chmod 600 .ssh/authorized_keys


step9. SSHのポート番号を変更する


sudo vi /etc/ssh/sshd_config

13行目の下記を修正
修正前 #Port 22
修正後 #Port 10230 ← 1024~65535の間の数値を指定する

sudo /etc/init.d/sshd restart ← sshを再起動し設定を反映させる


step10. ファイアーウォールの設定を行う


sudo vi /etc/sysconfig/iptables ← 下記のiptablesの設定をコピペ



  • iptablesの設定内容



    *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 10230 -j ACCEPT ← ここの"10230"はstep9で設定したポート番号に書き換える!!!!
    -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




  • 設定反映



    sudo /etc/rc.d/init.d/iptables restart



Step11. WEBサーバとしての設定を行う


  • 11-1. Apacheのインストール


sudo yum -y install httpd


  • 11-2. chkconfigの設定


sudo chkconfig httpd on


  • 11-3. WEBサーバのセキュリティ設定

一応バックアップをとっておく


sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org

設定ファイルの変更


sudo vim /etc/httpd/conf/httpd.conf

修正前: ServerTokens OS
修正後: ServerTokens Prod

修正前: ServerSignature On
修正後: ServerSignature Off

修正前: Options Indexes FollowSymLinks
修正後: Options -Indexes FollowSymLinks

設定の反映


sudo service httpd configtest ← 構文チェック
sudo service httpd start

ブラウザにIPアドレスを入力して、Apacheの画面が出ればOKです。


step12. PHPのインストール

そろそろ終盤です。

動的なWEBサーバにするために、PHPをインストールします。



  • PHPインストール



    yum -y install php php-mbstring php-mysql php-gd



  • 設定ファイルを修正



    vim /etc/php.ini


■ エラーログの吐き出し場所を変更

修正前: ;error_log = php_errors.log

修正後: error_log = /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

修正前: ;expose_php = On

修正後: expose_php = Off


  • 設定反映

    service httpd restart


これでPHPが使えるようになります。


step13. Mysqlのインストール



  • インストール



    yum -y install mysql-server



  • 設定変更



    vi /etc/my.cnf


下記2行追加

default-character-set=utf8

skip-character-set-client-handshake



  • 設定反映



    /etc/rc.d/init.d/mysqld restart



  • 初期設定



    mysql_secure_installation


最初のEnter current password for root(enter for none)では、何も入れずにEnterを押す。

次のSet root password? [Y/n]でYを押す。

その後は、全てEnterでOK


  • Mysqlの自動起動

    /etc/rc.d/init.d/mysqld start



番外編 ドメインを割り当てる


  • ドメインを取得する


  1. お名前.comなどでドメインを取得します。

  2. お名前.comなどでDNSの設定を行います。ドメインと自分のサーバのIPアドレスをひもづける

  3. vhost.confを作成する


  • vhost.confの設定

vi /etc/httpd/conf.d/vhost.conf

設定ファイルを書く

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot ドキュメントルートのパス
ServerName 自分で取得したドメイン名
ServerAlias 自分で取得したドメイン名
<Directory "ドキュメントルートのパス">
AllowOverride All
</Directory>
</VirtualHost>


  • Apacheの再起動

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