WordPress設置まとめ

はじめに

FC2のブログをやめて自鯖にWordPressを設置したので最初の記事はWordPress設置についてのまとめ
ApacheとMySQLだけ予めインストールしておく

MySQLの設定

適当な名前で必要なテーブルやパスワードを作成する
今回は以下の設定での例

項目設定値
データベース名wp_hogehoge
ユーザー名fuga
パスワードaiueo
ホスト名 localhost
1$ mysql -u root -p
2mysql> create database wp_hogehoge;
3mysql> grant all on wp_hogehoge.* to 'fuga'@'localhost' identified by 'aiueo';
4mysql> exit
5Bye

WordPressのダウンロード

次に公式サイトからWordPressをダウンロードしておく
ダウンロードしたものを解凍してブログを設置するディレクトリにアップロードしておく
もし実ディレクトリとURLを別にするならドキュメント読んで適当に設置する
最後にオーナーをApacheの実行ユーザーに変更する

1$ wget URL
2$ unzip hoge.zip
3$ mv hoge /var/www/blog
4$ sudo chown -R www-data /var/www/blog

WordPressのインストール

アップロードしたURLにアクセスして初期設定を行う
先ほどMySQLに設定した内容を入力し、WordPressのユーザーを作成しておわり
もし以下のような画像が出たら自分でwp-config.phpに書き込む
権限がない とか怒られたら自分でwp-config.phpを作って書き込む
とりあえずこれだけでインストールは終わり

追加でやること

ログイン画面へのアクセス制限

記事を書くのは自宅でしかしないのでローカルアクセスでのみ管理画面へアクセス出来る用に設定する
予めApache側で.htaccessを有効になるように設定しておく
ログイン画面がwp-login.php、ログイン後の画面がwp-adminディレクトリなのでこの2つにアクセス制限をかける
アップロードしたディレクトリに.htaccessを作成し以下を入力してローカルからのみに制限

.htaccess に以下を記載する

1<files wp-login.php>
2order deny,allow
3deny from all
4allow from 192.168.1.
5</files>

次にwp-adminのアクセス制限
/wp-admin/.htaccess

1order deny,allow
2deny from all
3allow from 192.168.1.

configファイルへのアクセスを制限する
configファイルは外から見える必要性皆無なのでアクセスを制限する
先ほどの.htaccessに追加する

1<files wp-config.php>
2order allow,deny
3deny from all
4</files>

あと編集する必要がない時は

1$ sudo chown 444 wp-config.php

にしておいた

テーマ変更

デフォルトのテーマが寂しかったので変更した
管理画面に入って外観→テーマ→新しいテーマを追加から適当に気に入ったものを選択してインストールして適用

パーマリンクが動かない

.htaccess に書き込み権限がなくてコケてた以下を追記

1<IfModule mod_rewrite.c>
2RewriteEngine On
3RewriteBase /インストールパス/
4RewriteRule ^index\.php$ - [L]
5RewriteCond %{REQUEST_FILENAME} !-f
6RewriteCond %{REQUEST_FILENAME} !-d
7RewriteRule . /インストールパス/index.php [L]
8</IfModule>

メタ情報にwordpressのURL出るのが気になる

/wp-includes/widgets/class-wp-widget-meta.php を編集する
良くわからんので56行目付近にある部分をコメントアウトして消しておく

 1<?php
 2/**
 3* Filter the "Powered by WordPress" text in the Meta widget.
 4*
 5* @since 3.6.0
 6*
 7* @param string $title_text Default title text for the WordPress.org link.
 8*/
 9/* //追加
10echo apply_filters( 'widget_meta_poweredby', sprintf( '<li><a href="%s" title="%s">%s</a></li>',
11esc_url( __( 'https://wordpress.org/' ) ),
12esc_attr__( 'Powered by WordPress, state-of-the-art semantic personal publishing platform.' ),
13_x( 'WordPress.org', 'meta widget link text' )
14) );
15
16wp_meta();
17//追加*/
18?>