お名前.com(KVM)の初期設定

お名前.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レコード部分)が自動登録されます。

DNSレコードの設定
   これで、お名前.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

関連記事

  1. cronの設定・書き方


Top