どうも!WordPress屋さんの優です。
今回はWordPressのドメインを管理画面と公開側でドメインをわける設定のご紹介。
- 管理用ドメイン:admin.example.local
/var/www/vhosts/admin.example.local/ - 公開用ドメイン:www.example.local
/var/www/vhosts/www.example.local/
そんな風にわけていきます。
ドメインを管理と公開側でわけることによって何が嬉しいか
- サーバをわけるのが簡単
※管理側と公開側サーバにてネットワーク同期する仕組みは必要です。 - セキュリティがガガン!とあがります
管理側にはIP制限もしやすく、プライベートIPで設定してVPN接続で更新しても良し。 - 静的サイトに!
いっそのこと公開側を静的サイトにしてしまってもよしこちゃんです。
そんなわけで進めていきましょ~。
インストールと設定
必要なものをインストールするよ!
1 |
# yum install httpd mariadb mariadb-server httpd-devel php php-mysql wget unzip rsync |
DBとWEBサーバを起動させます。
1 2 3 4 5 |
# systemctl start mariadb # systemctl enable mariadb # systemctl start httpd # systemctl enable httpd |
ファイアウォールで80番ポートを開けましょう。
1 2 |
# firewall-cmd --permanent --zone public --add-service http # firewall-cmd --reload |
WordPress用のDBとユーザを作成します。
1 2 3 4 5 6 7 |
# mysql -u root MariaDB [(none)]> CREATE DATABASE wpdb; MariaDB [(none)]> GRANT ALL PRIVILEGES ON wpdb.* TO "wpdbuser"@"localhost" IDENTIFIED BY 'wpdbpassword'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> exit Bye |
WordPressのダウンロードと管理用ドメインの設定を行います。
1 2 3 4 5 6 7 8 9 10 11 |
# mkdir -p /var/www/vhosts # cd /var/www/vhosts # wget https://ja.wordpress.org/wordpress-4.8.2-ja.zip # unzip wordpress-4.8.2-ja.zip # mv wordpress admin.example.local # cp /var/www/vhosts/admin.example.local/wp-config-sample.php /var/www/vhosts/admin.example.local/wp-config.php |
DBとの接続設定はこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# vi /var/www/vhosts/admin.example.local/wp-config.php define('DB_NAME', 'wpdb'); /** MySQL データベースのユーザー名 */ define('DB_USER', 'wpdbuser'); /** MySQL データベースのパスワード */ define('DB_PASSWORD', 'wpdbpassword'); /** MySQL のホスト名 */ define('DB_HOST', 'localhost'); |
公開ドメイン用ディレクトリの作成
1 |
# mkdir -p /var/www/vhosts/www.example.local |
wp-contentのコピー
1 |
# rsync -arv /var/www/vhosts/admin.example.local/wp-content/ /var/www/vhosts/www.example.local/wp-content/ |
公開用ドメインディレクトリにindex.phpを置きますよ!
1 |
# cp -arv /var/www/vhosts/admin.example.local/index.php /var/www/vhosts/www.example.local/index.php |
公開用ドメインディレクトリのindex.phpに編集して管理用ドメインを参照するように設定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# vi /var/www/vhosts/www.example.local/index.php <?php /** * Front to the WordPress application. This file doesn't do anything, but loads * wp-blog-header.php which does and tells WordPress to load the theme. * * @package WordPress */ /** * Tells WordPress to load the WordPress theme and output it. * * @var bool */ define('WP_USE_THEMES', true); /** Loads the WordPress Environment and Template */ //require( dirname( __FILE__ ) . '/wp-blog-header.php' ); require( '/var/www/vhosts/admin.example.local/wp-blog-header.php' ); |
画像用ディレクトリの作成
1 |
# mkdir -p /var/www/vhosts/www.example.local/images |
権限の設定を行います
1 |
# chown apache:apache -R /var/www/vhosts |
バーチャルホストの設定を行いましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# vi /etc/httpd/conf.d/vhost.conf NameVirtualHost *:80 <VirtualHost *:80> ServerName admin.example.local DocumentRoot /var/www/vhosts/admin.example.local LogLevel warn ErrorLog logs/error_log CustomLog logs/access_log combined <Directory /> Options FollowSymLinks AllowOverride All </Directory> </VirtualHost> <VirtualHost *:80> ServerName www.example.local DocumentRoot /var/www/vhosts/www.example.local LogLevel warn ErrorLog logs/error_log CustomLog logs/access_log combined <Directory /> Options FollowSymLinks AllowOverride All </Directory> </VirtualHost> |
反映します。
1 |
# systemctl restart httpd |
hostsに設定
1 |
192.168.11.37 www.example.local admin.example.local |
アクセスを行います。
http://admin.example.local/wp-admin/
今回は上記のように設定して、【WordPressをインストール】をクリックします。
ログインを行いましょう。
- WordPressにアドレス(URL)に管理画面用ドメイン
- サイトアドレス(URL)に公開用ドメインの
そんな風に設定してみてくださいね!
はい。
投稿を行いますよ。
さてさて、出来ましたね。
もちろん公開用ドメインからログインは出来ません。
画像ディレクトリの設定ですよ!
上記のように設定します。
画像をアップロードしましょう。
表示されましたね。
もっと設定したかったですか?ごめんなさい、これだけです。
お疲れ様です。