Google Chromeのadblock
Google Chromeの機能拡張に、広告表示をブロックするものがあって、現在メジャーなのは次の2つ。
AdBlock 2.6.10
Adblodk Plus 1.6.1
最初はユーザーの多いAdBlockを使っていたのだけど、これを使うとWordPressのウィジェットのツィッター表示や、記事に対するコメント欄が出なくなる。Adblock Plusの方は大丈夫そう。
Google Chromeの機能拡張に、広告表示をブロックするものがあって、現在メジャーなのは次の2つ。
AdBlock 2.6.10
Adblodk Plus 1.6.1
最初はユーザーの多いAdBlockを使っていたのだけど、これを使うとWordPressのウィジェットのツィッター表示や、記事に対するコメント欄が出なくなる。Adblock Plusの方は大丈夫そう。
ここにまとめがある。ちょっと抜粋してメモっておく。
私がよくやっちゃうのが{¥bf }と{¥it }、このかわりに¥textbf{}あるいは¥textit{}。
eqnarrayとか$$で囲む方式のかわりに、¥[ ¥]か、¥begin{align}にする。
図を入れるならこれ。
\begin{figure}
\centering
\includegraphics{hoge}
\end{figure}
subfigureではなくsubcaptionを使う。
付録は
\appendix
\section{huga}
とやる。
クラス指定。scrartclやscrreport、scrbook、scrlttr2を指定。
リストにenumitem。パッケージで指定。
/Appicationsの直下にインストールされている場合。他の場所に入れた時は適宜パスを読み替える。
cd /Applications/Mendeley\ Desktop.app/Contents/MacOS/
./Mendeley\ Desktop –verbose-log
これで普通に使うとログが出る。
ログは、
/Users/«Your Name»/Library/Application Support/Mendeley Desktop/
の下。
log.txt or log-YYMMDD.txtのような名前のファイルがログファイルになる。
データベースのファイルのダウンロードやアップロードをphpMyAdminでやるときなど、一時的に大きなファイルの転送をさせたいわけですよ。ちまちまやってると時間かかるし。
ところが、/usr/local/php/php.iniに次のように書いて、
max_execution_time = 30
max_input_time = 3000
memory_limit = 1700M
post_max_size = 1600M
upload_max_filesize = 1500M
apacheをリスタートして、<?php phpinfo(); ?> と書いたファイルをブラウザから見ても、Coreセクションで表示されているMaster ValueもLodal Valueも初期値のままなわけですよ。
で、httpe.confで、
....................
php_value max_execution_time 30
php_value max_input_time 3000
php_value memory_limit 1700M
php_value post_max_size 1600M
php_value upload_max_filesize 1500M
とかやって、apacheをリスタートすると、Local Valueが設定通りの値になりました。<?php phpinfo(); ?>のファイルは、DIrectoryで設定したディレクトリ直下に置いてます。これで大丈夫なのかな。
まず、失敗した時にすぐに戻せるよう、実行中のものをPloneディレクトリもろともコピーを作っておく。
/usr/local/Plone/zinstance/buildout.cfgを編集。
extends =
base.cfg
# versions.cfg
http://dist.plone.org/release/4.3.1/versions.cfg
find-links +=
http://dist.plone.org/release/4.3.1
ここまではplone.orgのサイトに書いてあるのと同じだが、さらに、
[versions]
zc.recipe.egg = 1.2.2
を追加。これを追加しないと次のようなエラーが出る。
While:
Installing.
Getting section instance.
Initializing section instance.
Installing recipe plone.recipe.zope2instance.
Error: There is a version conflict.
We already have: zc.buildout 1.4.4
but zc.recipe.egg 1.3.2 requires 'zc.buildout>=1.5.0'.
*************** PICKED VERSIONS ****************
[versions]
*************** /PICKED VERSIONS ***************
うっかりrootで作業したので、ファイルの所有者がrootのものができてしまい、permission deniedで止まったので、chown -R plone zinstance で戻してやる。
sudo -u plone /usr/local/Plone/zinstance/bin/plonectl stop
bin/buildout
とやってしばらく待つ。終わったら、
sudo -u plone /usr/local/Plone/zinstance/bin/plonectl start
http://自分のサイトのIPアドレス:8080
にブラウザでアクセス。このサイトは古いのでアップグレードする必要があります、と言われるのでアップグレードボタンをクリックする。
PHPMyAdminの4.0.5と4.0.6、およびSafari5.1.9で確認。インストール後、Safariで開発メニューを表示させておいて、ページ読み込み後エラーコンソールを確認すると、
refuse to load image (画像へのパス) because of Content-Security-Policy
と表示されていた。
対策は、PHPMyAdminのインストールディレクトリの下のlibraries/Header.class.phpの、 public function sendHttpHeaders() の一部を次のようにコメントアウトする。
header(
"X-WebKit-CSP: allow 'self' "
. $GLOBALS['cfg']['CSPAllow'] . ';'
. "options inline-script eval-script;"
// . "img-src 'self' data: "
// . $GLOBALS['cfg']['CSPAllow']
// . ($https ? "" : $mapTilesUrls)
// . ";"
既に海外のディスカッションボードでも話題になっていた。
skins/tinymce/tiny_mce_init.js を Customして、
var init_dict = {
remove_linebreaks : false,
preformatted: true
のように追加。
研究室オフィシャルサイトをhttp://www.cml-office.org:8080/officialで動かし、www.cml-office.orgのDocumentRootに通常のhtmlファイルなどを入れてapache httpdと併用で動かしている。ploneはポート8080を、apacheはポート80を使っている。
新サーバに移動してからhttp://www.cml-office.org:8080/officialのRewriteがうまく動かず、http://www.cml-office.org/officialへのアクセスでPloneサイトを見せるということができなくなっている。
この状態で、DocumentRootに置いている、atom11archive/water/water_cluster.htmlへのリンク、つまりhttp://www.cml-office.org/atom11archive/water/water_cluster.htmlで参照できるファイルへのリンクをploneのファイル中で貼ると、「http://www.cml-office.org/atom11archive/water/water_cluster.html」とがっつり全部書いてもファイル保存の時に相対バスに変換されてしまって、../atom11archive/water/water_cluster.html、となってしまう。このリンクをつつくと、http://www.cml-office.org:8080/tom11archive/water/water_cluster.htmlを見に行こうとしてnot foundエラーが出る。
これを回避する姑息な手段は、ploneのファイル編集時に、リンクをhttp://www.cml-office.org:80/atom11archive/water/water_cluster.htmlのようにポート指定で書いておくこと。すると、ファイルのリンクをつつくとhttp://www.cml-office.org/atom11archive/water/water_cluster.htmlを見に行ってくれ、apacheが面倒を見てくれて正常に表示される。
本来ならapacheのサーバ側の設定でRewriteをするのが正攻法だが、いろんなパターンを試してもうまくいかないし、重要なリンクは切れたままにもできないので、やむを得ずいくついかは場当たり的に対応するしかない。ちっともスマートではないが仕方がない。
WordPress用ツイッタープラグインWordTwitを導入。これが動いている状態で、例えばMarsEditなどのブログ用エディタで、draftを指定して投稿し、後でpublishedに変更して投稿するとエラーが起きる。投稿自体はできていてコンテンツも公開状態になるが、ツィートできない。
後からログインしてWordPressの管理画面を出し、問題の記事の編集画面までいくと、右側の下のボックスに、ツィートするためのボタンがあるので、クリックするとツィッターに出る。
バージョン違いでトラブルになるのは困るので、旧サーバ(山形大)で動いているのと同じバージョンのUnifiedInstallerをploneのサイトからダウンロードした。
ソースの置き場所は/uer/local/srcにしている。
cd /usr/local/src
tar zxvf Plone-4.2.1-UnifiedInstaller.tgz
cd Plone-4.2.1-UnifiedInstaller
./install.sh –password=xxxxxx –target=/usr/local/Plone standalone
インストール終了後、
sudo -u plone /usr/local/Plone/zinstance/bin/plonectl start
で起動を確認。ブラウザで、
http://サーバのIP:8080/
を見に行って、Zopeの画面が出るところまで確認。
データベースは作らずに抜けて、plonectl stop。
なお、起動確認の直後に新しいサイトを作るかきいてくるが、このときサイトのページタイトルに日本語を使うとエラーになって、以後動かなくなる。これで何回かインストールをやり直した。言語の選択プルダウンメニューのはるか下の方に「日本語」というのがある。これを選んでもエラーになるかどうかは未確認(時間がなかったので)。
旧サーバーの
/usr/local/Plone/zinstance/var/
以下を丸ごとtarで固めて新サーバに置く。新サーバで展開後、
/usr/local/Plone/zinstance/var/filestorage
/usr/local/Plone/zinstance/var/blobstorag
の内容を、cp -r コマンドで新サーバのディレクトリにそっくり移す。chown -R ploneを忘れずに。
この後、Ploneを手動で起動。データベースが古いのでアップデートするかと聞いてくるので、dry runを選んだあと、問題なさそうならアップデート。
再度、plonectl startしてhttp://サーバのIP:8080/を見ると、旧サーバのコンテンツが無事に表示され、旧サーバのユーザー名とパスワードで無事にログインできた。
いろんなサイトを見たが、 plone付属のrepozo、backup, restoreなどは試したが動かなかった。旧サーバでbackupで作ったファイルを、新サーバのbackupディレクトリに入れて新サーバーのploneからrestoreすると、デーモンは動いているのに接続できませんと表示されて見ることができなかったり。