マイニング始めました。

今更な感じですが仮想通貨のマイニングを始めました。
自宅ではオンラインゲーム用に自作PCを作っていたのですが5年程前に最後のPCを組んで以降全くPCは作っていませんでした。
オンラインゲームを辞めたのが一番の理由ですがその当時のハイスペックであれば現在でも普通にPCを使う分には全然困らないですしね。

ただ、昨年のマイニングブームがきたときに一瞬迷ったのですが何となく見守っていたら12月に見事ないなごタワーでできて
「スゲー!仮想通貨面白いな!!」となりかなり遅いですが掘ってみることにしました。
とりあえず既存のGTX560で掘ってみると・・・ビットコインやイーサリアムはそもそも掘れませんでした・・・
よし!グラボを買おう!!
という事でいろいろ調べた結果GTX1070を購入することにしました。
マイニングブームでかなり値上がりしていて7万もしました・・・
まあ、でもこれである程度掘れるようになったと思うし、趣味代と考えて良しとしよう!
ただ領収書はちゃんと取ってますよ~
マイニング用であれば経費申請できるようです。
今後も経費にできるできないに限らず領収書は取ってよっと。
とりあえず環境は整ったという事で掘れそうなコインでついでに日本で作られた通貨とかないかなと探していて
MONACOINとBITZENYというものを見つけました。

MONACOINはGPUマイニングが主流でBITZENYはCPUマイニングが主流のものです。
知名度や人気や価値を考えると圧倒的にMONACOINがいいと思いましたが、BITZENYも盛り上げようとしている人たちがいてちょっと応援しようと思ったのとCPUマイニングもしたいと思っていたのでちょうどよかったです。

自分でするマイニングにはソロマイニングとプールマイニングの2種類あります。
お金だけ払って掘れた分の利益をもらうというクラウドマイニングもありますが、自分で掘るというものとは違いこれはマイニングという名の単なる投資だと思います。
信託銀行にお金の運用を任せて利益でたらお金もらえるみたいな感じでしょうかね。まあ、元本が1円も戻ってこない分クラウドマイニングのほうがリスキーですが・・・
話がそれてしまったので戻しますw
ソロはその名の通り自分のPCで掘っていく
プールはみんなでPCのパワーを分けて共同で掘っていく
ソロは掘り当てたら独り占めできます!
プールはみんなで掘り当てた分の仕事量に応じてコインをもらえます

最初はプールで自分のパワーってどれくらいかな?と図るといいと思います。

私も1ヶ月位プールマイニングでどの位掘れるのかやってみました。

ぶっちゃけ電気代のほうが高いですね。

まあ、でもマイニングはロマンだし・・・
将来値上がりするかもしれないし・・・
(無くなるということもあるかも知れませんが・・・w)

とりあえず電気代が払える程度は稼ぐ方法を探さねばw

WordPressログイン画面にGoogle Authenticatorプラグイン追加

ログイン画面のセキュリティに多要素認証の実装されている事がよく見かけると思います。
金融関係はほぼやってない所はないんじゃないでしょうか。
仮想通貨取引所等でもほぼやっていますし、多要素認証は絶対にやっていたほうがいいです。

今回は簡単ですぐに導入ができるGoogle AuthenticatorプラグインをWordpressに導入する方法を紹介します。

wordpressのセキュリティ対策のプラグインは多数ありますが、自分のスマートフォンで手軽に認証ができるGoogle Authenticatorはお勧めです。
設定も非常に簡単です。
私はマルチサイトにしているのでマルチサイトで有効化するやり方を書きますが、ほとんどシングルサイトと同じです。

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

まずはWordpressのサイトネットワーク管理のダッシュボードに移動します。
シングルサイトはそのままダッシュボードでOK。

プラグインの新規追加のタブをクリック

プラグインの追加画面でキーワード検索に「Google Authenticator」と入力します。
ここで結構色々でてきますが「Google Authenticator」とだけ記載されているものをインストールします。
インストール後にマルチサイトで有効化とでるので有効化までします。

インストールされるとユーザーのプロフィール画面にGoogle Authenticator Settingsが追加されています。

activeにチェックを入れて有効化します。ここをチェックしなければ有効になりません。
初めてで設定ミスとか怖い場合は別にユーザーを作ってそちらで実施するのがお勧めです。

Descriptionについてはアプリ側の表示名になるので分かりやすい名前にする事がお勧めです。

Secretがいわゆる認証キーになります。
表示されている英数字を直接アプリに打ち込んでもいいですが「show/Hide QR code」でQRコードが表示されるので
スマホのアプリで読み取るほうが簡単です。

bitbucket server(オンプレミス版)のインストール

会社でGitを使う場合、小規模であればbitbucket serverがお勧めです。
オンプレミス版で10ユーザーだと$10という破格値で買えます!
買いきりですが、サポートを付けたかったら2年目以降に$10で付けれますのでそれでも安いですよね。

bitbucket serverですが以前はStashと呼ばれていたものです。
今回はCetnOS7にインストールしてみました。
そういえばCentOS7のインストールについてもまだ記事書いていなかったなぁ・・・順番前後するけど今度に書こう!

ひとまずbitbucket server無料トライアル申込をしてインストーラーをダウンロードします。
atlassian-bitbucket-5.9.0-x64.binというファイルがダウンロードされました。
早速サーバーにアップしてインストールします。

実行権限が無いので実行権限を付けてインストール
インストールは途中で設定を聞いてくるタイプなのでここは全部デフォルトにしました。

# chmod +x atlassian-bitbucket-5.9.0-x64.bin
# ./atlassian-bitbucket-5.9.0-x64.bin

npacking JRE …
Starting Installer …

Unsupported Git version found [1.8.3.1]. Please upgrade Git to a supported
version before installing Bitbucket.
See http://go.atlassian.com/installgit for more information.
NOTE: If you proceed without a working Git, Bitbucket won’t be able to start
after installation until a working Git is found.
If you proceed without a working Git, Bitbucket won’t be able to start after installation.
Are you sure you want to continue?
Yes [y, Enter], No [n]
y
Bitbucket 5.9.0 installation wizard
Would you like to install or upgrade an instance?
Install a new instance [1, Enter], Upgrade an existing instance [2]
1
Install Bitbucket 5.9.0
What type of instance are you looking to install?
Install a Server instance [1, Enter], Install a Data Center instance [2], Install a Smart Mirroring instance [3]

Where should Bitbucket be installed?

[/opt/atlassian/bitbucket/5.9.0]

Default location for Bitbucket home directory

The location for Bitbucket data.
This will be the default location for repositories, plugins, and other data.

Ensure that this location is not used by another Bitbucket installation.
[/var/atlassian/application-data/bitbucket]

Configure which ports Bitbucket will use.

Bitbucket requires a TCP port that isn’t being used by other applications.

The HTTP port is where users access Bitbucket through their browsers.

Bitbucket also requires ports 7992 and 7993 are available to run an embedded
Elasticsearch instance that provides search functionality to Bitbucket.
HTTP Port Number
[7990]

For a production server we recommend that you run Bitbucket as a
Windows/Linux service because Bitbucket will restart automatically when the
computer restarts.
Install Bitbucket as a service?
Yes [y, Enter], No [n]
y
Please review your Bitbucket installation settings

Installation Directory: /opt/atlassian/bitbucket/5.9.0
Home Directory: /var/atlassian/application-data/bitbucket
HTTP Port: 7990
Install as a service: Yes

Install [i, Enter], Exit [e]
i
Git version 1.8.3.1 is not supported. If you proceed Bitbucket won’t be able to start after installation.
Are you sure you want to continue?
Yes [y, Enter], No [n]
y

Extracting files …
Would you like to launch Bitbucket?
Yes [y, Enter], No [n]
y

Please wait a few moments while Bitbucket starts up.
Launching Bitbucket …

Installation of Bitbucket 5.9.0 is complete
Your installation of Bitbucket 5.9.0 is now ready and can be accessed via
your browser.
Bitbucket 5.9.0 can be accessed at http://localhost:7990
Launch Bitbucket 5.9.0 in browser?
Yes [y, Enter], No [n]
Finishing installation …

とインストールは終了しましたが、最初の方でGitのversionについてエラーが出ていました。
→Git version 1.8.3.1 is not supported. If you proceed Bitbucket won’t be able to start after installation.

yumでインストールしていたものなのでyumで削除して最新のGitのソースを取得してインストールします。
# yum remove git

(2018/3/27)時点ではgit-2.16.3.tar.gzが最新です。

作業ディレクトリで解凍します。
# tar zxvf git-2.16.3.tar.gz
# cd git-2.16.3
# ./configure
# make
ここでエラーになります。
どうやらパッケージが足りないようだったのでyumでインストール
# yum install perl-ExtUtils-MakeMaker

# make

# make install

問題なくインストール完了!

# git –version
-bash: /usr/bin/git: そのようなファイルやディレクトリはありません

おや?
gitはどこに起動ファイルあるのかとログを見てみると/usr/local/binにありました。
確認してもPATHは通ってるし・・・

過去のバージョンがわるさしているのか?
原因探すのは時間がかかりそうだな・・・よしリンクで解決しよう!

根本解決ではないですが簡単ですし、何かあってもすぐに消せるし問題なし!
リンクを設定
# ln -s /usr/local/bin/git /usr/bin/git
確認
# ls -al /usr/bin/git
lrwxrwxrwx 1 root root 18 3月 26 19:06 /usr/bin/git -> /usr/local/bin/git
gitが通るか確認
# git –version
git version 2.16.3

問題ないですね。

インストール時に1.8が入ってたので一度bitbucketを再起動します。
再起動しないとずっと1.8というエラーが表示されます。

そのまんまインストールしたので起動スクリプトは下記のフォルダにあります。
/opt/atlassian/bitbucket/5.9.0/bin

停止
# stop-bitbucket.sh

起動
# start-bitbucket.sh

インストール自体はここで終わりですが内部DBを使うよりDBを別で立てたほうがいいです。
postgresqlがいいようなので久しぶりにインストールしてみますかね。

.htaccessでSSLリダイレクト

今まではドメインとっていなかったからあまり気にしていなかったwww問題が急遽浮上しました。

後、今時は常時SSLだよね~

という事で.htaccessのリダイレクトで対応したいと思います。

記述内容は至ってシンプル!

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

この3行で大丈夫!
どんなサイトでもそのままコピペでいけます。

ちなみにwwwあり、なしの統一もSEO的にやる必要があるのでやろうと思ったのですが、なぜかwwwありにできない。。。

記述としてはこんな感じ

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

$1は%{REQUEST_URI}でもいいけど同じ記述書くのも芸がないと思って$1にしていますw
httpはhttpsでもいいけどとりあえず切り分けの為にhttpにしています。

サーバーの設定やらいろいろ確認したのですが、wordpressのサイトURLとかをwww無しで登録していたのでたぶんこれが原因じゃないかなと推測。

記述無しだとwwwが全部www無しにリダイレクトされるw

まあ、統一されているからいいかな。

データ移行がとても簡単だった件

とりあえず新しく建てたサーバーに過去のデータを入れるかと思いDBのテーブル情報を抜いて入れてしまおうかと思っていました。

でも今時もっと簡単な方法があるんじゃないかなと管理コンソールを見ているとやはりありましたよ。エクスポートとインポート!!

メディアとかでアップした画像とかどうなるのかなぁと思いつつ全てのコンテンツをエクスポートし新しいサイトでインポートを実施。

さっくりとデータが移行されちゃいましたよ。。。

世の中便利になっていくものですねぇ。。。

今までインフラエンジニアとしてサーバーやらネットワークやらをメインに設計やら構築やら運用やらやっていましたが、もうそんなことをガツガツしなくてもいい時代なのかな。

プログラムや構築は趣味程度でやって仕事はなんか違うことした方がいい気がしている今日この頃です。

 

とりあえず再開しました

引越しやらなんやかんやでブログの更新がとまっていました。

今までは自宅のPCにLinux入れてサーバーにしてwordpress入れて・・・
と全て自前でやっていたのですが、今度の引越し先では自前で回線が引けず環境が作れませんでした。

仕方なくレンタルサーバーを探してそこで構築する事にしました。

仕事で比較検討したり利用したりしていますが、せっかくだから今まで使ったことがない所にしようかなぁ
と探していてxserverを見つけました。

ドメインがずっと無料キャンペーンやっていてミドルウェアでnginxを使っているという所もいいと思いこちらで契約しました。

今まではmydnsを使っていたのですが自分のドメインを取得すると何となく気分がいいですね。

ドメインは「kittenblue.com」にしました。

子猫の青という意味です。
子猫ってみんな最初は青い目をしているのでkitten(子猫)blue(青)と呼ばれています。

ちなみにkitten-blue.comは新宿三丁目にあるバーが取得していました。
機会があれば行って見ようかなw

とりあえず自宅のサーバーからコンテンツをダウンロードしてmysqlのdumpとって新しいサーバーに置きました。
DB名とかがレンタルサーバーだとちょっと規制があるのでその辺をちょちょっと修正してテストアップ。

が、ドメインが変わっている為にそのままだと表示されません。。。

しかも無駄にマルチサイト設定をしていた為に意外と面倒です。。。

DBのテーブルで前のドメイン[neko.mydns.jp]を全て探し出して新しいドメインに変更、
homeディレクトリも現在のディレクトリに置き換え、

コンテンツ側でも.htaccessを修正したりwp-config修正したり。。。

一通り修正終わったら問題なく表示されました。

サイト移行だけで数時間かかっちゃいましたよ。

ただ、過去のサイトはサブディレクトリでマルチサイトを作っていました。

せっかくドメインとったからサブドメイン方式にしたいな・・・
あと何となく新しく作ってそこに過去のサイト入れたいな・・・
マイニングしているからそっちのブログも書きたいな・・・
あとちゃんと広告も考えないとな・・・
というかブログのカテゴリとか雑すぎるからちゃんとしないと・・・
ていうかテーマちゃんと考えたほうがよくないかな・・・
バックアップも自宅サーバーで取得できるようにしとかないと・・・

と色々考えることが出てきたのでとりあえず全部一新することにしました!

wordpressの手動更新

サーバーのミドルウェアまで面倒みているとwordpressを手動更新する機会はほとんどないのですが、ビックリするぐらい古いミドルウェアを使っていてバージョンアップもままならないものがあったりします。

そこで手動でバージョンアップをしてみたので方法を記録します。

とりあえずバックアップを取ります。

ファイルは全て、データベースは取りませんでした。(日次でバックアップされているので)

まあ、DBはとりあえずWPで使っているDBの全テーブルのdumpとっておけばいいかと思います。

プラグインを停止します。

止まらないプラグインもあるのでそればスルーする感じで

新しいコアファイルをダウンロード、今回は4.9です。

下記3つのファイルを残して全て削除、ただしWP以外でバックアップ用にとかでリネームしておいたファイルがあればそれも消さないように注意が必要です。

・「wp-config.php」

・「.htaccess」

・「wp-contentフォルダ」

削除できたら最新のWordPressコアファイルのうち下記をアップロードします。

・「wp-adminフォルダ」

・「wp-includesフォルダ」

・「wp-config-sample.php」以外のファイル

 

次に「wp-content」フォルダ内の下記ファイルを削除します。

「languagesフォルダ」

削除したらWordPressコアファイルから同じものをアップロードします。

ファイルをアップロードできたら管理画面にアクセスします。(wp-admin/)
すると「データベースの更新が必要です」と表示されるので「WordPressデータベースを更新」をクリックします。

 

これだけです。

とても簡単ですがバックアップとか取っていないと万が一の時にサイトが復旧できなくなるので簡単だからといって甘く考えてはいけないですよ。

 

Google Analytics タグ設置

HPを運用しているかたはほとんど何からのPV数などを計測するツールを入れているかと思います。

その中で一番ポピュラー(個人的見解)のGoogleAnalytics(GA)のタグ設置についてwordpressでちょっといつもと違う設置をしたので記載します。

一般的な流れは下記のような感じだと思います。

GAにアカウント登録→トラッキングIDの発行→トラッキングコードのタグをhtmlファイルに記載する

テストでカウンターがあがればOK

私は大体<body>の直後に入れています。

wordpressならプラグインとかでてるだろうと調べたらやはりいくつかありました。

その中で「All in One SEO pack」という プラグインを使いました。

導入方法はすごく簡単です。

プラグインで「All in One SEO pack」で検索するとヒットするのでインストールするだけです。

All in One SEO Packの「今すぐインストール」ボタンを押します。

インストール完了後に表示される、「プラグインを有効化」リンクをクリックして有効化します。

有効化されると管理画面メニューに「All in One SEO」が追加されます。

追加されたら一般設定をクリックします。

Google設定というカテゴリの中にGoogleアナリティクスIDという項目があります。
そこに「UA-********」のようなトラッキングコードを入力して一番下にある「設定を更新」ボタンをクリックして下さい。

これだけでタグ設置完了です。

 

wordpressでのDB接続エラーについて

phpバージョンアップ後にwordpressでデータベース接続確立エラーと画面に表示されてしましました。

この手の問題はDBのパスワード変更をした際にwordpressのwp-config.phpの設定ファイルのパスワードを変更し忘れた時等に起きるのですが、今回はmysqlは何も変更をしていません。

DBが壊れたのか?と考えましたがタイミング的にphpバージョンアップが起因していると思われるので調べました。

そうすると下記の事がわかりました。

・PHP5.3以降から、MySQLの古い形式のパスワードをサポートしなくなった

古い形式 : ハッシュ値の長さが16バイト

以前のPHPバージョンは5.3でしたがMySQLは古い形式のパスワードを使用していました。

解決策は簡単です。パスワードを新しい形式「41バイトハッシュ」で再作成する

取り急ぎmysql.iniでold_passwordsの値を変更します。

old_passwords=1

old_passwords=0

これで新しいパスワードは41バイトになります。

過去のパスワードはmysqlのpasswordコマンドで変更します。

パスワードの41バイトハッシュを作る

mysql> SELECT PASSWORD(‘password’);

+——————————————-+
| password(‘password’)                      |
+——————————————-+
| *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+——————————————-+

パスワードを更新する

mysql> SET PASSEWORD FOR user@localhost = ‘*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19’;

これで完了です。

無事wordpressが表示できるようになりました。

やはりバージョンアップはちゃんと影響確認しないと駄目ですよね。

 

 

 

php5.3からphp5.6へのバージョンアップ

しばらくほったらかしにしていたせいでサーバのアプリのバージョンが古い状態でした。

新しいものをインストールする際に困ることがおきるのでバージョンアップをすることにしました。

今回はphpを5.6にします。

php5.6ではEPELとRemiリポジトリが必要なので追加します。

EPELはyumでさくっと、remiについてはwgetで取得してyum.repod.dに配置します。

# yum -y install epel-release
# cd /etc/yum.repos.d
# wget http://rpms.famillecollet.com/enterprise/remi.repo

既存php5.3ですがphp5.6をそのままインストールしても置き換えてくれます。
気になる場合は削除してから行ってください

まずは現在のphpの確認
# rpm -qa | grep php
php53-cli-5.3.3-26.el5_11
php53-pdo-5.3.3-26.el5_11
php53-mysql-5.3.3-26.el5_11
php53-mbstring-5.3.3-26.el5_11
php53-common-5.3.3-26.el5_11
php53-5.3.3-26.el5_11

削除する場合は下記のコマンドを実施

# yum remove php*

php5.6のインストールを実施

# yum install –enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd

アップデートされたか確認

# rpm -qa | grep php
php-cli-5.6.24-1.el5.remi
php-5.6.24-1.el5.remi
php-pecl-jsonc-devel-1.3.10-1.el5.remi.5.6
php-common-5.6.24-1.el5.remi
php-pecl-jsonc-1.3.10-1.el5.remi.5.6
php-mysqlnd-5.6.24-1.el5.remi
php-gd-5.6.24-1.el5.remi
php-devel-5.6.24-1.el5.remi
php-pecl-zip-1.13.4-1.el5.remi.5.6
php-pdo-5.6.24-1.el5.remi
php-mbstring-5.6.24-1.el5.remi

作業自体は簡単ですがバージョンアップするとphpで使えなくなる関数とかあったりしてプログラムの不具合等がでるので十分注意して下さい。