Wordpress

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

Wordpress はフリーでオープンソースのコンテンツ管理システム (CMS) です。Matt Mullenweg によって開発され2003年に初めてリリースされました。Wordpress には広大で活気に満ちたコミュニティが存在し、Wordpress CMS の外観や機能を簡単にカスタマイズできるフリーのプラグインやテーマが数万以上あります。Wordpress は GPLv2 でライセンスされています。

Wordpress の一番の特徴はその設定と管理のしやすさです。Wordpress サイトの設定には5分しかかかりません。Wordpress の管理パネルはウェブサイトのほぼ全てのことを簡単に設定することが可能です。プラグインやテーマの取得・インストールもそれに含まれます。Wordpress には手っ取り早い自動アップデートも存在します。

インストール

Wordpress を使うには PHPMySQL をインストールして設定する必要があります。詳しくは LAMP の記事を見て下さい。設定するときは、デフォルトでオフになっている PHP 拡張 で Wordpress が必要とする機能があるので注意してください。

pacman を使ってインストール

公式リポジトリから wordpressインストールしてください。

警告: pacman で Wordpress の更新を管理するのは簡単ですが、必須ではありません。Wordpress にはアップデートやテーマ、プラグインなどを管理するための機能が組み込まれています。公式の community パッケージをインストールした場合、Wordpress の管理パネルを使ってプラグインやテーマをインストールできなくなります。管理パネルを使うには、無駄に複雑なパーミッションの設定をしたり、root で FTP にログインする必要が出て来ます。パッケージをアンインストールしたときでも pacman は Wordpresss のインストールディレクトリを削除しません。これはディレクトリに手動でデータを追加していなかった場合も同じです。

手動インストール

wordpress.org を開いて Wordpress の最新版をダウンロードしてウェブサーバーのディレクトリに展開してください。ディレクトリにはパーミッションを設定して (Wordpress が使用する) FTP ユーザーがディレクトリに書き込みを行えるようにします。

cd /srv/http/whatever
wget https://wordpress.org/latest.tar.gz
tar xvzf latest.tar.gz

設定

以下に記述している設定方法は Wordpress をローカルネットワーク上で使うことを前提にしています。

ホスト設定

/etc/hosts ファイルを適切に設定してください。ローカルネットワークから Wordpress CMS にアクセスする際に重要になります。/etc/hosts ファイルは以下のように記述されている必要があります:

#<ip-address>   <hostname.domain.org>   <hostname>
127.0.0.1       lithium.kaboodle.net    localhost lithium
::1             lithium.kaboodle.net    localhost lithium
ノート: ホストネームを使って Wordpress をインストールする場合、モバイル端末から Wordpress にアクセスするにはプロキシサーバーを使用する必要があります。そうしないとウェブサイトの見た目がおかしくなります。#見た目がおかしい (スタイルが適用されない) を参照。

apache の設定

ノート: PHPMySQL が動作するように Apache を設定する必要があります。設定方法は LAMP#PHPLAMP#MySQL/MariaDB を見てください。

apache が Wordpress を見つけられるように設定ファイルを作成してください。以下のファイルを作成して、お好きなテキストエディタで編集してください:

# /etc/httpd/conf/extra/httpd-wordpress.conf
Alias /wordpress "/usr/share/webapps/wordpress"
<Directory "/usr/share/webapps/wordpress">
	AllowOverride All
	Options FollowSymlinks
	Require all granted
</Directory>
ノート: PHP 7.0 から、open_basedirデフォルトで設定されなくなった ため、PHP のデフォルト設定を使っている場合 php_admin_value open_basedir ... という行は必要ありません。

1行目の /wordpress はお好きなように変更してください。例えば、/myblog にするとあなたの Wordpress ウェブサイトを見るためには http://hostname/myblog を開くようになります。

また、手動でインストールした場合は、Wordpress のインストールディレクトリのパスを変更してください。php_admin_value 変数に親ディレクトリも忘れずに追加してください。

# /etc/httpd/conf/extra/httpd-wordpress.conf
Alias /myblog "/mnt/data/srv/wordpress"
<Directory "/mnt/data/srv/wordpress">
	AllowOverride All
	Options FollowSymlinks
	Require all granted
</Directory>

Apache の設定ファイルを編集して以下を追加してください:

# /etc/httpd/conf/httpd.conf
Include conf/extra/httpd-wordpress.conf

そして httpd (Apache) を再起動してください。

Nginx の設定

ノート: PHPMariaDB で動作するように nginx を設定する必要があります。

以下は、https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/ にあるサーバブロックの設定例です。

# Upstream to abstract backend connection(s) for php
upstream php {
       server unix:/tmp/php-cgi.socket;
       server 127.0.0.1:9000;
}

server {
       ## Your website name goes here.
       server_name domain.tld;
       ## Your only path reference.
       root /var/www/wordpress;
       ## This should be in your http block and if it is, it's not needed here.
       index index.php;

       location = /favicon.ico {
               log_not_found off;
               access_log off;
       }

       location = /robots.txt {
               allow all;
               log_not_found off;
               access_log off;
       }

       location / {
               # This is cool because no php is touched for static content.
               # include the "?$args" part so non-default permalinks doesn't break when using query string
               try_files $uri $uri/ /index.php?$args;
       }

       location ~ \.php$ {
               #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
               include fastcgi_params;
               fastcgi_intercept_errors on;
               fastcgi_pass php;
               #The following parameter can be also included in fastcgi_params file
               fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
       }

       location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
               expires max;
               log_not_found off;
       }
}

MariaDB の設定

MariaDB は様々なツールを使って設定をすることができますが、最も一般的な方法はコマンドラインツールを使う方法か、phpMyAdmin です。

ヒント: 先に MariaDB をインストール・設定してください。詳しくは MySQL#インストールを見てください。

MariaDB のコマンドラインツールを使う

まず、root でログインしてください。MariaDB の root パスワードが要求されます:

$ mysql -u root -p

そしてユーザーとデータベースを作成してください:

ノート: wordpress がデータベース名で wp-user がユーザー名です。自由に名前を付けることができます。また、choose_db_password はパスワードに置き換えてください。次のセクションで localhost と一緒にユーザー名・パスワードを設定することになります。
MariaDB> CREATE DATABASE wordpress;
MariaDB> GRANT ALL PRIVILEGES ON wordpress.* TO "wp-user"@"localhost" IDENTIFIED BY "choose_db_password";
MariaDB> FLUSH PRIVILEGES;
MariaDB> EXIT

詳しくは WordPress.org 公式手順 を参照してください。

phpMyAdmin を使う

phpMyAdmin のインストールと設定については phpMyAdmin を見て下さい。

ウェブブラウザで、phpMyAdmin を開いて以下の手順に従ってください:

  1. phpMyAdmin にログイン。
  2. "user" をクリックしてから "Add user" をクリック。
  3. ポップアップウィンドウに名前とパスワードを記入。
  4. "Create database with same name and grant all privileges" を選択。
  5. "Add user" ボタンをクリックしてユーザーを作成。

Wordpress のインストール

http サーバー, php, mysql の設定が完了したら、最後に WordPress をインストールします。

Wordpress をインストールするときはウェブブラウザのアドレスフィールドにデフォルトのウェブサイト URL に設定した URL を使います。http://localhost/wordpress を開いたとき、ローカルネットワークからウェブサイトにアクセスすることができますが、外観や機能は上手く表示されません。

  1. http://hostname/wordpress を開く。
  2. "Create a Configuration File" ボタンをクリック。
  3. "Let's go!" ボタンをクリック。
  4. 前のセクションで作成したデータベースの情報を記入。
  5. "Submit" をクリック。

公式リポジトリから Wordpress をインストールした場合、Wordpress によって使われる wp-config.php ファイルを作成するためのパーミッションがありません。Wordpress によって提供される情報を使って root で手動で作成する必要があります。

セットアップページでは Wordpress から wp-config.php ファイルが書き込めないと表示されます。編集ボックスのテキストをコピーしてテキストエディタで /usr/share/webapps/wordpress/wp-config.php を開き、コピーしたテキストをエディタに貼り付けてファイルを保存してください。

作成後、chown を使って /usr/share/webapps/wordpress/ とその中身の所有者・所有グループを http に変更してウェブサーバーからアクセスできるようにしてください。

最後に、"Run the install" をクリックすると Wordpress によってデータベースが作成されます。データベースの作成が完了すると "Success!" ページが表示されます。ログインボタンをクリックしてインストールを完了してください。

Wordpress のインストールが正しく完了しているか確かめるためにウェブサイトにアクセスしてみると良いでしょう。

使用方法

テーマのインストール

新しいテーマを探す

Wordpress には数千ものテーマが存在しています。google でテーマを検索するのは、ゴミだらけの川を歩いて渡るようなものでしょう。テーマを探すときは以下のサイトがおすすめです:

ヒント: WordPress の管理者インターフェイスを使ってプラグインやテーマをインストールできます。WordPress ディレクトリの所有者を HTTP サーバーのユーザーに設定してください。Apache の場合、通常は http になります。

管理パネルを使ってインストール

管理パネルを使ってテーマをインストールする前に Wordpress を動作させるマシンに FTP サーバーを設定する必要があります。

FTP サーバーを設定したら、Wordpress にログインして "Appearance->Install Themes->Upload" をクリックしてください。テーマが入っている zip ファイルを選択して "Install Now" をクリックします。FTP 情報を入力するボックスが表示されるので、入力して "Proceed" をクリックしてください。上手く行けば、テーマがインストールされます。自由に有効化してください。

手動でインストール

圧縮ファイルをダウンロードして wp-content/themes フォルダに展開してください:

# Example for a theme named "MyTheme"
cd /path/to/wordpress/root/directory
cd wp-content/themes
# get the theme archive and extract
wget http://www.example.com/MyTheme.zip
unzip MyTheme.zip
# remove the archive (optional)
rm MyTheme.zip

テーマの作者による追加の指示に従ってください。

テーマセレクタ ("Appearance->Themes") から新しいテーマを選択できます。

プラグインのインストール

プラグインのインストールはテーマのインストールと同じです。左のナビゲーションバーの "Plugins" リンクをクリックして手順に従ってください。

アップデート

Wordpress にログインしたときにアップデートの通知が表示されることがあります。FTP クライアントをインストール・設定していて、ファイルシステムのパーミッションが正しければ、ボタンをクリックしてアップデートを実行できます。後は手順に従ってください。

もしくは、SSH を使って SSH SFTP Updater Support プラグイン で環境をアップデートすることもできます。

トラブルシューティング

見た目がおかしい (スタイルが適用されない)

(デスクトップまたはモバイルの) ウェブブラウザで開いたときに Wordpress ウェブサイトにスタイルが適用されない場合、ホストネームが ip アドレスに正しくマッピングされていません。

ip アドレスではなくサーバーのホストネームを url で使っている場合に発生し、初期設定で Wordpress はデフォルトのウェブサイト URL として使用します。

修正するには、/etc/hosts ファイルを編集するかプロキシサーバーを設定する必要があります。簡単にプロキシサーバーを設定したい場合は Polipo を見てください。複雑な設定が必要な場合は Squid を見てください。

Wordpress のデータベーステーブル (wp_options テーブル) の値を変更する方法もあります。siteurl オプションを変更して "localhost" ではなくドメイン名を直接指定してください。

プラグインがインストールできません: Could not create directory

WordPress サイトは、ローカルファイルへの適切なパーミッションが必要です。ファイル/ディレクトリを作成するためのパーミッションを持っていません。Arch の Apache はユーザー `http` を使用します。

適切なパーミッションを与えるには、以下のコマンドを実行してください。

$ chown -R http:http your-wordpress-directory/wp-content

さらに、php-fpm を使用して nginx をセットアップする場合(バージョン 7.4 以降)、php-fpm の systemd ユニットファイルをオーバーライドする必要があります。php-fpm.service を編集し、以下の行を追加してください。

override.conf
[Service]
ReadWritePaths=/usr/share/webapps/wordpress

プラグインをlocalhostに保存できない

WordPress は、デフォルトではプラグインのダウンロードに FTP サーバのみを使用します。ローカルにもダウンロードするためには、以下の設定を追加してください。

# wordpress_root_location/wp-config.php
define('FS_METHOD', 'direct');

画像の切り出しにエラーが発生しました。

Wordpress で画像を変更するには、`php-gd` が必要です。php-gdインストールし、/etc/php/php.ini の以下の行をアンコメントして、拡張機能を有効にしてください。

extension=gd

Call to undefined function mysql_connect()

You can usually see this error if you are using mysql/mariadb with php>=7.0.0 and have debug enabled in wordpress config.

This issue can be solved by uncommenting the following line in /etc/php/php.ini:

 extension=mysqli

参照