ここまで簡単に。wordpressインストールからバックアップまで一通りやった事

あまりにフロント経験が足りないのでwordpressをいじってみました。

前準備

  • Apache+mod_php等でPHPの動作する環境を作成。
  • MySQLをインストールしておき、wordpress用のユーザ、データベースを作成する。(両方流用でもかまわないが、管理上分けといた方が良いと思う)

インストール

ここはみんなやってると思うので割愛。私は後者で。

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

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

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

/** データベースのテーブルを作成する際のデータベースのキャラクターセット */
define('DB_CHARSET', 'utf8');

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');

/**
* 認証用ユニークキー
*/
//以下は上記通り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');

ちなみにデフォルトfalseなので放っときゃいいんですが、define('WP_DEBUG', false);をtrueにするのは注意すること!
ちょっと情報見たくて設定して戻し忘れてた結果。標準以外のどんなテーマ、プラグイン入れても大抵画面にwarning出てしまって混乱した…
以上でWEB画面でできない設定は終了。えらい簡単でびっくりした。DBさえつながれば後は全部管理画面でできるだろってことね。

初期設定

ブラウザからhttp://[インストールしたURL]/wp-admin/install.phpにアクセス。サイト名とかの設定を行なう。

管理画面からのアップデート

デフォルトで管理画面からテーマ、プラグインの検索→インストールはもちろん、wordpress自身の更新までできてしまうという…ホント進歩したよなあ。但し適当にやると失敗するので、以下の権限設定を行なっておく。
apacheの場合以下のコマンドで、$ROOT以下の所有者になっておく。これをしないとwordpressが自身を上書きできないので警告が出て、FTPでアップするからアカウント、パス教えろとか言われます。メッセージからこれをするとwordpressFTP経由でアップしてくれるようですが、FTPサーバ立てるとか今更無理。

# chown -R apache:apache $ROOT

参考
http://vps.fean.info/archives/server101.html

テーマ選定

独学で行政書士試験を突破! | 超難関だと思われている行政書士試験。合格率は全国平均で約9%ですが、ある勉強法を実践している方は25%の確率で合格できるんです。
を改良している
uzusionet.com -&nbspuzusionet リソースおよび情報
に決定!
正直デザインはシンプルであれば良いんだけども、
プログラマなので、デザインがどうとかより、

サイト構築時にベースとして利用できる超汎用テンプレートとして、シンプルなHTML構成と柔軟性の高い専用のCSSスキン

というコンセプトが後からいじりやすいかなっつーことで気に入りました。
ちなみにこれは管理画面からの検索には出てこないので以下手順でインスコ

  1. 公式ページからDL、解凍。
  2. $ROOT/wp-content/themes以下にディレクトリごとコピー。
  3. 管理画面のテーマのページで有効化。
  4. vicuma独自の設定画面でtracking*2 のコードも設定できる。このぐらいでソースいじりたく無いもんなー。

プラグイン選定

Akismet

最初から入っているスパムコメント排除ツール。WordPress.comに登録して、APIキーを取得する必要あり。
APIキーはサインアップして、WordPress.comで取得。

WP Multibyte Patch

日本語版ワードプレスに最初から入っている。入れないと機能によっては日本語の扱いがヤバいらしいので有効化。

All in One SEO Pack

SEO設定。サイトのdescription,keywords設定できるようにし、個別ページにも設定可能になる。

cbnet Ping Optimizer

blog更新のping通知アプリ。標準で「投稿」機能にもあるけど、ログが見れるのと編集時にはpingを送らなくなる。
pingサイトはデフォルトのpingomatickにhttp://wpdocs.sourceforge.jp/Update_Servicesの日本語サイト分を追加した。

Disable WPAUTOP

HTMLモードであろうが、改行時に問答無用でPタグが入る動作をやめてくれる。

Google XML Sitemaps

sitemap.xml生成。

Ktai Style

ガラケーで表示できるようになる。やってみたけど、普通に見れた。ガラケー対応がほぼプラグイン入れるだけとわね…

Tweetable

主な機能は以下。

  • 自分のTLを表示するウィジェット追加。
  • エントリの追加を自動的にtwietterに書きこむ。
  • 各記事のページにretweetボタン追加*3

設定はちょっとめんどくさくて、自分の投稿を自動でtweetするためにtwitterでアプリケーション登録する必要がある。
twitterにアプリケーション登録して、APIキーを取得し、tweetableの設定画面で設定すればおk
http://www.ryuzee.com/contents/blog/2760
プラグインは主に以下のサイトを参考にしました。良記事ありがとうございますm(__)m
使用中のおすすめWordPressプラグイン15個 | Webクリエイターボックス
Loading...

ソーシャルボタン

貼った場所

読み終わったあとに視界に入るように最後に設定した。
ウィジェットにコード入れるやつがあるからフッタに入れてみたけど、失敗。下過ぎる。結局ソースいじることにして、wp-content/themes/wp.vicuna.exc/single.php*4のコンテンツ終わりに挿入した。

twitterボタン

簡単!
http://dev.twitter.com/pages/tweet_button
でコードを取得して

<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script> <a href="http://twitter.com/share" class="twitter-share-button">Tweet</a>

取得したコード貼るだけ。

  • single.phpのコンテンツ終わりに挿入した。
facebook like button

http://developers.facebook.com/docs/reference/plugins/like

で作ったコードに、以下のようにpermalinkを追加する。これもsingle.phpを直接編集。

<iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo get_permalink() ?>&amp;layout=button_count&amp;show_faces=false&amp    ;width=130&amp;action=like&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width    :130px; height:21px;" allowTransparency="true"></iframe>

ちょっと必要なのはもともとURLが入っていたところをにすること。JSでやってもいいけど、どうせphpいじるのでこっちの方が手軽。
あと、iframeなので中身がはみ出ると切れてしまうのでwidthで調整。like数がすげー増えない限り問題無いと。

hatebu button

http://b.hatena.ne.jp/guide/bbutton
これもfacebookとほぼ同じで上記URLで作成したコードを貼りつけ、URL部分を上記phpで置換。簡単。

mixiチェック

結論から言うとめんどくせえええええ…ということで今のところやらない。
このボタンの為だけにデベロッパー登録が必要だと…うぜー
twitterみたいにHTMLファイルに挿入すれば動くとかできないもんかね。

バックアップ

バックアップすべき対象は二つ

$ROOT以下のファイル

git管理にし、編集ごとに別のサーバ(私の場合は自宅のサーバ、githubとかでいいような)にpushする。

wordpressユーザ使用DB

別のサーバで ssh mysqldump -uuser -ppass db > back.dmp
をcron登録しておく…別のサーバが無ければ、dumpしたファイルを何かのオンラインストレージにアップするスクリプト書くとかが手軽かなー。DropBoxとか入れてればコピーだけですむよね。
オペミス対応は難しいけど、ディスク破損とかの対応ならこれで十分かなーと思う。
記事増えて、バックアップに時間かかるようになったらmysqldumpはロックがかかるからちょっと厳しいかもしれないけど。

まとめ

大体安心できるぐらいの状態にはなったかと。
しかしえらい簡単&便利になったもんだ…すごい。
普段は運用もフロント(VIEW層)はほぼやらずに、controller,modelに埋もれてるので初めて知る概念が多くて楽しかった。そして、いかにフロントの知識が無いか思いしらされた…実験場として一週間ぐらいやってるけど、全然検索から来ない。ああ、SEO,SEO言ってる気持ちが段々わかってきた。
コンテンツの出来よりも前にサイトに来てくれないと意味無いもんな…

*1:プラグインがテストされてないことがあるので少し前のバージョンが良いかと、最新は3.0.4

*2:google analyticsとか

*3:位置固定っぽいのと、後述のソーシャルボタンでどうせソースに手を入れるので使わなかった

*4:single.phpは各記事用処理