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
番外編 ドメインを割り当てる
- ドメインを取得する
- お名前.comなどでドメインを取得します。
- お名前.comなどでDNSの設定を行います。ドメインと自分のサーバのIPアドレスをひもづける
- 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