カゴヤ・クラウドVPS(CentOS)の初期設定
カゴヤ・クラウドVPSを借りて設定したときの覚書。
環境:CentOS 6 64bit(最小インストール)
参考
目次
- SSHで接続
- ホスト名変更
- ファイヤーウォール設定
- NTP(時刻同期サービス)をインストール
- Subversionをインストール
- nginx, MariaDB, phpMyAdminをインストール
- postfix + DKIM(送信ドメイン認証)をインストール
- vsftpdをインストール
1.SSHで接続
管理画面で「ログイン用認証キーを作成」しないとインスタンスを作成できない。最初から鍵認証を提供してくれるので手間が省けて便利。
秘密鍵をダウンロードして、Tera Termで鍵を指定するだけでログイン可能(パスフレーズなし)。
ログイン後は最新版にしておく。
# yum update
2.ホスト名変更
ホスト名は分かりやすい名前にする。
# vi /etc/sysconfig/network
HOSTNAME="webserver.com
hostsも変更
# /etc/hosts
127.0.0.1 webserver.com localhost localhost.localdomain
::1 webserver.com localhost localhost.localdomain
一応名前解決するときの検索ドメインも変更しておく。
# vi /etc/resolv.conf
search webserver.com
ここで再起動
# reboot
3.ファイヤーウォール設定
system-config-firewall-tuiがない。これを使うためにはmessagebusサービスも動かす必要がある。せっかく最小構成になっているので、iptablesを使って設定する。
まずは今の状態を確認。
# iptables -nvL
HTTP(80), HTTPS(443), FTP(21)を許可。直接設定ファイルに記述した方が簡単
# vi /etc/sysconfig/iptables
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
COMMIT
iptablesを再起動
# /etc/rc.d/init.d/iptables restart
他のサーバーからポートスキャンして試してみる。
# nmap 111.222.333.444
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp closed http
443/tcp closed https
4.NTP(時刻同期サービス)をインストール
時刻同期サービスをインストールして設定。日本のNTPサーバーを追記
# yum install ntp
# vi /etc/ntp.conf
server ntp.nict.jp iburst
再起動して自動起動登録
# /etc/rc.d/init.d/ntpd start
# chkconfig ntpd on
5.Subversionをインストール
YUM経由でインストールする。詳しくは前の記事参照。
インストールスクリプトを実行すると下記エラー
You do not have curl or wget installed. At least one of these is required to install WANdisco Subversion
ツールをインストールする必要があった。
# yum install which
あとは全自動で完了するので簡単。
6.nginx, MariaDB, phpMyAdminをインストール
これも基本前の記事と同じ
nginxの設定。CPUのコア数を設定。
# vi /etc/nginx/nginx.conf
user nginx www;
worker_processes 12;worker_rlimit_nofile 4096;
php-fpmの設定。
# vi /etc/php-fpm.d/www.conf
user = nginx
group = www
MariaDBの設定。後で調整予定。
# vi /etc/my.cnf.d/server.cnf
[server]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
default-storage-engine = InnoDB
thread_handling = pool-of-threads
max_connections = 400
table_open_cache = 10000# Tuning
key_buffer_size = 128MB
sort_buffer_size = 8MB
join_buffer_size = 1MB
read_buffer_size = 1MB
read_rnd_buffer_size = 8MBquery_cache_size = 128M
query_cache_limit = 8M# Profile
slow_query_log=ON
long_query_time=0.5
log_output=TABLE
7.postfix + DKIM(送信ドメイン認証)をインストール
メール送信するための設定。postfixをインストール。
# yum install postfix
# vi /etc/postfix/main.cf
myhostname = webserver.com
mydomain = webserver.com
myorigin = $mydomain
inet_interfaces = localhost
mydestination = localhost.$mydomain, localhost
起動と自動起動登録
# /etc/rc.d/init.d/postfix start
# chkconfig postfix on
DKIMは前の記事を参考に。
SPF(Sender Policy Framework)レコードの設定も忘れずに。
送信テスト。mailコマンドがないのでmailxをインストール。
# yum install mailx
# mail hoge@gmail.com
sendmailにpostfixが使われているか確認
# alternatives --config mta
1 プログラムがあり 'mta' を提供します。
選択 コマンド
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.postfixEnter を押して現在の選択 [+] を保持するか、選択番号を入力します:
8.vsftpdをインストール
ファイルの更新は他の人にお願いするのでFTPを設定する。前の記事を参考に。
# yum install vsftpd
# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
chroot_local_user=YES
chroot_list_enable=YES
空のchroot_listを作成
# touch /etc/vsftpd/chroot_list
FTPユーザー作成してパスワード設定。
# useradd ftpuser
# passwd ftpuser
ログインしたときのデフォルトのディレクトリを変更する
# cd /etc/vsftpd/
# vi vsftpd.conf
#
# Config for each user
#
user_config_dir=/etc/vsftpd/vsftpd_user_conf
各ユーザーごとの設定ファイルを用意する。
# mkdir vsftpd_user_conf
# vi vsftpd_user_conf/ftpuser
local_root=/home/httpd/web
再起動
# /etc/rc.d/init.d/vsftpd restart
あとはFilezillaで接続できることを確認する。
< Related Posts >