エロサイトの作り方

2013年11月から勉強しながらエロサイトを作っています。

WordPressで予約投稿が失敗する

最近、予約投稿ができずに、管理画面上で「予約投稿の失敗」と出ることが増えてきたので、ちょっと調べてみました。 何が起きているのか? とりあえず、PHP-FPMのエラーログに何か手がかりが無いか見てみる。 [21-Aug-2014 00:43:22] NOTICE: child 30278 st…

WordPressで画像がどの投稿に使われているかを探す

要は、画像のパスを指定して、一致する投稿がどれかを探したいということです。 MySQLにクエリを投げる WordPressはMySQLにデータ保存しているんだから、直接クエリを投げてしまえばよさそう。 投稿はwp_postsに格納されているらしい。 (通常はテーブル名の…

UbuntuにHDDを追加する方法(3TB超版)

以前書いたものの3TB超版です。 fdiskではなくpartedを使います。 ディスクの確認 $ sudo fdisk -l ... WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted. Disk /dev/sdc: 3000.6 GB, 3000…

Sublime Text 3でSCSSファイルにシンタックスハイライトを適用させる

やり方が幾つかあって。 CSSファイルと認識させる 普通に開くとPlain Text扱いされるので、CSSに変更する。 ファイルのシンタックスをCSSにする メニューの、表示 > シンタックス > CSS 拡張子判定で必ずCSSのシンタックスが適用されるようにする メニューの…

Sublime Text 3でHTML-CSS-JS Prettifyを入れる

インストール Package Controllから Cmd+Shift+Pでinstallと入力 htmlprettifyと入力 使う ファイルを開いてCmd+Shift+H Node.js was not found in the default path. Please specify the location. しかしエラーが出る。 エラーの解消 OKを押すと、HTMLPret…

UbuntuでMac OSXフォーマットのHDDを認識させる方法

接続したら、 とりあえずfdisk $ sudo fdisk -l ... WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted. Disk /dev/sdc: 3000.6 GB, 3000592982016 bytes 255 heads, 63 sectors/track, 364…

UbuntuにHDDを追加する方法

接続したHDD $ sudo fdisk -l ... Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes 255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 b…

MacでBootable USBを作ってUbuntuサーバーをインストールする

最初、UNetbootinを使えば楽勝にできると思ってたけど、サーバー版はインストール時にエラーになるので使えませんでした。 というわけで、成功したプランBの記録です。 Bootable USBメモリの作成 UbuntuのISOをダウンロードする Ubuntu Releases 今回は、最…

MongoDBでコレクション単位でバックアップ/リストアする

コレクション単位でのバックアップ --collectionでコレクション名を指定すれば、コレクション単位でバックアップしてくれる。 $ mongodump --db test --collection keywords connected to: 127.0.0.1 Tue Aug 12 12:27:51.343 DATABASE: test to dump/test T…

はてなブログのSEOはすごい

SEO

月間PV3000程度の過疎ブログなのに、SEO的には結構頑張ってます。 「エロサイト 事例」 3番目 見つけたエロサイト構築事例を淡々と載せるページ - エロサイトの作り方 1,2番目は架空請求の事例(そちらのほうが社会的に重要)なので、構築事例という意味では…

2014年7月のアクセス統計

開設9ヶ月目。 クローラーの画像が溜まる一方だったので、3次画像サイトの立ち上げ準備をしてました。 そのため、既存サイトは放置です。 来月から3次サイトもレポートに載せると思います。 主にやったこと 随時 3次サイト立ち上げ準備 コピペで作るだけなら…

MongoDBで実行中のクエリーを止める

現在実行中のクエリーの一覧を見る db.currentOp() mongo> db.currentOp() { "inprog" : [ { "opid" : 11680, "active" : true, "secs_running" : 3719, "op" : "query", "ns" : "test.images", "query" : { "count" : "images", "query" : { "downloaded" :…

MongoDBでgeo field only has 1 element

MongoDBではランダムソートをかけることができなくて、地理空間Indexを設定したフィールドから抽出することでランダムっぽくさせる、ということをやるわけですが。 ランダムで取り出す例 データを入れる mongo> for(i=0; i<1000; i++) { mongo> db.sandbox.i…

OSXでtimeoutコマンドを使う

Linuxにはtimeoutという、プログラムが一定時間処理が返って来なかったらシグナルを送るというコマンドがあって、これが地味に便利なのでOSXでも使いたいなと思ったわけです。 インストール $ brew install coreutils Homebrewでcoreutilsを入れるとこの手の…

MongoDBでcannot index parallel arrays

配列を2つ以上含むマルチキーではインデックスを作れないということらしい。 Multikey Indexes — MongoDB Manual 2.6.3

MongoDBで配列の要素ごとに集計する

ダメな例 db.pages.aggregate([ {$group: { _id: '$tags', count: { $sum: 1} }}, {$sort: { count: -1 }} ]); { "result" : [ { "_id" : "巨乳", "count" : 78 }, { "_id" : [ "二次", "パンチラ" ], "count" : 35 }, ... タグが複数入っていると、両方合わ…

はてなのAdSenseが出ない記事が増えた

えろえろワードが入った記事を投稿したからだろうか。 はてなの収益奪ってすまんです……

エロサイトではどんなタグが人気があるのか?

ちょっと気になったので調べてみました。 オレオレ調べ 自サイト上での調査(二次画像系サイト) 計測期間は2014/01/18〜2014/07/03(計測タグを埋めたのが01/18のため) Google Analyticsのイベントを使って件数を集計 そのため、クローラー等のアクセスは…

Sublime Text 3でConvertToUTF8がエラーになる件

こんなエラー Oops! The file /Users/hentai-kun/Desktop/test.html is detected as EUC-JP which is not supported by your Sublime Text. Please check whether it is in the list of Python's Standard Encodings (http://docs.python.org/library/codecs…

JavaScriptでrefererを飛ばさないリンクを作る

管理画面でクロールした別サイトにリンクを張っているのですが、管理画面のURLを外部に公開したくないのでリファラーを隠せないかなと思いまして。 リファラーを飛ばさない方法 リンク先にリファラーを飛ばさない方法として思いつく限りだと以下のものがある…

再びRiver out of sync with oplog.rs collection

追記:本エラーが何度も出てきて四苦八苦した上での結論としては、 MongoDB River Pluginサイトに記載のバージョン(River Plugin 2.0.0、ElasticSearch 1.0.0、MongoDB 2.4.9)に合わせないと安定動作しないということが分かりました。マイナーバージョン含…

2014年6月のアクセス数

開設8ヶ月目。 先月18日に投稿回数を増やした影響か、アクセス数が予想以上に伸びててビビりました。 主にやったこと 随時 自宅PCのクローラーの安定稼働 先月から古いiMacのOSX SnowLeopad上にVagrantを載せて稼働させているのですが、高負荷時に不安定にな…

mongorestoreしたらElasticsearchで検索できなくなった件

表題の通りですが、 $ mongorestore --drop ./backup/ とやったら、Elasticsearch側に以下のメッセージが出て検索できなくなってしまいました。 [2014-06-21 21:30:03,291][INFO ][org.elasticsearch.river.mongodb.Indexer] Ignore drop collection request…

無慈悲なPermission denied (publickey)

リモートからrsyncするのにwww-data権限で書き込まないと色々都合が悪いので、 $ mkdir /var/www/.ssh/ $ cp ~/.ssh/authorized_keys /var/www/.ssh/ $ chmod -R 700 /var/www/.ssh/ $ chown -R www-data:www-data /var/www/.ssh/ とやって他のユーザーの鍵…

Ansibleで環境構築(9) - WordPressの設定

今回はWordPressです。 Blogサーバーの設定は最後かも。 もう一つアプリの設定を行うタスクがあるけど、それはあんまり汎用性が無いから書いてもなぁと思ったり。 ./roles/blog/tasks/main.yml - include: wordpress.yml いつものようにWordPress用のファイ…

Whois情報公開代行が使えないドメインがある

ちと稼働中のサービスとは別に実験的なことをやる場所が欲しいと思って、新しいドメインを取ったのですが、気づかずにWhois情報公開代行サービスが使えないドメインを取ってしまいました。 で、速攻で廃止申請を出して(これが郵送なので面倒)削除してもら…

Node.jsからElasticsearchに全文検索をかける

過去2回の悪戦苦闘から、ようやくNode.jsを使うところまできました。 elasticsearch-jsを入れる elasticsearch/elasticsearch-js · GitHub Official Elasticsearch client library for Node.js and the browser Elasticsearchのクライアントはやたらあるので…

MongoDB+Elasticsearchで全文検索をする(リトライ)

前回の続き。 kuromojiが動かないのはバージョンの組み合わせの問題? Elasticsearchは最新版(1.2.1)だから、kuromojiも最新版なら動くと思ったのだけど。 elasticsearch/elasticsearch-analysis-kuromoji · GitHub In order to install the plugin, simpl…

Elasticsearchのバージョンを確認する方法

$ curl -XGET 'localhost:9200' { "status" : 200, "name" : "Shockwave", "version" : { "number" : "1.2.1", "build_hash" : "6c95b759f9e7ef0f8e17f77d850da43ce8a4b364", "build_timestamp" : "2014-06-03T15:02:52Z", "build_snapshot" : false, "lucen…

MongoDB+Elasticsearchで全文検索をする(失敗)

MongoDBだけだと全文検索にインデックスが効かないので、200万件程度しかないうちの環境でも死んじゃう(実際死ぬ) というわけで、全文検索を使えるようにするためにElasticsearchを入れることにしました。 Elasticsearchを入れる Homebrewから $ brew inst…