転載・引用について

ユーザ用ツール

サイト用ツール


サイドバー

Site Contents Index

転載・引用について

RSS

serviceapp:wordpress

WordPress

WordPress(WP)は一般にBlogシステムと言われているが、実際にはBlogに強いCMSという位置づけだろうか。 ここでは、このWPのInstall関連のメモを。

参照URLはここ。

このWPには非常にたくさんのPlug-Inがあり、またWeb I/Fとしてもなかなか良い。

WordPressのInstall

Preparing the Install

WPが必要とするPlatformは、基本的にMySQLとWeb Serverシステム、あとはPHPかな。それなりには簡単。

今回も例によってNetBSD上にInstallしてみることにする。なお、WPの基盤はPHPなので、PHP + suhosinベースでインストールする。

Installしたpackageは以下の通り。

  • lua
  • lighttpd-1.4.22 (with lua)
  • ImageMagick
  • subversion-base
  • nkf
  • mecab
  • mysql-client
  • mysql-server
  • p5-DBD-mysql
  • p5-File-Temp
  • perl5
  • php53 + suhosin
  • php-bz2
  • php5-dom
  • php-ftp
  • php-gd
  • php-gettext
  • php-iconv
  • php-json
  • php-mbstring
  • php-mysql
  • php-pdflib
  • php-pdo
  • php-pdo_mysql
  • php-posix
  • php-suhosin
  • php-sockets
  • php-xmlrpc
  • php-zip
  • php-zlib

lighttpdのCompile時に、mk.confでluaを追加するように設定しておくこと。これをしないと、mod_magnetが動かず、Permalink設定を変更できなくなる。

  • mk.confに以下の行を追加する。肝はlua。
  • PKG_OPTIONS.lighttpd=           bzip ssl lua

MySQLを設定する

インストールはMySQLのInstallを参照

WordPress用accountを作成

  1. Database名, User名, Passwordを決める
    • DB名: WPDB
    • User名: WPDBM
    • Passwd: !jc-a#5-

WordPressのInstall

  1. とにかくWordPressをDownload。
  2. 展開
    • /some/where/webpage/dir に展開する
      • 当然Unzipが必要
  3. wp-config.phpを編集
    • DB関係の設定などを行う
    • 鍵Generatorにアクセスして、keyを拾う
      • これは、Uniqueであれば別に何でも良いらしいが、まぁ、貼り付けやすいので。
    • $ cp wp-config-sample.php wp-config.php
    • 以下に、差分を掲載。
      $ diff -c ./wp-config-sample.php ./wp-config.php
      *** ./wp-config-sample.php      Fri Feb 13 00:47:55 2009
      --- ./wp-config.php     Sun May 24 23:46:14 2009
      ***************
      *** 21,33 ****
        
        // ** MySQL 設定 - こちらの情報はホスティング先から入手してください。 ** //
        /** WordPress のデータベース名 */
      ! define('DB_NAME', 'putyourdbnamehere');
        
        /** MySQL のユーザー名 */
      ! define('DB_USER', 'usernamehere');
        
        /** MySQL のパスワード */
      ! define('DB_PASSWORD', 'yourpasswordhere');
        
        /** MySQL のホスト名 (ほとんどの場合変更する必要はありません。) */
        define('DB_HOST', 'localhost');
      --- 21,33 ----
        
        // ** MySQL 設定 - こちらの情報はホスティング先から入手してください。 ** //
        /** WordPress のデータベース名 */
      ! define('DB_NAME', 'WPDB');
        
        /** MySQL のユーザー名 */
      ! define('DB_USER', 'WPDBM');
        
        /** MySQL のパスワード */
      ! define('DB_PASSWORD', '!jc-a#5-');
        
        /** MySQL のホスト名 (ほとんどの場合変更する必要はありません。) */
        define('DB_HOST', 'localhost');
      ***************
      *** 47,56 ****
         *
         * @since 2.6.0
         */
      ! 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');
        /**#@-*/
        
        /**
      --- 47,56 ----
         *
         * @since 2.6.0
         */
      ! define('AUTH_KEY',        'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
      ! define('SECURE_AUTH_KEY', 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy');
      ! define('LOGGED_IN_KEY',   'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz');
      ! define('NONCE_KEY',       'wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww');
        /**#@-*/
        
        /**
      ***************
      *** 59,65 ****
         * それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
         * インストールすることができます。半角英数字と下線のみを使用してください。
         */
      ! $table_prefix  = 'wp_';
        
        /**
         * ローカル言語 - このパッケージでは初期値として 'ja' (日本語 UTF-8) が設定されています。
      --- 59,65 ----
         * それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
         * インストールすることができます。半角英数字と下線のみを使用してください。
         */
      ! $table_prefix  = 'rrwp_';
        
        /**
         * ローカル言語 - このパッケージでは初期値として 'ja' (日本語 UTF-8) が設定されています。
    • ここで、行末の^Mを削除しておくこと。
    • table_prefixを書き換えることで、このDBを複数のWordPressが利用できるようになるので、書き換えておく
  4. WordPressのInstall-URLにアクセスする
    • http://some.where.host/wp-admin/install.phpなど

Webからの初期設定

http://some.where.host/wp-admin/install.phpなどを叩くと、インストール画面が表示される。

  1. ようこそ画面
    • ブログタイトルを入力
    • メールアドレスを入力
    • 「Wordpressをインストール」ボタンを押すと、メールアドレスにユーザー名とパスワードが送られてくる
    • 成功しました!画面に移る
  2. 成功しました!画面
    • メールアドレスにユーザー名とパスワードが表示される(メールの内容と同じ)
    • ログインボタンを押す
  3. ダッシュボードからユーザーを選択
    • ダッシュボード→ユーザー→新規追加を選択
    • 自分のアカウントを作成
    • logoutする
    • 自分のアカウントでloginする
    • ダッシュボード→ユーザーで、adminを削除
      • 全ての投稿とリンクを次のユーザーに割り当てるを選択し、ユーザー名を確認する
  4. ニックネームを登録
    • 個人プロフィールを登録
  5. 「未分類カテゴリー」を修正する
    • 単に格好が悪いので。
    • 投稿→カテゴリー→「未分類」を選択
      • カテゴリー名を「その他」に
      • カテゴリースラッグを「etc」に
  6. 一般設定を確認
    • 内容を明確にするなど。
    • 設定→一般から設定
      • 取りあえず時刻フォーマットだけ変更(24時間表示に)
  7. 投稿設定を変更
    • 設定→投稿設定から設定
      • 入力欄を30に
  8. パーマリンク設定
    • 投稿IDが入るパーマリンクは不都合が多いので、投稿名が入るように修正
    • 設定→パーマリンク設定
      • 月と投稿名が入るように修正。
      • パーマリンクを/%category%/%postname%.html形式にする
        1. Lighttpdがlua付きでCompileされていることを確認する
        2. lighttpd.confのVirtual hostブロックを以下のように変更
          •   server.document-root         = "/path/to/WP"
              magnet.attract-physical-path-to = ( server.document-root + "/rewrite.lua" )    ← 追加
        3. /path/to/WP/rewrite.luaを作成
          • attr = lighty.stat(lighty.env["physical.path"])
             
            if (not attr) then
              lighty.env["uri.path"] = "/index.php"
              lighty.env["physical.rel-path"] = lighty.env["uri.path"]
              lighty.env["physical.path"] = lighty.env["physical.doc-root"] .. lighty.env["physica
            l.rel-path"]
            end
        4. Lighttpdを再起動すると、「おお! 動くじゃないか!!」

WordPressを多重化する方法

WordPressは、そもそも多重化をあまり考慮していないシステムであって、簡単に多重化する方法は恐らく無い。

WordPressの記事の管理は

  • 投稿記事およびDiscussionはDBに登録することで管理する
  • アップロードされたファイルは、Serverのディレクトリに保存する

ということなのだが、前者はともかく後者が問題になる。

ということは、NFSか何かでディレクトリを共有するしかないと言うことだと思われる。

というわけで色々ググってみたがやっぱり記事がない。Bingってみてもだめ。そうか、二重化する人はほとんど居ないんだなぁ。諦めるか。

serviceapp/wordpress.txt · 最終更新: 2019/01/20 00:02 (外部編集)