お名前.com(KVM)の初期設定
VPSサーバーを契約した後、
http://guide.onamae-server.com/vpskvm/1_11_12_66_1/
の手順を踏んでいきます。
次に、以下の順でセットアップをしていきます。
・Apache
・PHP+PEAR
・MySQL
・vFTP
・一般ユーザー作成
・Bind
・phpMyAdmin
1.初期設定または[OSの再インストール]にてOSを選択。
2.[ディスク構成]について[カスタム]を選択し、単一で200GBにする。
→[確認]→インストール。
3.[Minimal]を選択して次へ進む。
※ソフトについてはどこにもチェックを入れない。
そのまま次へと進んでいく。
4.yumを最新にする。
(これによりほぼ最新のPHP、MySQL等がインストールされる。)
yumのバージョンの確認
yum --version
yum install yum-fastestmirror
yum upgrade
yum update
5.リポジトリ(Fedora EPEL 、remi、RPMForgeの3つ)の追加。
・wgetコマンドをインストール。
yum install wget
・以下、
http://tanaka.sakura.ad.jp/2011/05/centos-linux-apache-php-perl-mysql-lamp.html
を参考に手順を踏む。
・Epel(epel-release-*-*.noarch.rpm)のダウンロード。
まず、
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmを実行してみて、404エラー(存在していない)であったら、
URLで上の階層をたどって最新の「epel-release-」から始まるファイルを探す。
・remiのダウンロード。
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm・RPMForgeのダウンロード。
http://pkgs.repoforge.org/rpmforge-release/
で「rpmforge-release-*.*.*-*.el6.rf.x86_64.rpm」を探す。
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm・ダウンロードしたEpel、remi、RPMForgeの有効化。
↓それぞれ、ダウンロードしたファイルを指定。
rpm -Uvh epel-release-6-8.noarch.rpm
rpm -Uvh remi-release-6.rpm
rpm -Uvh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
6.リポジトリをいったん無効化。
(必要となった時にだけ一時的に有効化する)
【epel】
vi /etc/yum.repos.d/epel.repo
「enabled=1」を「enabled=0」に編集。
【remi】
デフォルトで無効化されている。
【RPMForge】
vi /etc/yum.repos.d/rpmforge.repo
「enabled=1」を「enabled=0」に編集。
これでリポジトリの追加が完了。
7.Apache、BIND、bind-chroot、FTP、PHP、PEAR、MySQLおよび、
php-mbstring、php-mysqlの一括インストール。
yum --enablerepo=epel,remi,rpmforge install httpd-devel bind bind-chroot vsftpd php-devel php-pear mysql-server php-mbstring php-mysql
8.各種バージョンの確認コマンド。
Apache: /usr/sbin/httpd -v
rpm -qa | grep httpd
BIND: rpm -qa | grep bind
FTP: rpm -qa | grep ftp
PHP: rpm -qa | grep php
php -v
PEAR: pear info PEAR
MySQL:
mysql --version
9.Apache、FTP、MySQLの起動。
service httpd start
service vsftpd start または /etc/rc.d/init.d/vsftpd start
service mysqld start
10.MySQLの管理者パスワードの設定
/usr/bin/mysql_secure_installation
「Enter current password for root (enter for none)」
と、rootのパスワードを聞いてくる。
→まだ無いのでそのままEnter。
→全ての設問で「Y」。
12.ApacheとFTPとMySQLを自動起動するようにする。
・設定の確認コマンド
chkconfig --list|grep -E "httpd|mysql|vsftpd"
・自動起動の設定。
chkconfig httpd on
chkconfig vsftpd on
chkconfig mysqld on
・コントロールパネルでOSを再起動(https://cp.myvps.jp/Login.aspx)
・Apache、FTP、MySQLが自動で起動したかどうかを確認。
service httpd status
service vsftpd status
service mysqld status
13.一般ユーザーの新規作成。
useradd -G wheel ユーザー名
passwd ユーザー名
一旦exitして今作成した一般ユーザーでログインし直し、
「su -」でrootに昇格してみる。
14.Wheelグループの所属者に「sudo」の実行権限を与える。
visudo
↓この行をコメントアウト
%wheel ALL=(ALL) ALL
15.rootへの切り替えをパスワード無しで行なえるようにする。&
root権限に切り替えられるユーザーを制限する。
vi /etc/pam.d/su
↓この2行のコメントをはずす。(4行目と6行目)
auth sufficient pam_wheel.so trust use_uid
auth required pam_wheel.so use_uid
16.rootでログインできなくする。&SSHのポート番号を変更する。
vi /etc/ssh/sshd_config
・rootでログインできなくする。
変更前: #PermitRootLogin yes
変更後: PermitRootLogin no
・SSHのポート番号を変更する。
(秘密鍵で接続する場合はこれを行わないこと)
変更前: #Port 22
変更後: Port 9999 ←Serverman@VPSは4桁の数値。
/etc/init.d/sshd restart
※SSHによるFTP接続時に、
ここで指定した番号を指定する必要があります。
17.ファイヤーウォール(iptables)の設定
vi /etc/sysconfig/iptables
・SSHのポートを開く。
(=デフォルトで22番が開いているのを閉じて、9999番を開く。)
変更前: -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
変更後: -A INPUT -p tcp -m tcp --dport 9999 -j ACCEPT
・iptablesを再起動して設定を反映する。
/etc/init.d/iptables restart
・現在の設定値を確認。
iptables -L
18.FTPのセットアップ
1. 設定ファイルを開く。
vi /etc/vsftpd/vsftpd.conf
2. 匿名ログインを禁止。
変更前: anonymous_enable=YES
変更後: anonymous_enable=NO
3. アスキーモードでの転送許可
↓コメントアウト
ascii_upload_enable=YES
ascii_download_enable=YES
4. サブディレクトリを含む一括転送有効
↓コメントアウト
ls_recurse_enable=YES
5. タイムスタンプを日本時間にする(ファイル末尾に追記)。
& lsコマンドで-a無しでもドットファイル(.htaccessなど)を表示するようにする。
use_localtime=YES
force_dot_files=YES
6. ホームディレクトリ(ログイン時のフォルダの場所)を指定。
local_root=/var/www/html
7. 「vsftpd.conf」の編集を、保存して終了。
:wq
8. vsftpdの再起動
/etc/rc.d/init.d/vsftpd restart
19.FTPでのコンテンツのアップロードを可能にするため、
ドキュメントルートの所有者を変更。
chown -R ユーザー名 /var/www/html
20.DNSの設定
・お名前.comのドメイン管理画面「ドメインNavi」にログイン。
・[ドメイン設定]タブ → [DNS関連機能の設定]
→ ドメインを選択 → [次へ進む] →
→ [DNSレコード設定を利用する]の[設定する]をクリック。
・[入力]欄に、値を入力し、下記の通りの設定とする。
・1つ目のレコード追加
[ホスト名]を空白のまま。[VALUE]にサーバーのIPアドレス。
→ [追加]ボタン。
・2つ目のレコード追加
[ホスト名]に「www」。[VALUE]にサーバーのIPアドレス。
→ [追加]ボタン。
・3つ目のレコード追加
[TYPE]欄の値を「A」から「MX」に変える。
→ [VALUE]に、サーバーのIPアドレスにちなんだ
「v157-7-210-28.myvps.jp」など。
→ [優先]に「100」。
→ [追加]ボタン。
・[DNSレコード設定用ネームサーバー変更確認]に
チェックが入っていることを確認。
※[DNSレコード設定用ネームサーバー変更確認]にチェックを入れておくことで、
先頭の4レコード(NSレコード部分)が自動登録されます。
これで、お名前.comで取得したドメインを、
お名前.comで借りたVSPへ割り振る作業が完了しました。
(BINDのゾーンファイルを作る必要はありません。)
21.Apacheの設定
vi /etc/httpd/conf/httpd.conf
・「# NameVirtualHost *:80」をコメントアウト。
・「DocumentRoot "/home/feg/public_html"」をコメントアウト&URLを編集。
・下記コードを末尾に追記。
※下記の例では3つのドメインを作成。
Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all ServerAdmin aaa@test.net DocumentRoot /home/(ユーザー名)/public_html/www.test.net ServerName www.test.net ServerAlias test.net ErrorLog logs/www.test.net-error_log CustomLog logs/www.test.net-access_log common ServerAdmin aaa@test2.com DocumentRoot /home/(ユーザー名)/public_html/www.test2.com ServerName www.test2.com ServerAlias test2.com ErrorLog logs/www.test2.com-error_log CustomLog logs/www.test2.com-access_log common ServerAdmin aaa@test3.com DocumentRoot /home/(ユーザー名)/public_html/www.test3.com ServerName www.test3.com ServerAlias test3.com ErrorLog logs/www.test3.com-error_log CustomLog logs/www.test3.com-access_log common
・HTMLファイルの文字化けを防ぐ設定を行う。
HTMLファイルをShift-JISで作成してアップロードした場合、
文字化けを起こすことがあります。
これを回避するには、
HTMLファイルの文字コードをUTF-8として作成するか、
あるいは以下の編集をします。
変更前: AddDefaultCharset UTF-8
変更後: AddDefaultCharset OFF
・保存してリスタート
/etc/init.d/httpd restart
・「/home/xxx/」のフォルダのパーミッションを設定。
これで、
www.test.net
www.test2.com
www.test3.com
という3つのサイトをウェブ上で見れるようになりました。
/home/(ユーザー名)/public_html/www.test.net/index.html
/home/(ユーザー名)/public_html/www.test2.com/index.html
/home/(ユーザー名)/public_html/www.test3.com/index.html
などを作成し、ブラウザでアクセスして動作確認。
22.メールの設定
・Postfixが既にインストールされていることを確認。
yum list installed | grep postfix
・Postfixの設定ファイルを編集
vi /etc/postfix/main.cf
変更前: #inet_interfaces = all
変更後: inet_interfaces = all
変更前: inet_interfaces = localhost
変更後: #inet_interfaces = localhost
「mydestination = $myhostname, localhost.$mydomain, localhost」
という行の末尾に、
「, test.net, test2.com, test3.com」
を追記。
(test.net、test2.com、test3.comという3サイトを作成する場合。)
変更前: #home_mailbox = Maildir/
変更後: home_mailbox = Maildir/
・メールの受信フォルダを作成
mkdir /home/(ユーザー名)/Maildir
・Postfixをスタート(またはリスタート)。
/etc/rc.d/init.d/postfix start
・Dovecotのインストール
yum -y install dovecot
・Dovecotの3つの設定ファイルを編集。
vi /etc/dovecot/conf.d/10-auth.conf
変更前: #disable_plaintext_auth = yes
変更後: disable_plaintext_auth = no
変更前: auth_mechanisms = plain
変更後: auth_mechanisms = plain login
vi /etc/dovecot/conf.d/10-mail.conf
変更前: #mail_location =
変更後: mail_location = maildir:~/Maildir
vi /etc/dovecot/conf.d/10-master.conf
変更前:
#unix_listener /var/spool/postfix/private/auth { # mode = 0666 #}変更後:
unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix }
・Dovecotをスタート(またはリスタート)。
/etc/rc.d/init.d/dovecot start
・PostfixとDovecotを自動起動するようにする。
chkconfig postfix on
chkconfig dovecot on
これで、ユーザー名を@の左側としてのメールの送受信が出来るようになりました。
なお、メールアドレスを追加する場合は、Linuxアカウントを追加するか、
あるいは/etc/aliasesの末尾にエイリアスアカウントを追加します。
・メールクライアントソフト(例えばGmailなど)で、迷惑メールのフィルターを設定する。
23.コントロールパネルでドメインの設定。
・ドメインを設定しても、パーミッションエラーが出て、ドメインフォルダにアクセス出来ない場合は、上位階層のフォルダから順に、ユーザーapache以外のユーザーがアクセスできるフォルダとなっているかどうかを確認。
→フォルダのパーミッションにotherに閲覧権限を与える。
24.Wordpressで大きなサイズのプラグインやテーマをインストール出来る様にするために、PHPの最大アップロードファイルサイズを変更する。
・php.iniの場所を探す。
php -i | grep php.ini
・vi /etc/php.ini
・「upload_max_filesize = 」の値を変更。
・httpdのリスタート。
service httpd
または、
/etc/init.d/httpd restart
25.SVG画像を表示できるようにする。
サイトのトップの「.htaccess」に下記を追記。
image/svg+xml svg image/svg+xml svgz