目次

この記事の目次です。

1. ロリポップ、エックスサーバーに近い環境について
2. CentOS7のダウンロード
3. VirtualBoxにインストールする例
4. サーバ利用時の基本的なセットアップの例
5. Apache(Apache 2.4)のインストール
6. PHP(PHP7)のインストール
7. MySQLのインストール
8. SSL対応のためのソフトウェアインストール
9. レンタルサーバ環境と合わせたパス等の設定
10. ドメイン毎の設定
11. WordPressの新規構築する場合
12. WordPressの移行する場合

更新履歴

1. ロリポップ、エックスサーバーに近い環境について

ロリポップのサーバではOSにLinuxの一つのCentOSを使用していると記載されています。 また、エックスサーバーは公表はしていませんが、操作した感じからCentOSもしくはCentOSに近い環境を使用していました。

実際には、バージョンを合わせたり、インフラ構成や各ソフトウェアの設定などいろいろ合わせる必要がありますが、 CentOSのテスト環境を構築することで、より実際の環境に近いテストサイトが構築できると思います。

CentOSとは

CentOSとは、CentOSとは、無料で利用できるLinuxです。 商用でメジャーなLinuxであるRedHat Enterprise Linuxと同じソースコードを元にまとめられています。 無料で利用できるだけでなく商用でメジャーなRedHat互換で、自宅サーバや開発用だけではなく、商用環境としても利用されています。

2. CentOS7のダウンロード

この記事では、CentOS7の構築手順を紹介していきます。

CentOS7は、http://isoredirect.centos.org/centos/7/isos/x86_64/より、例えばDVDのISOイメージを選んでミラーサイトからダウンロードが行えます。 ミラーサイトを選んで、例えば以下のファイルをダウンロードします。

http://ftp.jaist.ac.jp/pub/Linux/CentOS/7.8.2003/isos/x86_64/CentOS-7-x86_64-DVD-2003.iso

CentOS7ダウンロードサイトのイメージ

ダウンロードできない場合は別のミラーサイトからダウンロードしてください。

3. VirtualBoxにインストールする例

CentOSのインストール例として、Oracle VM VirtualBoxにCentOS7をインストールします。

VirtualBoxとは

VirtualBoxとは、Oracle社のクロスプラットフォームな仮想化ソフトウェアです。 OracleのHPより、Windows、Linux、Mac OS X、Solaris用の媒体が入手できます。

VirtualBoxのダウンロード

以下のページよりダウンロードできます。

https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html

VirtualBoxダウンロードサイトのイメージ

VirtualBoxのインストール

ダウンロードしたインストーラを起動して、基本的にすべてNextまたはYesを選択してインストールしても大丈夫だと思います。 もしインストール先などカスタマイズしたい場合は適宜変更してください。

VirtualBoxのインストーラ起動時の画面イメージ

VirturlBoxのインストーラを起動したらNextを選択します。

VirtualBoxのインストーラ実行時(Custom Setup1)の画面イメージ

Custom Setup画面もNextを選択します。

VirtualBoxのインストーラ実行時(Custom Setup2)の画面イメージ

次のCustom Setup画面もNextを選択します。

VirtualBoxのインストーラ実行時(Warning: Network Interface)の画面イメージ

途中で「Warning Network Interfaces」とエラーのようなメッセージが表示されます。 インストール中、一時的にネットワークが切断されても問題ないかを確認するメッセージです。 問題が発生したわけではなく、確認ダイアログです。 Yesを選択します。

VirtualBoxのインストーラ実行時(Ready to Install)の画面イメージ

Installを選択します。

VirtualBoxのインストーラ実行時(このデバイス ソフトウェアをインストールしますか?)の画面イメージ

加えて、このデバイス ソフトウェアをインストールしますか?と聞かれます。
「"Oracle Corporation" からのソフトウェアを常に信頼する」にチェックを入れて、インストールしておきます。

VirtualBoxのインストーラ完了の画面イメージ

Finishを選択します。

CentOS7用の仮想マシンの作成

CentOS7用の仮想マシンを作成します。

仮想マシンダイアログを開く

VirtualBox (Oracle VM VirtualBox マネージャー) を起動し、左上の「新規(N)」をクリックすると「仮想マシンの作成」ダイアログが開きます。

新規仮想マシン作成時の操作1

名前とオペレーティングシステム入力

任意の 名前 を入力し、タイプ は Linux 、 バージョン は Red Hat (64bit) を選択して「次へ」をクリックします。

新規仮想マシン作成時のOS種別選択

なお、BIOSの仮想化機能が無効になっている場合、Red Hat (64bit)と64bitの選択項目が表示されません。

補足)BIOSの仮想化機能の有効化

BIOSはPC起動時にF2やF5、F10キーを連打すると表示されます。 BIOSの設定変更はメーカにより異なるので使用しているPCのマニュアルを参照する必要があります。

BIOSの仮想化機能を有効にする例

メモリーサイズの入力

メモリ (RAM) は最低でも512MiB必要です。テストサイト環境ですた、メモリリソースを多く使うWordPressですので少々大きめの2048MBにしました。

新規仮想マシン作成時のメモリ選択

ハードディスク

「仮想ハードディスクを作成する」を選択して「作成」をクリックします。

新規仮想マシン作成時の仮想ハードディスクを作成する操作

ハードドライブの入力

仮想ハードドライブを作成する を選択して「作成」すると、「仮想ハードドライブの作成」ダイアログが開きます。

ハードドライブのファイルタイプ は、VDI (VirtualBox Disk Image) を選択したまま「次へ」

新規仮想マシン作成時のハードドライブのファイルタイプを選択する操作

物理ハードドライブにあるストレージ は、固定サイズ を選択して「次へ」

新規仮想マシン作成時の物理ハードドライブにあるストレージを選択する操作

ファイルの場所とサイズ では、CentOSをインストールする仮想ドライブの容量を指定して、仮想ドライブと仮想マシンを「作成」します。今回は20GBにしました。

新規仮想マシン作成時のファイルの場所とサイズを選択する操作

作成中のダイアログが表示されます。

新規仮想マシン作成中ダイアログ

完了すると管理画面のメニューに作成した仮想マシンが表示されます。

新規仮想マシン作成完了

CentOS7のインストール

仮想マシンにCentOS7をインストールします。

はじめに

VirtualBoxの管理側の実環境をホストOS、VM側をゲストOSといいます。 ゲストOSの画面にマウスのカーソルをあてるとゲストOSの操作が行えます。 VM側のゲストOSから抜けて管理側のホストOSに戻る場合は、キーボード右側にあるCtrlキーを押すと抜けられます。

仮想マシンの起動

VirtualBox マネージャーにて、作成した仮想マシンが選択された状態で、左上の 起動(T) をクリックします。

仮想マシンの起動

起動ハードディスクを選択

「起動ハードディスクを選択」ダイアログが表示されるので、 プルダウンメニュー右の 仮想光学ディスクファイルの選択… をクリックします。

起動ハードディスクを選択

「光学ディスク選択」ダイアログが表示されるので、追加(A)より、CentOSのDVDメディアのISOイメージを選択して「起動」します。

CentOSのDVDメディアのISOイメージを選択

CentOS7のインストーラー起動

CentOS7のインストーラーが起動するので、Install CentOS7を選んで、Enterキーを押します。

CentOS7のインストーラー起動

インストール時に使用する言語

日本語(Japanese)を選択し、続行をクリックします。

日本語(Japanese)を選択

インストールの概要

Webサーバーを構築するときなどは、シンプルなものから必要なパッケージを追加していく方がいいと思います。 ただ感染駆除の場合などサンドボックスとして、CentOS7の中でブラウザの確認も行いたいので、サーバー(GUI使用) を選択していきます。

インストールの概要
ソフトウェアの選択

「ソフトウェアの選択」を選択し、左の ベース環境 から サーバー(GUI使用) を選択して「完了」します。

インストール先

「インストール先」を選択し、何もせずに「完了」します。

ネットワークとホスト名

「ネットワークとホスト名」を選択し、「ネットワークとホスト名」設定画面の右上にあるスイッチを オン にして「完了」します。

設定したら「インストールの開始」ボタンをクリックします。

ユーザーの設定

管理ユーザ(root)と一般ユーザを作成する場合は一般ユーザのパスワード設定を行います。

ユーザーの設定

インストーラの完了を待つ

しばらく経つとCentOS7のインストールが完了するので、設定画面右下の「再起動」をクリックします。

インストーラの完了を待つ

設定の完了する

再起動後、初期セットアップ画面が表示されます。
「ライセンス情報」を選択し、同意できるなら ライセンス契約に同意します。
にチェックを入れて「完了」し、「設定の完了」をクリックします。

インストーラの完了を待つ

CentOS7のセットアップ

そのまましばらくするとCentOSのセットアップ画面が表示されます。

言語選択

日本語を選んで次へ

キー入力選択

キー入力を選んで次へ

位置情報サービス選択

位置情報サービスはサーバー利用で使わないと思いますのでオフにしておきます。

タイムゾーン選択

タイムゾーンは日本でしたらJSTになります。

オンラインアカウントの接続選択

オンラインアカウントの接続はスキップします。

アカウント作成

CentOS7上のアカウントを作成します。 エックスサーバーなどのレンタルサーバーのアカウントに相当しますので、検証するレンタルサーバのアカウント名を設定してもよいかと思います。 なお、アカウントは後で増やせます。

アカウント作成

パスワードを設定します。

設定完了

アカウントの設定完了です。

4. サーバ利用時の基本的なセットアップの例

CentOS7の設定を行っていきます。

ターミナルを開く

コマンドラインの操作を行いますので、「アプリケーション>システムツール>端末」よりターミナルを開きます。

ターミナルを開く

rootに切り替え

rootユーザにスイッチします。パスワードはCentOS7インストールした際に設定したものです。

$ su

yum-utilsのインストール

OSアップデート後の不要パッケージが掃除できるようyum-utilsをインストールします。

# yum -y install yum-utils

OSアップデート

まずは、OSをアップデートして最新化します。その後再起動出来たら再起動(reboot)します。

# yum -y update

不要パッケージの掃除

不要パッケージの掃除しておきます。

# package-cleanup --oldkernels --count=1 -y

VirtualBoxのホストオンリーアダプタの設定

このままではVirtualBoxの画面を使わないとホストOSからゲストOSに接続ができないのでホストオンリーアダプタの設定を追加します。

ホストオンリーアダプタの追加

ゲストOSをシャットダウンして、ホストオンリーアダプタを追加します。

ゲストOSの設定を開く

Oracle VM VirtualBox マネージャーのメニューに表示されるゲストOSを選択して、設定(S)をクリックします。

アダプター2の設定

ネットワーク>アダプター2を選択し、

仮想マシンを起動

アダプター2の設定が行えたら、OKをクリックして、設定ダイアログを閉じます。

その後、ホストOS(PC)を再起動します。

ホストOSの再起動が終わりましたら、VirtualBoxの管理画面を開いて、ゲストOSを起動します。

ホストOSからSSH接続

仮想マシンが起動したら、TeratermやPuttyなどを使用してホストOSから仮想マシンに接続できることを確認します。

5. Apache(Apache 2.4)のインストール

CentOS7にApacheをインストールしていきます。

Apacheのインストール

Apacheをインストールします。rootで作業していきます。

# yum -y install httpd

httpd サービスの自動起動設定

CentOS7を再起動しても自動でApacheが起動されるように設定します。

# systemctl enable httpd

httpd サービスを開始

Apacheを起動します。

# systemctl restart httpd

Firewall穴あけ

外からアクセスできるようにhttpとhttpsのポートを解放します。

# firewall-cmd --add-service=http --permanent
# firewall-cmd --add-service=https --permanent
# firewall-cmd --reload

6. PHP(PHP7)のインストール

CentOS7にPHPをインストールしていきます。

EPELリポジトリのインストール

# yum -y install epel-release

Remiリポジトリのインストール

# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

PHP7.xのインストール

PHP7のマイナーバージョン別のインストール手順です。

PHP7.0をインストールする場合

PHP7.0をインストールする場合の例は以下です。

# yum remove php* -y
# yum --enablerepo=remi,remi-php70 install php php-devel pcre-devel php-posix php-ssh2 php-mysqlnd php-gd php-xml php-xmlrpc php-mbstring php-mcrypt php-fpm php-opcache php-apcu -y --skip-broken

PHP7.2をインストールする場合

PHP7.2をインストールする場合の例は以下です。

# yum remove php* -y
# yum --enablerepo=remi,remi-php72 install php php-devel pcre-devel php-posix php-ssh2 php-mysqlnd php-gd php-xml php-xmlrpc php-mbstring php-mcrypt php-fpm php-opcache php-apcu -y --skip-broken

PHP7.3をインストールする場合

PHP7.3をインストールする場合の例は以下です。

# yum install --disablerepo=* --enablerepo=epel libargon2
# yum remove php* -y
# yum --enablerepo=remi,remi-php73 install php php-devel pcre-devel php-posix php-ssh2 php-mysqlnd php-gd php-xml php-xmlrpc php-mbstring php-mcrypt php-fpm php-opcache php-apcu -y --skip-broken

PHP7.4をインストールする場合

PHP7.4をインストールする場合の例は以下です。

# yum install --disablerepo=* --enablerepo=epel libargon2
# yum remove php* -y
# yum --enablerepo=remi,remi-php74 install php php-devel pcre-devel php-posix php-ssh2 php-mysqlnd php-gd php-xml php-xmlrpc php-mbstring php-mcrypt php-fpm php-opcache php-apcu -y --skip-broken

確認

PHP7がインストールされているか確認します。

# php -v

php-fpmの自動起動設定

php-fpmの自動起動の設定を行います。

# systemctl enable php-fpm

php-fpmの再起動

php-fpmの再起動を行います。

# systemctl restart php-fpm

php-fpmプロセスの確認

# ps -aef | grep php-fpm

7. MySQLのインストール

CentOS7にMySQLをインストールしていきます。

MariaDBの削除

MariaDBの削除します。

# yum remove mariadb-libs
# rm -rf /var/lib/mysql/

yumリポジトリ追加

mysql公式のリポジトリを追加します。

# yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

MySQLインストール

MySQLをインストールします。

# yum -y install mysql-community-server

自動起動設定

自動起動設定を行います。

# systemctl enable mysqld.service
MySQL起動

MySQLを起動します。

# systemctl start mysqld.service
初期のrootパスワード確認

初期のrootパスワードは/var/log/mysqld.logに出力されます。

[Note] A temporary password is generated for root@localhost: <初期のrootパスワードの出力>
基本的なセキュリティ設定

mysql_secure_installationを使用して基本的なセキュリティ設定を行います。

# mysql_secure_installation

8. SSL対応のためのソフトウェアインストール

SSL対応のためのソフトウェアインストールします。 インターネットに公開されないテストサイトのため、ブラウザにエラーが表示されますが、httpsのURLに対応できるようにしていきます。

# yum -y install mod_ssl

9. レンタルサーバ環境と合わせたパス等の設定

エックスサーバーやロリポップなどレンタルサーバーに合わせたディレクトリパスでテストサイトが表示できるようにしていきます。

OSのユーザ/グループ作成

OSアカウントを作成します。

# useradd -g apache -m <追加OSアカウント名>
# passwd <追加OSアカウント名>
# chmod 750 /home/<OSアカウント名>

PHP用のディレクトリ作成

PHP用のディレクトリを作成します。

su <OSアカウント名>
mkdir -p /home/<OSアカウント名>/log/php-fpm
mkdir -p /home/<OSアカウント名>/lib/php/session
mkdir -p /home/<OSアカウント名>/tmp

Apacheの設定

/etc/httpd/conf/httpd.confの最下部あたりに以下を追記します。

IncludeOptional conf.site/*.conf

上記で個別サイトの設定を別ファイルで定義できるようにします。

PHP-FPMの設定

次にサイト用のPHPの設定を行います。 デフォルトの/etc/php-fpm.d/www.confをコピーして/etc/php-fpm.d/<追加OSアカウント名>.confを作成し、ポート番号9001、OSアカウント名(<追加OSアカウント名>)でPHPを実行する例です。

[example]
:
user = <追加OSアカウント名>
:
group = apache
:
listen = 127.0.0.1:9001
:
php_admin_value[error_log] = /home/<追加OSアカウント名>/log/php-fpm/www-error.log
:
php_value[session.save_path]    = /home/<追加OSアカウント名>/lib/php/session
:

10. ドメイン毎の設定

レンタルサーバーのようにアカウントにぶら下がるイメージでドメインの設定を行っていきます。

ホームページ公開領域の設定

サイトのWeb公開領域を作成します。 ホームディレクトリからアクセスしやすいようにシンボリックリンクも作っておきます。 以下ではエックスサーバーのパス構成を例に設定していきます。

su <追加OSアカウント名>
mkdir -p /home/<追加OSアカウント名>/<ドメイン名>
mkdir -p /home/<追加OSアカウント名>/<ドメイン名>/public_html

自己証明のSSLサーバ証明書の設定

httpsで表示できるように自己証明のSSLサーバ証明書を作成していきます。

秘密鍵の作成

秘密鍵を作成します。

# mkdir /etc/httpd/conf.site
# mkdir /etc/httpd/conf.site/ssl
# openssl genrsa 2024 > /etc/httpd/conf.site/ssl/<ドメイン名>.key

CSR作成

CSRを作成します。ドメイン名を合わせることだけ意識すれば後は適当で大丈夫です。

# openssl req -new -key /etc/httpd/conf.site/ssl/<ドメイン名>.key > /etc/httpd/conf.site/ssl/<ドメイン名>.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:Chuo-Ku
Organization Name (eg, company) [Default Company Ltd]:test
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:<ドメイン名>
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

サーバ証明書の作成

サーバ証明書を作成します。

openssl x509 -req -days 3650 -signkey /etc/httpd/conf.site/ssl/<ドメイン名>.key < /etc/httpd/conf.site/ssl/<ドメイン名>.csr > /etc/httpd/conf.site/ssl/<ドメイン名>.crt

Apacheの設定

個別ファイルの例は以下です。 常時https化やレスポンスヘッダの設定は.htaccessでも設定できるようになっています。

ここでは、/etc/httpd/conf.site/<ドメイン名>.confファイルを作成しています。 PHPをポート番号デフォルトとは異なる9001で連携する設定になっているところがポイントになります。

<VirtualHost *:80>
    ServerName <ドメイン名>
    DocumentRoot /home/<追加OSアカウント名>/<ドメイン名>/public_html/
    CustomLog /var/log/httpd/<ドメイン名>_access_log common
    ErrorLog  /var/log/httpd/<ドメイン名>_error_log
    RewriteEngine on
    RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
    RewriteRule .* - [F]

    <Directory /home/<追加OSアカウント名>/<ドメイン名>/public_html/>
        Options  FollowSymLinks
        AllowOverride All
        Require all granted

        <FilesMatch "\.php$">
            SetHandler application/x-httpd-php
            SetHandler "proxy:fcgi://127.0.0.1:9001"
        </FilesMatch>
    </Directory>
</VirtualHost>

<VirtualHost *:443>
    ServerName <ドメイン名>
    DocumentRoot /home/<追加OSアカウント名>/<ドメイン名>/public_html/
    CustomLog /var/log/httpd/<ドメイン名>_ssl_access_log common
    ErrorLog  /var/log/httpd/<ドメイン名>_ssl_error_log

    SSLEngine on
    SSLProtocol -all +TLSv1.2
    SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS:!3DES
    SSLHonorCipherOrder On
    SSLCertificateFile /etc/httpd/conf.site/ssl/<ドメイン名>.crt
    SSLCertificateKeyFile /etc/httpd/conf.site/ssl/<ドメイン名>.key

    RewriteEngine on
    RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
    RewriteRule .* - [F]

    <Directory /home/<追加OSアカウント名>/<ドメイン名>/public_html/>
        Options  FollowSymLinks
        AllowOverride All
        Require all granted

        <FilesMatch "\.php$">
            SetHandler application/x-httpd-php
            SetHandler "proxy:fcgi://127.0.0.1:9001"
        </FilesMatch>
    </Directory>
</VirtualHost>

PHPとApacheの再起動

PHPとApacheを再起動して設定反映します。

systemctl restart php-fpm
systemctl restart httpd

※SELINUXを利用している場合は別途設定が必要です。SELINUXを設定しない場合は/etc/selinux/configで「SELINUX=disabled」にしてゲストOSを再起動する必要があります。

ApacheとPHPの動作確認

ApacheとPHPの動作確認を行っていいきます。

ホストOSのhostsファイルの編集

本来はインターネット上のDNSサーバでドメインとサーバを紐づけていますが、ホストOS内で完結した検証環境になりますので、hostsファイルにて、ドメイン名と検証環境の紐づけを行います。 hostsファイル利用時は検証環境でのみドメインが利用できるようになりますので、本番環境を表示する場合はhostsファイルをもとに戻す必要があります。

Windowsの場合はhostsファイルは「C:\Windows\System32\drivers\etc\hosts」にあります。 あらかじめプロパティで編集権限を設定する必要があります。 本手順を進めた場合、ゲストOSのIPは「192.168.56.101」になりますので、設定例は以下になります。

192.168.56.101 <ドメイン名>

ドメインのpublic_htmlにテストコンテンツ配置

たとえば、以下のコードを記述したtest.phpを配置して、表示確認していきます。

<?php
echo "ドメイン名"
?>

ブラウザでhttpsにアクセスした場合のエラー解除方法

自己証明書を使用しているためhttpsでアクセスした場合、証明書エラーが発生します。 詳細を開いて危険を承知して表示するを選択する操作を行ってエラーを解除します。 以下はFirefoxの解除の例です。

ブラウザでhttpsにアクセスした場合のエラー解除方法

詳細を開いて「危険性を承知で続行」をクリックします。

詳細を開いて「危険性を承知で続行」

11. WordPressの新規構築する場合

WordPressの新規構築方法について見ていきます。

WordPressの新規構築の概要

WordPressの新規構築の概要は以下です。

  1. WordPress パッケージをダウンロードして、解凍
  2. サーバー上に、WordPress 用のデータベースと、そのデータベースへの全アクセス権・編集権を持つ MySQL ユーザーを作成
  3. wp-config-sample.php ファイルの名前を wp-config.php に変更
  4. テキストエディタでwp-config.phpを開き、wp-config.phpファイルの編集記事の説明に従いデータベース情報と秘密鍵の値を記入
  5. サーバー上の希望の場所に、WordPress ファイルを設置
  6. ドメインルート (http://example.com/ など) に WordPress を置きたいときは、解凍した wordpress ディレクトリの中身 (wordpress ディレクトリ自体を除く全ファイル) をサーバーのルートディレクトリへアップロード
  7. ウェブサイト上の WordPress 用サブディレクトリ (http://example.com/blog/ など) に WordPress を設置したいときは、解凍した wordpress フォルダを好きなサブディレクトリ名に変更し、丸ごとサーバーのルートにアップロード
  8. ブラウザで wp-admin/install.php へアクセスし、インストールスクリプトを実行
  9. ルートディレクトリに設置したなら: http://example.com/wp-admin/install.php
  10. blog というサブディレクトリに設置したなら: http://example.com/blog/wp-admin/install.php

参考URL)http://wpdocs.osdn.jp/WordPress_のインストール

MySQLを用意しデータベースとユーザの作成

まずは、WordPress 用のデータベースと、そのデータベースへの全アクセス権・編集権を持つMySQLユーザを作成しておきます。

WordPress 用のデータベースとユーザ作成例

# mysql -u root -p
CREATE DATABASE データベース名;
GRANT ALL PRIVILEGES ON データベース名.* TO データベースユーザ名@<ユーザが接続するホスト> IDENTIFIED BY '<パスワード>';
FLUSH PRIVILEGES;

WordPress パッケージをダウンロードして、解凍。

https://ja.wordpress.org/download/から日本語版のWordPressパッケージをダウンロードします。

WordPressのダウンロードイメージ

ダウンロードしたら、圧縮ファイルを解凍します。

wp-config.php の設定

解凍しましたディレクトリの直下にある、wp-config-sample.php ファイルの名前を wp-config.php に変更します。

テキストエディタで wp-config.php を開き、 wp-config.php ファイルの編集記事の説明に従いデータベース情報と秘密鍵の値を記入。 データベーステーブルの接頭辞も念のため変更しておきます。

MySQLの接続情報変更箇所

/** WordPress のためのデータベース名 */
define('DB_NAME', 'database_name_here');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'username_here');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'password_here');

/** MySQL のホスト名 */
define('DB_HOST', 'localhost');

秘密鍵の値変更箇所

https://api.wordpress.org/secret-key/1.1/salt/で自動生成することもできます。

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

WordPress FTPなしでプラグインダウンロードできる設定

SSHのみでFTPが利用できない場合など、FTPなしでプラグインがダウンロードできるように以下を最下部あたりに追加します。

/** WordPress FTPなしでプラグインダウンロードできる設定 */
define('FS_METHOD', 'direct');

データベーステーブルの接頭辞の変更箇所

$table_prefix  = 'wp_';

ファイルをアップロード

サーバー上の希望の場所に、WordPress ファイルを設置。

インストールの実施

インストールの準備ができましたら、インストールをWebページから実施していきます。

インストールスクリプトの実行

ブラウザで wp-admin/install.php へアクセスし、インストールスクリプトを実行。 ユーザー名にadminやサイト名など推測されやすいものは使わないように注意します。

WordPressインストールはじめのページ

あらかじめデータベースの接続情報などwp-config.phpに設定しておくと以下のWebページから始まります。

WordPressのインストールイメージ

必要情報の入力

必要情報は後で変更できますので、仮のもので大丈夫です。 検索エンジンでの表示は、未完成ページがインデックスされないようチェックを入れておくか、htaccessなどでアクセス制限をかけておきましょう。

※注意:ユーザ名、パスワードは必ずメモしておきましょう。

入力したら「WordPressをインストール」ボタンを押しましょう。

インストール完了ページ

はい、これだけでインストールが完了します。

WordPressのインストール完了イメージ

ログイン画面の表示

インストールしたらログインできるか確認してみましょう。

WordPressのログイン画面の表示イメージ

ダッシュボードの表示

正常にインストール出来ていればダッシュボードが表示されます。

WordPressのダッシュボードイメージ

12. WordPressの移行する場合

WordPressの移行方法についてです。 SSHに対応したサーバで、mysqldumpを使用してWordPressのデータベースをバックアップする例です。

mysqldumpとは

mysqldumpは、MySQL(もしくはMariaDB)のデータベースをバックアップするコマンドです。 MySQL内に保存されたデータベース定義やデータをSQL文の形式で出力してくれます。

WordPressのデータベースをバックアップする例

WordPressは、MySQLのデータベースに投稿などのデータを保管します。

以下はSSHに対応したサーバで、mysqldumpを使用してWordPressのデータベースをバックアップする例です。

SSHでWordPressが動作するサーバーへ接続

まずはTeratermなどのSSHクライアントを使用して、WordPressが動作するサーバーへSSHで接続します。

WordPressが使用するデータベースの確認

以下のようにしてWordPressが使用するデータベースの接続先が確認できます。

cat <wp-config.phpの配置パス> | grep DB

mysqldumpでバックアップを出力しファイルに保存

以下のようにしてmysqldumpでバックアップを出力しファイルに保存できます。

mysqldump -h <DB_HOST> -u <DB_USER> -p <DB_NAME> > <保存ファイルのパス(例 xxx.dump)>

WordPressのデータベースを移行(リストア)する例

今度はWordPressのデータベースを移行(リストア)する例です。 mysqldumpで出力されたダンプはMySQLのデータベースを操作するSQL文で出力されますので、mysqlコマンドでSQL文を実行することで移行(リストア)が行えます。

リダイレクトを使用してインポートする例

コマンドライン(シェル)のリダイレクト(<)を使用してインポートが行えます。

mysql -h <DB_HOST> -u <DB_USER> -p <DB_NAME> < <保存ファイルのパス(例 xxx.dump)>

sourceを使用してインポートする例

mysqlコマンドでmysqlに接続してsourceを使用してインポートが行えます。

mysql -h <DB_HOST> -u <DB_USER> -p <DB_NAME>
MySQL> source <保存ファイルのパス(例 xxx.dump)>

URLやパスが異なる場合

テストサイトと本番サイトでURLやパスが異なる場合はデータベースの変更が必要です。 Search-Replace-DB-masterというツールでデータベースの変更が行えます。

ダウンロード

https://interconnectit.com/products/search-and-replace-for-wordpress- databases/より、Search-Replace-DB-master.zipをダウンロードします。

配置

WordPress配置先の上位パスに解凍してできたSearch-Replace-DB-masterを 配置します。

実施

後始末

本番環境に持って行ってしまうといけないので、必ず移行ツールは削除しましょう。

$rm -Rf Search-Replace-DB-master

更新履歴

更新履歴になります。

位置:トップWordPressテストサイト