引き続き、wordpress の設定です
Androidアプリ位置情報プログラミング
を実効するための設定です
これで、スマートフォン位置情報アプリの準備ができました
サーバー関連やったことがないと挫折するかもしれないので
メモしてみました
まず、必要なファイルを
wordpress 直下へコピーします
cp -p /var/www/wordpress/wp-content/plugins/easy-regist-landmark/get_nearby_xml.php /var/www/wordpress/
cp -p /var/www/wordpress/wp-content/plugins/easy-regist-landmark/server_config.php /var/www/wordpress/
でコピーできます
そしたら、設定ファイルを編集します
cd /var/www/wordpress/
で移動して
vim server_config.php
でファイルを開き設定します
$sql_server = “localhost”;
$sql_user = “root”;
$sql_pw = “pass”;
$sql_db = “wp”;
となっているところを編集します
編集完了したら確認します
リクエストURLは
http://サーバIP/wordpress/get_nearby_xml.php
私の場合は
http://192.168.10.220/wordpress/get_nearby_xml.php
でした
これにパラメータをつけてブラウザにアクセスすると
XMLのツリー表示がでます
ちなみに、パラメータは&をつけてつなげて書きます
パラメータの意味は
lat
緯度
lon
経度
nearby
範囲
count
表示件数
http://192.168.10.220/wordpress/get_nearby_xml.php?lat=35.710058&lon=139.810718&nearby=10000000&count=1
で
アクセスした結果が以下の画像です
このパラメータの意味は
緯度 35.710058
経度 139.810718
の地点から 10000000m以内にある
ランドマークを
10件表示ということです
もっとも、登録は全然していないテストだったので、でたのは1件だけです
This XML file does not appear to have any style information associated with it. The document tree is shown below.
とでてますが
これは
この XML ファイルにはスタイル情報が関連づけられていないようです。以下にドキュメントツリーを表示します。
という意味で
対策を検索した結果
どうやら
mlアドレスを検索エンジンに登録すればよい
ということで、個人でのローカルブログでは
あまり関係ないようです
ちなみに、情報元は
http://qanda.rakuten.ne.jp/qa7466087.html
です
なお、設定するにあたって、以前
本格ビジネスサイトを作りながら学ぶ WordPressの教科書
で構築した wordpress を使いましたが
プラグイン導入すれば
新規投稿で問題なく使えるようです
今回、使用した書籍は以下の2つになります
カテゴリー: WordPress
位置情報と wordpress プラグイン
Androidアプリ位置情報プログラミング
で wordpress と通信するところがあったので
その準備のメモです
ちなみに、書籍は
http://www.shuwasystem.co.jp/support/7980html/3614.html
からサンプルをダウンロードして
解凍します
サンプルファイルは
Sample.zip
となっているので、
これを解凍するため
unzip ダウンロード/Sample.zip
inflating: README.TXT
extracting: Androidサンプルソース.zip
extracting: easy-regist-landmark.zip
となるので
次に
wordpress プラグインを使いたいので
easy-regist-landmark.zip
を解凍します
unzip easy-regist-landmark.zip
で解凍すると
creating: easy-regist-landmark/
inflating: easy-regist-landmark/easyregistland.php
inflating: easy-regist-landmark/get_nearby_xml.php
inflating: easy-regist-landmark/server_config.php
となるので、このディレクトリを wordpress プラグインのディレクトリへ移動します
私の場合、XAMPP ではなく
web server なので
cp -r easy-regist-landmark /var/www/wordpress/wp-content/plugins/
でディレクトリごとコピーします
cp -r とすればファイルではなく
ディレクトリのコピーが可能になります
ここまでできたら
ブラウザを開いて
wordpress へアクセスし
ログインします
ログイン後、ダッシュボードから
プラグイン >
インストール済みのプラグイン を選択し
easy regist landmark
を探して有効化します
探すときには
Goggle Chrome なら
Alt+E で Fを押すとブラウザ内検索できるので
ここで
easy と検索するとはやく探せます
これで、プラグインが有効化されるため
あとは確認します
投稿 > 新規追加
で
投稿します
書籍のまま、題名はスカイツリーとして
解説はなし
あとはショートコードの記述です
書式は
[cmap lat=”緯度” lng=”経度” buildheight=”建物の高さ”]
となります
建物の高さがわからないなら0にします
あとは、投稿を見てみると、以下のように地図が表示されます
ページキャッシュでサイト表示を高速化
ページキャッシュを使うには
WP Super Cache というプラグインを使います
これは
一度アクセスのあったページのキャッシュを生成し
次回以降再利用することで表示にかかる時間を
短縮するというものです
ただし、欠点として
キャッシュの有効期限が切れるまで
古いページが表示されてしまいます
なお、キャッシュをつかったときの
パフォーマンスの計測には
Firefox アドオンの firebug がおすすめです
もうひとつ、注意点として
キャッシュを入れると、アクセス解析がうまくいかなくなる
可能性があります
WassUp
Counterize などのように
wordpress 動作時にDBやファイルなどに
データを書き込んだり
アクセスしたブラウザによりことなうものはうまく動作しなくんります
このため、使うときには注意が必要になります
それでは、プラグインの導入です
まず、権限を変更しておきます
/var/www/wordpress/wp-content
の権限が 777 でないとエラーになるので
chmod 777 /var/www/wordpress/wp-content
としておきます
ちなみに最初の権限は
drwxr-xr-x
となっています
次に、
define(‘WP_CACHE’, true);
を追記するため
vim /var/www/wordpress/wp-config.php
でファイルを開き
/require_once
で探し、その上に
define(‘WP_CACHE’, true);
を追記します
これで、事前設定はできましたので
ダッシュボードの
プラグイン > インストール済みのプラグイン
から
WP Super Cache
を探し有効化します
有効化すると、設定ができるようになるので
chmod 755 /var/www/wordpress/wp-content/
でパーミッションを戻して置きます
これで、セキュリティも戻して安心したところで
設定開始です
簡易のところの
キャッシング利用(推奨)
に変更したら
ステータスを更新
をクリックします
次に、詳細タブをクリックし
ページを圧縮し、訪問者により速くページを供給する。 (推奨)
既知のユーザー向けにはページをキャッシュしない。 (推奨)
Clear all cache files when a post or page is published or updated.
へチェックをいれます
そして、最後に
ステータス更新
をクリックすれば設定完了です
Clear all cache files when a post or page is published or updated.
は、投稿が更新や公開されたときに
キャッシュをクリアするので、
これが一番便利だと思います
wordpress 日本語翻訳の高速化
日本語版wordpress は
翻訳するぶんだけ
英語版の wordpress よりも処理時間がかかってしまう
このため、プラグインをつかってこの時間を短縮する
今回、有効化したプラグインは
Prime Strategy Translate Accelerator
導入する時には
プラグインのディレクトリの中の
cache ディレクトリに書き込み権限を与える必要があるので
権限を変更
cd /var/www/wordpress/wp-content/plugins/001-prime-strategy-translate-accelerator/
で移動
最初の cache の権限は
drwxr-xr-x
となっているので
chmod 777 cache/
で書き込み権限を付与
そして、ダッシュボードへ移動して
プラグイン > インストール済みのプラグイン
で
001 Prime Strategy Translate Accelerator
を有効化
有効化すると、
設定
という項目があるので、これをクリックして
設定します
変更すべきは
キャッシュを有効化する
というチェックボックスにチェックを入れ
変更を保存すれば完了です
wordpress 多重起動防止
wordpress の中にある
.htaccess の中で
RewriteCond %{REQUEST_URI} !\.{gif|css|js|swf|jpeg|jpg|jpe|png|ico|swd|pdf}$
を追記する
.htaccess の
場所は
/var/www/wordpress
の中にある
ソースの中の関数の見分けかた
ソースコードの中の関数がwordpress の関数なのか
PHPの関数かがわかると理解しやすい
これは
テンプレの場合なら
管理画面の 外観 > テーマ編集で
テンプレートのところから見たいものをクリックする
すると、下のほうに
解説:関数というドロップダウンリストがでるので
このときに、
PHP
Wordpress
の関数ならリストにでる
自作関数の場合はリストにでないので
まず、これで判別できる
次に、
PHP か wordpress なのかを判別するには
開いたときのURLで判断できる
ほとんどの場合、
wordpress.org ドメインなので
これなら
wordpress の関数になる
PHPの場合は
php.net ドメインになる
これがテンプレの場合の見分け方
プラグインの場合には
管理画面から
プラグイン >プラグイン編集へ進んで
同じように関数から調べることができる
こちらの場合は、PHPのほうが多い
wordpress プラグインの作成メモ
wordpress プラグイン開発のため
書籍を見ながら勉強です
とりあえず、ひとおおりインストールや記事の作成、テンプレなどまで進めました
ようやく、プラグイン作成のところです
今回は、プラグイン作成についてのメモです
作成したショーとコードをプラグインにする
最初に functions.php に書いたプラグインにするためのコードを
あたらしく作成しinたプラグインのためのphp ファイルへコピペして、もとの部分は消す
次に、このプラグインのためのPHPファイルを
plugins ディレクトリの中に新しくディレクトリを作り
そこへ保存する
あとは、ダッシュボードで
インストール済みのプラグインを表示すると
自作PHPプラグインファイルがでるので
これを有効化すればOK
念のため、サイトを更新して
変化がないことが確認できればOK
今回の参考書籍
Custom Post Type UI
カスタム投稿タイプと
カスタム分類を
Wordpress の管理画面で行うプラグイン
それが
Custom Post Type UI
Wordpres には、主要なデフォルトの投稿タイプとして
投稿
固定ページ
がある
Wordpress では、当校や固定ページと異なる特徴を持った独自投稿タイプをカスタム投稿タイプとして
定義して利用できる
定義したカスタム投稿タイプは
管理画面で
投稿
固定ページ
とは違った独立した項目
として表示できる
これがカスタム投稿
カスタム分類は
デフォルトの場合なら
カテゴリーとかタグだけど
これらと違う分類方法を定義して利用するのが
カスタム分類
これの使い道は
特定の投稿タイプにひも付けて使う
ここまでが概要
設置するには
プラグイン > インストール済みプラグイン
で
Custom Pos Type UI を有効化する
すると、ダッシュボードに
Custom Post Types という項目ができるので
Add New
をクリックすれば、設定画面がでてくるので
ここで設定する
wordpress をSSLで保護
Admin SSL というプラグインを使うことで
wordpress をSSL対応にできます
まずは、お問い合わせと管理画面に大してSSL以外は
アクセスできないようにして
それ以外はhttp アクセス可能にします
まずは、ダッシュボードで
インストール済みプラグインの中から
Admin SSL を選んで有効化
すると、ダッシュボードの項目の中に
Admin SSL がでてくるので
Secure my site with SSL
のチェックボックスにチェックをいれます
あとは
URL List
というテキストエリアへ
wp-comments-post.php
wp-admin/plugins.php?page=akismet-key-config
の後に
適用したい記事や管理画面のURLを記述します
現在、管理画面は
wp-admin/
なので
これを追加します
あと、SSL対応についてですが
レンタルサーバーの場合、対応していないこともあるので
自宅サーバーで行いました
すでにUbuntu には
apache2 がインストールされているので
sudo a2enmod ssl
でSSL適用
sudo /etc/init.d/apache2 restart
で設定反映のため再起動します
念のため
nmap 192.168.10.248
で確認
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
902/tcp open iss-realsecure
となり、
443 ポート開放を確認
引き続き、証明書の作成です
sudo mkdir /etc/apache2/ssl
でディレクトリ作成
sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
で証明書と秘密鍵発行
コマンドを実行すると
SSL 証明書で使うホスト名を入力してください。
これは生成される SSL 証明書内での「commonName」になります。
ホスト名:
とでてくるので localhost から
サーバーIPに変更します
今回は192.168.10.248
sudo cp /usr/share/doc/apache2.2-common/examples/apache2/extra/httpd-ssl.conf.gz /etc/apache2/sites-available
でファイルをコピー
cd /etc/apache2/sites-available
で移動してから
sudo gunzip httpd-ssl.conf.gz
で解凍
sudo vim httpd-ssl.conf
で設定ファイルを開き
Listen 443
を
#Listen 443
というようにコメントアウト
さらに
<VirtualHost _default_:443>
を
<VirtualHost *:443>
というように変更
DocumentRoot “/usr/share/apache2/default-site/htdocs”
を
DocumentRoot “/var/www”
ServerName www.example.com:443
を
ServerName 192.168.10.248:443
へ変更
192.168.10.248はサーバーIPです
SSLCertificateFile “/etc/apache2/server.crt”
を
SSLCertificateFile “/etc/apache2/ssl/apache.pem”
SSLCertificateKeyFile “/etc/apache2/server.key”
を
SSLCertificateKeyFile “/etc/apache2/ssl/apache.pem”
設定完了したら
sudo a2ensite httpd-ssl.conf
で設定ファイルを反映し
sudo /etc/init.d/apache2 restart
で apache2 再起動します
これでSSL対応完了です
Counterize の設置
Conterize は
リアルタイムに訪問者のアクセス状況を
グラフなどで確認できるプラグイン
リアルタイムでわかりやすので使いやすい
ただし、アクセスログ解析と記録をしているので
そのぶん、負荷がかかる
また、ページキャッシュの場合は、
正常にアクセスログを取得できないので
このあたりは注意が必要
設置は簡単で
インストール済みプラグインの中から
Counterize を選んで有効化すればOK
プラグインを有効化すれば
ダッシュボードに
Counterize が出現するので
あとは解析するだけ