Tag Archives: WordPress

WordPress + SQLite3 + Docker で1分もかけずにブログを作る

最近、Dockerイメージの作成がマイブームかも知れません。
今回はイメージさえあればWordPressを1分もかけずに構築できるイメージを作成してみました。

# vi Dockerfile

FROM centos:7

# 必要なパッケージをインストール
RUN yum -y update
RUN yum -y install httpd httpd-devel zip unzip tar wget
RUN yum -y install php php-xml php-pdo php-gd php-mbstring sqlite sqlite-devel

# WordPressをインストールしてSQLite3で動作するように設定
RUN wget https://ja.wordpress.org/latest-ja.tar.gz
RUN wget https://downloads.wordpress.org/plugin/sqlite-integration.1.8.1.zip
RUN tar xvfz ./latest-ja.tar.gz
RUN unzip ./sqlite-integration.1.8.1.zip
RUN rm -f ./latest-ja.tar.gz
RUN rm -f ./sqlite-integration.1.8.1.zip
RUN mv wordpress /var/lib/wordpress
RUN chown -R apache.apache /var/lib/wordpress
RUN mv /var/lib/wordpress/wp-config-sample.php /var/lib/wordpress/wp-config.php
RUN mv sqlite-integration /var/lib/wordpress/wp-content/plugins/
RUN mv /var/lib/wordpress/wp-content/plugins/sqlite-integration/db.php \
       /var/lib/wordpress/wp-content/

# ひな形を公開ディレクトリにコピーする
RUN cp -rpf /var/lib/wordpress/* /var/www/html/

# ログイン時にひな形から展開するように定義する
RUN echo "yes n | cp -ripf /var/lib/wordpress/* /var/www/html/ > /dev/null 2>&1" >> /root/.bash_profile

EXPOSE 80
VOLUME /var/www/html

RUN systemctl enable httpd

EXPOSE 80

# docker run --privileged -itd -p 8080:80 -v /root/wordpress/public_html:/var/www/html wordpress-sqlite bash -l -c "/sbin/init"

ブログの実態はホスト側で持つので保管先のディレクトリを作成
# mkdir -p /root/wordpress/public_html
# chmod 777 /root/wordpress/public_html

コンテナ起動
# docker run –privileged -itd -p 8080:80 -v /root/wordpress/public_html:/var/www/html wordpress-sqlite bash -l -c “/sbin/init”

ブラウザで http://127.0.0.1:8080 にアクセスしてWordPressのインストール画面が表示されれば成功です。

MySQLのコンテナを作成してDBとユーザを作ってボーリュームの指定をして・・・
というのが面倒だったので小規模ならSQLite3でもいいでしょ?っというノリで作ってみました。

Apacheを使いましたが、よくよく考えて見ればNginxでも良かったなと失敗した感が・・・。
そのうち、Nginxとphp-fpmとSQLite3を組み合わせたDockerイメージを作成してみたいと思います。

このファイルタイプはセキュリティの観点から許可されていません。

度々出るので一時期はファルを編集していたのですがそれすら鬱陶しいと思うようになっていたので放置してましたが、今回ふと思い出し調べていたらファイルを触らずとも簡単にプラグインでファイルタイプを管理できるようなので試してみた。

プラグイン名:PJW Mime Config

このようにプラグインからの設定でファイルタイプの追加が簡単に行えるようです。

参考元
Androidアプリ(.apk)のアップロードを可能にするWordPressプラグイン『PJW Mime Config』

WordPress 画像が別ページに表示される

WordPressを定期的に再インストールして使っていたら、いつの間にか画像をクリックしても下記のようなページに転送されるようになっていました。

画像をポップアップするプラグインももちろん機能しない状態になっており頭を抱えていたところ、下記のサイトにてヒントが載っていたため解決できました。

Changing Default WordPress Media Link URL

WordPressには隠し機能があるようでURLを下記のように編集しアクセスすると細かいオプションを設定できるページが表示されるようです。
私自身数年間WordPressを利用していますがこんな機能があるとは初めて知りました。。。まだまだ勉強不足ですねぇ^^;

URL
http://ドメイン名/WPまでのパス/wp-admin/options.php

ページ内で”image_default_link_type”という項目を探し出し、”file”というパラメータをセットします。

最後までスクロールし”設定を保存”をクリックすることで設定を保存することが可能です。

これで、画像をクリックすると画像が表示されるはずです。

WordPressで画像直リンクを規制する方法

そもそも、大した記事も書いていないのですが
最近、記事の丸コピ+画像直リンクがあり頭を抱えたのでちょっぴり対策します

プラグイン検索で下記のキーワードで検索しプラグインをインストールします
“hotlink protection”

はい。これだけ。
本当は.htaccessを使って細かく制限するのがいいんですが、中々めんどっちぃのでこれで^^;

参考にしてまとめるのは全然構わないのですがさすがに丸コピはどうかと思うのでねぇ・・・

WordPress広告自動挿入

今までAdmanというプラグインを利用していましたが、最近下記のようなエラーが出ているのを発見したので調べました。

Warning: stripcslashes() expects parameter 1 to be string, array given in /var/www/html/wp-content/plugins/adman/adman.php on line 143

Admanの他に新しくNew Admanというプラグインを同じ開発者が公開していたのでインストールしてみたところエラーも出ず正常に動いているようです。

WordPress ハッキング注意 一応対策

先程うちのブログがハッキングをうけて乗っ取られました。
被害状況としては、記事を勝手に作成され下記のような画像をアップロードされてました。

また、ハッキングのお土産としてHDDの使用率を100%にするウイルス?を残されていて下記のような訳のわからないファイルを自動作成されていました。
-rw-r–r– 1 apache apache 104857600 7月 28 20:40 Wed Jul 28 20:38:27 JST 2010.dat
-rw-r–r– 1 apache apache 104857600 7月 28 20:40 Wed Jul 28 20:38:31 JST 2010.dat
-rw-r–r– 1 apache apache 104857600 7月 28 20:40 Wed Jul 28 20:38:46 JST 2010.dat
-rw-r–r– 1 apache apache 35831808 7月 28 20:41 Wed Jul 28 20:40:33 JST 2010.dat
-rw-r–r– 1 apache apache 31326208 7月 28 20:41 Wed Jul 28 20:40:34 JST 2010.dat
-rw-r–r– 1 apache apache 30171136 7月 28 20:41 Wed Jul 28 20:40:39 JST 2010.dat
-rw-r–r– 1 apache apache 87064576 7月 28 20:37 date.dat
-rw-r–r– 1 blog blog 237787 7月 28 18:02 hACKED.jpg
-rw-r–rw- 1 apache apache 1731 7月 28 20:37 hACKED.ktai.jpg

これらの止め方と修復の方法をメモしておきます。
ディレクトリへ移動し、下記のコマンドを実行します。

# rm -f hACKED.jpg
# rm -f hACKED.ktai.jpg
# rm -f a.php
# rm -f date.dat
# rm -f Wed*
# pgrep -f ‘head’ | xargs kill

その他の症状としてはtopコマンドで確認したらわかるようにheadで占領されます。

一応ハッキングした人は日本人みたいなので皆さんもご注意下さい。

WordPressでPOPUP広告を表示する

MaxBlogPress Unblockable Popup
というプラグインを利用します。

MaxBlogPressのアカウントが必要になりますが、とても高性能です。
※当サイトでは、煩わしくないように表示する回数は必要最低限にしてあります。

実際の様子
WS000039

参考元:MaxBlogPress(海外サイト)

SEO対策 WordPress ソーシャルブックマーク プラグイン導入

参考元:wp-hatena にさらに追加、合計 10 個の SBS に対応

ここを元にはてなブックマーク等
ソーシャルブックマークを簡単に行えるようにするプラグインを導入しました。

ws000060

WP-PageNaviを導入 方法解説
ここで紹介したようにこのプラグインもテンプレートの編集が必要になります。

表示したい場所に
下記を追記してください。

<?php if(isset($wph)) {
	$wph->addHatena();
	$wph->adddelicious();
	$wph->addLivedoor();
	$wph->addYahoo();
	$wph->addFC2();
	$wph->addNifty();
	$wph->addPOOKMARK();
	$wph->addBuzzurl();
	$wph->addChoix();
	$wph->addnewsing();
}?>

WP-PageNaviを導入 方法解説

WordPressを使っていて考えてしますのはやはりページ送りの部分
一ページ次ごとにしか選択できないので読む側にとってはとても不便です。

今回この問題を可決してくれるプラグインの導入の仕方を紹介します。
ws0000591
このプラグインを導入すると上のように表示されるようになります。

先ずいつも通りWP-PageNaviをダウンロードしてプラグインを有効にしておきましょう。

このプラグインを導入するには面倒な事にテーマーファイルを編集する必要があります。

index.phpやarchive.php
私の環境ではhome.phpの設定も必要でした。

<div class=”navigation”>

の下に下記を画像のように追加
<?php if(function_exists(’wp_pagenavi’)) { wp_pagenavi(); } ?>

ws000058

これで表示できる様になるかと思います。
参考元:ワードプレス 導入奮闘記

WordPressでストリーミング(動画再生) プラグイン

WordPressで自分のサーバーにUPしたFLV形式の動画を
ストリーミング(再生)出来るようにするプラグインを発見したので紹介します

Flash Video Player Plugin for WordPress
(海外サイト)

凄いですね~流石に驚きました^^
私のような容量に制限されない環境では凄い便利です。

使うにはダウンロードしていつものようにプラグインを追加してください。
各種設定は
設定>Flash Video
で行えます。

動画を表示するには

[flashvideo filename=http://動画ファイルへのURL /]

と入力する必要があります。

サンプル

Get the Flash Player to see this content.