MSI GTX 980 GAMING 4G 買っちゃった

玄人志向 GF-GTX670-E2GHD を使ってきました。

別段不満があったわけではありません。

オンラインゲームをほとんどしなくなって久しいですが、全然パワー不足を感じません。

最近、物欲に悩まされ、GTX 970 をあさってました。GTX 960 じゃナンバリング的に寂しいですし、GTX 970 あたりがいいかなって。メモリー関係であれな問題もありますが、私の使い方では全く問題なかったので。

昨日の朝ですよ。ほしくて仕方なくって、それも GTX 980 がです。一番安そうなのを探して、MSI GTX 980 GAMING 4G に落ち着きました。当日に配送可能だってこともありポチッとしました。

AMD へ行かず、NVIDIA 命なわけじゃないけど、AMD に行くには勇気がいるかな。

それはそれとして、この時期だと、普通にブログ書いたり、メールチェックしたりするわけですが、グラボのファンは一切回らずです。静かなPCがより静かになった感じ。グラボの温度は 44℃ ~ 45℃ くらいです。

素晴らしいオーバースペックのグラボです。

 

交換作業内容

  1. グラボの交換に必要なケーブル関係を外す(作業場所が狭いため)
  2. グラボと取り外す
  3. 電源を外す
  4. 電源のプラグインケーブルを6pin x 2から8pin x 2に交換
  5. 電源を取り付ける
  6. 新しいグラボを取り付ける
  7. メモリーの増設を試みたが、CPUファンの環礁でとん挫
  8. ケースを元に戻す
  9. ケーブル関係を戻す

 

さて、無事に起動しました。た。た。

あれ?USBのBDDが動かない・・・。

グラボの交換時にUSBのケーブルが外れてました。

気を取り直し、再起動。

無事、原状復帰?しました。

 

次は4Kモニター2枚目かな(笑)

XSERVERにてWordPressのマルチサイト化 その2

タイトルが間違ってました。なので再度雑記をと。

マルチサイト化ですが、何度失敗したことか。

MovableTypeを使用していた時は、なんの疑問も持たず、マルチサイト化できていたので、心が何度折れたことか。

思うに、XSERVERのようにドメイン、サブドメイン単位でディレクトリーの構成が決まってしまうレンタルサーバーではマルチドメイン化は、普通にやると失敗してしまう。

さくらのレンタルサーバのようにディレクトリーの構成を自分で指定できるレンタルサーバーでは問題なくできてしまう。

私の場合、Wordpressをインストールするサブドメインともう一つのサブドメインでディレクトリーを個別に設定してしまい、撃沈されたわけですが。

まだ、初期状態の確認をしただけですので、このブログをそちらに引っ越ししながら、記録に残していけばいいかなと、のんびりと構えてます。

前提条件

XSERVERのような、ディレクトリを指定できないレンタルサーバーか、ディレクトリ構成を設定できるがすでに使用していて、移動が困難な場合を前提にしています。

また、SSHが利用でき、lnコマンドが使えることが最低条件になるかと思います。

嘘があったら、コメントでお知らせください。

WordPressをインストール

まずは、Wordpressをインストールするメインのドメイン(サブドメインでも)を決めます。

インストールは普通に行ってください。

設定ファイルの編集

WordPressの設定を変更しないと始まりません。『wp-config.php』ファイルを変更します。

define(‘WP_ALLOW_MULTISITE’, true);

WordPressに入りなおすと、『ツール』に『ネットワークの設定』なんていうメニューが追加されます。

ここで必ず『サブドメイン』を選択してインストールしてください。

最後に、『wp-config.php』と『.htaccess』ファイルを変更しなさいと表示されますので、変更してください。

サイトの追加

この辺りは、それぞれ適切な値を決めて作成してください。

プラグインのインストール

複数ドメインの運用にはプラグイン『WordPress MU Domain Mapping』を使います。サブドメインの場合にも必要なのかはよく調べていませんが、私がサブドメインを構築した際には、インストールしてマッピングしました。不要なのかもしれません。

いよいよ試してみる

Wordprssをインストールしたサイトは、問題なく表示されると思います。当然、管理画面も。

まず、追加したサイトの管理画面を見てみましょう。エラーで表示しませんね。当然です。とび先のリンクにWordpressが存在しませんから。追加したサイトもエラーで表示されません。

冷静にマルチサイト化の解説サイトをみる

サブドメインにインストールする解説で、いままで書いてきた内容が事細かにスクリーンショットも交えて解説されている。

がしかし、肝心なサイト(論理)と実体(物理)との組み合わせを解説してるところがないので、どうでもいいんだろうと思い込んでいた私がいます。

ある意味、共通化する

ここでは2つのサイトを使用していて、Wordpressをインストールしたサイトは問題がない。では、問題のあるサイトが問題のないサイトを内部(物理)的に参照できるようにします。

WordPressをインストールしたサイトの物理構造をそっくりもう一つのサイトで再現するだけです。ここからは、lnコマンドでシンボリックリンクを張るだけです。

今回は、『http://xxxxx.com/』にインストールしてしまったので、トップディレクトリーに配置したファイルはすべてシンボリックリンクを張り、残りのディレクトリーはディレクトリー単位でシンボリックリンクを張ります。

結果

再度、見れなかったサイトを見てみましょう。管理画面を含めて正常に表示できるはずです。

え?みれませんでしたか?

私と一緒に、勉強しながらチャレンジしてみましょう。

取り敢えず最後に

今回は、サイトのトップにインストールしたので、wpなどのサブディレクトリーに配置しても動作するのか試してみたいです。これには理由がありまして、上記にも書きましたが、ファイルを直接シンボリックリンクしているので、Wordpressのファイルが増減されると、アップデート後に手動で操作しなくちゃいけなくなりますからね。

サイトテーマの骨組みを作りながらので、のんびりになるかもしれません。

これだけでやりきった感がある私って何?

 

引っ越し

なにかとメンテナンスが面倒な自宅サーバーをやめるべく、レンタルサーバー探しをしてました。

もう、何年も前からです。

取り敢えず移すなら、さくらのレンタルサーバでもよかったんだけど、メアドがドメインが違ってもユーザー名はユニークにしなくちゃいけないという制限があったもので、躊躇してました。

それに、ちょっとしたアクセスの増大ですぐにアクセス制限されちゃうので、複数ドメインの運用には向かないかなって。特にWordPressみたいに、常時PHPがHTMLを吐き出すものだと。

少し話を戻して、重い腰を上げる理由になったのが、LANケーブルの経年劣化です。自宅サーバーでは2つのドメインを運用していました。

外部からVPNで家庭内LANに入る口を開けていたのですが、流石に物理的に壊れたものは直せず。

一週間くらい吟味しました。レンタルサーバーを。マルチドメインでの運用になるので、管理しやすいところがいいなって。今運用しているサイトは1つを除いてWordPressになるので、サブドメインの数も入れたMySQLが必要になります。さらに言えば、さくらのレンタルサーバより速いこと。

そんで、結果として残ったのが、XSERVERです。X20のプランで契約したので、ディスクの容量もそう簡単にはなくならないでしょう。MySQLも70個まで使えるし、余裕綽々って感じ。

 

試用期間中に1サイトを無理やり引越ししました。ちょっと設定が復元できなくて焦ったけど、まあ、想定内だったのでよしと。

もう一個は、リニューアルしようかと思ったけど、風邪のため頭が働かず断念してそのままひっこしました。

どちらも、ドメインの管理はスタードメインです。そのせいなのかDNSをちょちょっと変更するとすぐに浸透してあっという間に引っ越し完了。

あとは、自宅サーバーの火を落とすだけ。XeonなCPUで格好よくサーバーライフを楽しんでいたんだけど、当分自宅サーバーに火が入ることはないでしょう。

 

XSERVERですが、X20以上の契約をするとドメインが1個、契約の更新料も含めて無料になるサービスを行っていたので、ありがたく頂きました。こっちは、なかなかDNSの設定が浸透せず焦りましたが、30分ほどで浸透しましたかね。

 

最後の問題は、このブログ自体ですね。記事を全然書かなくなったので、アクセス数もほぼなしに近い状態。なのでパーマリンク等も含めて、WordPressの仕様に合わせようかと計画中。もしかすると、ドメインそのものも変更するかもです。やってもいいんだけど、それやると、さくらのレンタルサーバが空っぽになっちゃうことかな。

まあ、新しいテーマができてから考えよう。

MovableTypeからWordPressへ引っ越し

今回、Movable Type Pro 5.2.6からWordpress 4.0への移行過程をメモしておきます。

まず、MovableTypeのエクスポートを行ってみる・・・。ん、何かが足りてない。そうなんです、パーマリンクとかかサックリなくなっています。このままじゃいけないというので検索してみた、ありました。

下記の操作の前に、必ずバックアップを取ってください。

MovableTypeからWordPressへの完全移行方法

どうやら/lib/MT/ImportExport.pmを変更するらしい。

[perl highlight=”2,3,4″]
DATE: <$MTEntryDate format="%m/%d/%Y %I:%M:%S %p"$><MTEntryIfTagged include_private="1">
PERMALINK: <$MTEntryPermalink$>
TAGS: <MTEntryTags include_private="1" glue=","><$MTTagName quote="1"$></MTEntryTags></MTEntryIfTagged>
ID: <$MTEntryID$>
[/perl]

上記の「DATE:」という記述を探し、その下に「PERMALINK」「EntryIfTagged」「ID」の行を追加します。

後はエクスポートです。

エクスポートしたファイルを眺めていると、あれ、パーマリンクの「post-1」などが「post_1」に変わっているではありませんか。これじゃ困るので置換しましょう。

テキストエディタなどで「BASENAME: post_」を「BASENAME: post-」に変換し保存します。安全のため、ファイル名を変更して保存します。

下準備はできたので、Wordpress側のインポートのプログラムを編集しましょう。

WordPress 3.0にMovable Typeのタグをインポートする

まるっと転載させて頂きます。

wp-content/movabletype-importer配下にある、movabletype-importer.php編集。

[php highlight=”27,28,29,30″]
function save_post(&$post, &$comments, &$pings, &$tags) {
  $post = get_object_vars($post);
  $post = add_magic_quotes($post);
  $post = (object) $post;

  if ( $post_id = post_exists($post->post_title, ”, $post->post_date) ) {
    echo ‘<li>’;
    printf(__(‘Post <em>%s</em> already exists.’, ‘movabletype-importer’), stripslashes($post->post_title));
  } else {
    echo ‘<li>’;
    printf(__(‘Importing post <em>%s</em>…’, ‘movabletype-importer’), stripslashes($post->post_title));

    if ( ” != trim( $post->extended ) )
      $post->post_content .= "n<!–more–>n$post->extended";

    $post->post_author = $this->checkauthor($post->post_author); //just so that if a post already exists, new users are not created by checkauthor
    $post_id = wp_insert_post($post);
    if ( is_wp_error( $post_id ) )
      return $post_id;

    // Add categories.
    if ( 0 != count($post->categories) ) {
      wp_create_categories($post->categories, $post_id);
    }

    // Add tags or keywords
    if ( 1 < strlen($tags) ) {
      // Keywords exist.
      printf(‘<br />’.__(‘Adding tags <em>%s</em>…’, ‘movabletype-importer’), stripslashes($tags));
      wp_add_post_tags($post_id, $tags);
    }
  }
  …中略…
}
[/php]

[php highlight=”14,34,42,51,52″]
function process_posts() {
global $wpdb;

$handle = $this->fopen($this->file, ‘r’);
if ( $handle == null )
return false;

$context = ”;
$post = new StdClass();
$comment = new StdClass();
$comments = array();
$ping = new StdClass();
$pings = array();
$tags = ”;

echo "<div class=’wrap’><ol>";

while ( $line = $this->fgets($handle) ) {
$line = trim($line);

if ( ‘—–‘ == $line ) {
// Finishing a multi-line field
if ( ‘comment’ == $context ) {
$comments[] = $comment;
$comment = new StdClass();
} else if ( ‘ping’ == $context ) {
$pings[] = $ping;
$ping = new StdClass();
}
$context = ”;
} else if ( ‘——–‘ == $line ) {
// Finishing a post.
$context = ”;
$result = $this->save_post($post, $comments, $pings, $tags);
if ( is_wp_error( $result ) )
return $result;
$post = new StdClass;
$comment = new StdClass();
$ping = new StdClass();
$comments = array();
$pings = array();
$tags = ”;
} else if ( ‘BODY:’ == $line ) {

…中略…

} else if ( 0 === strpos($line, "CATEGORY:") ) {
$category = trim( substr($line, strlen("CATEGORY:")) );
if ( ” != $category )
$post->categories[] = $category;
} else if ( 0 === strpos($line, "TAGS:") ) {
$tags = trim( substr($line, strlen("TAGS:")) );
} else if ( 0 === strpos($line, "PRIMARY CATEGORY:") ) {
$category = trim( substr($line, strlen("PRIMARY CATEGORY:")) );
if ( ” != $category )
$post->categories[] = $category;
…中略…
}
}
…中略…
}
[/php]

 

上記に加えて

[php highlight=”8,9,10,11,12,13″]
function process_posts() {
global $wpdb;

…中略…

} else if ( ‘COMMENT:’ == $line ) {

$context = ‘comment’;
} else if ( ‘PING:’ == $line ) {
$context = ‘ping’;
} else if ( 0 === strpos($line, "PERMALINK:") ) {
$value = trim( substr($line, strlen("PERMALINK:")) );
$tmpvalue = strrchr($value,"/");
$post->post_name = substr($tmpvalue, 0, strpos($tmpvalue, "."));
} else if ( 0 === strpos($line, "TAGS:") ) {
ns/movabletype-importer$tags = trim( substr($line, strlen("TAGS:")) );
} else if ( 0 === strpos($line, ‘AUTHOR:’) ) {
[/php]

これでインポートの準備は完了。

MovableTypeが出力したhtmlファイル(PHP化されている方はphp)ファイルを削除して、それトップページを見てみましょう。

ん~いい感じだけど、パーマリンクが・・・・・・エクスポートしたはずなのに・・・。

んで、Wordpressの管理画面を開いて、[設定][パーマリンクの設定]を開きます。

私の場合は年月で記事を吐き出していたので、カスタム構造を選択し

/archives/%year%/%monthnum%/%postname%.php

な感じです。無事にパーマリンクを引き継げました。

あとは、MovableTypeで管理していた画像たちWordpressのメディアに登録し、Movabletypeの痕跡を消してしまいましょう。

MT形式からWordPressへ移行した際に画像をインポートするプラグイン

ダウンロードして、FTPなどでアップし、プラグインを有効化し、実行、停止、削除、これだけです。

記事に埋め込まれているURLもしっかりと書き換えてくれる優れもの。

確認後は、バッサリ消してしまいます。

このブログのURLの中身は.htaccessとindex.php、favicon.ico、そしてメディアとして登録されたuploadsのみです。

だらだら書きましたが、これで全てです。

Foundationというフレームワークを使っているのですが

えーと、現在このブログのテーマを作るにあたって、レスポンシブ対応のFoundationというフレームワークを使用しています。

とても簡単にデザイン出来て、ウキウキでカスタマイズを行っておりました。

さて、これから各種プラグインの対応をと思った矢先にハマってしまいました。

ハマったプラグインは、SyntaxHighlighter Evolvedというソースの見栄えを整えるものです。

これか下記のような表示になります。

[c]
void main()
{
a = 0;
}

[/c]

こんな感じで、行番号が表示されとか、行が交互に色が表示されないとか・・・どこが打ち消されているか、余計な設定がCSSにある模様。

仕事が忙しく、原因を突き止めるのを諦めめました。

それより、数種類のレスポンシブ対応フレームワークを試して、お勉強モードに入ることにしました。

当然ですが、全てローカルでの作業になりますので、再リニューアルは、まだ先になりそうです。

SASSとか、使ってみたいものもあるし、なんか楽しいです。

それよりも、あれですね。Movable TypeからWordpressへの移行日記の方が先かな。こっちは下準備してしまえば簡単にエクスポート・インポートできてしまいます。注意点はパーマリンクを100%移行するのが厳しいことくらいですかね。詳細は後日という事で。

MovableTypeからWordPressへの移行

長らく、ブログを引退しておりましたが、Wordpressでサイトを再構築してみようと心に決め、移行しました。

テーマは1から作りこんでおります関係上、不具合が多いかもしれません。2週間で覚えるのは無理って感じです。

いろいろ考えてみたのですが、CMSが変われば、それまで蓄えた情報が原作エンジンから姿を消えてしまうでしょう。

そこは考えようで、sitemap.xmlをGoogleさんにお知らせして、新しいURLでインデックスしてもらうしかありません。

インストールしてみて感想ですが、Movable Type 改PHP版よりWordpressの方が少しレスポンスがいいかもしれません。やっぱり、MySQLが新しいのに当たったからでしょうか。

デザインはシンプルな方がよいので、Movable Typeのクラッシックブログというテーマにわざと似せました。データを引き継ぐんだしいいか。

少々あったトラブル等も含め、今後記事を書いていきたいと思います。

今回行った以降は、Movable Type version 5.2.6 からWordpress 4.0になります。

ブログの引っ越し先を探さねば

なんですかね、こんなちっちゃなブログにMovable Typeのコメント用のCGIへのアタックが大量に送られてくる今日この頃。

そのたびに送信元を探し.htaccessへ追加しているわけですが、別なルートからなのか別人(組織?)なのか、再来してCGIの利用制限が掛り、折角モジュール化したにも関わらずぼろぼろな状態。

2回目の引っ越し先はどこにしようかな。

ウェブサーバーだけなら自宅で何とでもなるけど、メールサーバー構築しないといけないしな。

棚からぼたもち

お久しぶりです。panです。

体調不良などで更新を停止しており、ブログ自体の公開を止めようかと真剣に悩んでおりました。

思うように体調は回復しておりませんが、まあそこそこ回復したので続けようと思った次第です。

 

話は変わり、某所からお祝い金を貰い、10年くらい使っていたシェーバーとおさらばしようと考えた。

“棚からぼたもち” の続きを読む

アーカイブパスの設定

 トップディレクトリーが煩雑になってきてバックアップ取るのも面倒になってきた。最初からアーカイブパスを設定しておけば良かったんだけど、使い方をあまり理解しないまま使っていたので、トップディレクトリーにファイルやディレクトリがいっぱい。

カテゴリー名もcat100とかだと何のカテゴリーか分からなくなるので命名し、Movabletypeのバックアップ。データベースの中身もバックアップ。

準備1
バックアップから画像の入っているディレクトリーを除き削除し画像以外のファイルを削除。

準備2
MovableTypeの「アーカイブをブログパスとは別のパスで公開する」にチェックを入れ、アーカイブパスを設定する。

準備3
準備1で残ったものを準備2で作ったパスにコピーする。

準備4
SQL分の下記を変更
mt_assetのasset_file_pathの内容を変更する。
   %r/sample.gif → %r/archives/sample.gif
mt_entryのURLでアーカイブパスの必要なものを書き換える。
   これが一番面倒な作業。実際何度か挫折した。

準備5
準備4で修正したSQL分をデータベースに上書きで流し込む。

ここで再構築を行う。すべての記事が出力されるので、再構築終了後、記事の入っているディレクトリーを削除する。

ちゃんとアーカイブパスが入った状態で画像や記事、記事中のパスが合っていれば完了。

 

とまあ書いたものの記事数が多すぎてチェックする気にもならないので、ちょこちょこ確認し、間違っていたら修正する方向で。

それと、これをやると他からのリンクが切れます。当然、GoogleさんやYahooさんが蓄えた検索情報もゴミになります。

今後の事を考えれば、今やるのも間違った選択じゃないかなという思いでやっちゃいましたけど。

みなさん、「アーカイブをブログパスとは別のパスで公開する」にチェックを入れてからMovableTypeを使いましょう。

風邪が治りきらない

なんだろうな、いろいろ病気するけど、最近どんどん治りが遅くなってる気がする。週末からの風邪がなかなか治りきらない。

症状もうざいんだよね。咳、のどの痛み、関節の痛みとくるのだが、なぜか熱だけでないってわけわかめな症状。

まだ咳が残ってて、咳する度に体力が消耗し、この時間になると息を肩でしてる。

やらなきゃいけない事がいっぱいあるのに、なんで今なんだ。

 

それはそれとしてawstatsを狙った攻撃が最近やけに目立つな。特に中国から。ここのブログはアタックしてきているところからのアクセスを禁止すればいいけど、会社のはどうすっかな。Linuxでルーターでも作って、そこで排除するか。

ルーターでスクリプト書いてawstatsやありえないアクセスがあった時には、そこからのアクセスを制限するか。

なんか対策しないとな。身体もだがw