WPのsite URLを間違えてやっちまった話

先日お伝えいたしましたように,
「ism67ch.net」は/var/www/html/gunmaで動いています.

実はマルチドメインがうまくいかねぇ〜って悪戦してた時に,
何を血迷ったか,WPのサイトURLってやつを書き換えちまいました…

そのため,「ism67ch.net」にアクセスすると記事は見れるが,
スタイルファイルがない感じ&ダッシュボードに入れない…

やっちまった…どうしよう……

めちゃくちゃ焦った。

どうやら,WPのDBのサイトURLを直接いじれば何とか直せるらしい。

ただ,SQL使ったことねぇ〜w

人間調べれば何とかなる!
ということで,調べて見た。

神発見っ!

ここのサイト様を参考に直して見たら…

直った!!!!

ハラハラドキドキな時間を過ごした。
心臓に良くないねw

マルチドメインに挑戦!!

いつかブログに書きますが,
次の夏コミに出すサークルのための紹介HPをこのサイトのホストと同じVPSに立てようと思いまして…

マルチドメインに挑戦してみました.

マルチドメインってのは,1つのサーバーに来たアクセスをDNSごとに識別し,
対応するサイトを返すようにすることを言います.
要するに,1つのサーバーで複数のサイトを運営したいときに役に立つ技術です.

今回は,「www.ism67ch.net」できた場合には「/var/www/html/gunma」を,
「www.black.nabe」できた場合には「/var/www/html/yaminabe」を返すように設定します.

1.htmlディレクトリの上に2つのサイトのディレクトリをそれぞれ作る
今回の場合は,/html/gunmaと/html/yaminabeみたいな感じにディレクトリ作りました.

2.httpdを設定する
vi /etc/httpd/conf.d/vhost.conf
書き込む内容はこんな感じです


3.httpdを再起動する
/etc/rc.d/init.d/httpd restart

4.ディレクトリの所有権変更
chown -R user /var/www/html/

大抵の場合これでうまくいくと思います.
大抵…はね…。
そう,上手く行かなかったのですよ!w

なんか,「www.nabe.black」にアクセスしても
「/gunma」の方が表示されちゃって…

色々試行錯誤した結果,
DNS側の設定の方が「nabe.black」になっているみたいで,
「Server Name www.nabe.black」→
「Server Name nabe.black」に変更したところ…


「オッケーで〜す!!!」

みんなも気をつけような!w

FTPの設定をした話

Word Pressのアップデートの件を先日記事にしましたが,
やはり,FTPでWPのダッシュボードから更新できないと不便!!

ということで,FTPを設定しました〜

1.vsftpdのインストール
[root@ ~]# yum -y install vsftpd 

2.vsftpdの設定ファイル編集
[root@ ~]# vi /etc/vsftpd/vsftpd.conf
やったこと
・anonymous_enable=YES という記述の YES → NO
・「ascii_upload_enable=YES」と
「ascii_download_enable=YES」のコメントアウト解除
・use_localtime=YES を追加

3.vsftpdの起動
[root@ ~]# service vsftpd start (vsftpdの起動)
[root@ ~]# chkconfig vsftpd on (vsftpdの自動起動設定)


4.コンテンツを置くディレクトリの所有権変更
[root@ ~]# chown user /var/www/html/

Word Press を手動でアップグレードする方法

何かとあれな《Word Press》ちゃんですが,
さくらから警報メールが届いていたので,そろそろアップゲレードしますか…

FTP接続してアップデートしちゃえばいい話なのだが,
なぜかうまくいかない…

そっちは後でチェックするとして,
とりま,先にアップデートだけ済ましてしまおう!

ということで,「Word Press を手動でアップグレードする方法」です!

① サイトのバックアップを取る

バックアップ… ダイジ…
しないと、イチダイジ…

② 新しいバージョンのWord Pressを手元に手に入れる

こことかからゲットして下さい。

③ 今動いているWPのプラグインを全部停止して下さい

④ コアファイルを入れ替える

※ ここからは少し慎重に、まぁバックアップとってるけど

・古いコアファイルを削除
下記のファイル以外を削除!
 ・wp-config.php
 ・.htaccess(存在する場合)
 ・wp-contentフォルダ
 ・wp-imagesフォルダ(1.5.x 以前から使っているときにのみ存在)

・新しいコアファイルをアップロード

下記をアップロード
 ・wp-adminフォルダ
 ・wp-includesフォルダ
 ・wp-config-sample.php 以外のファイル

・コンテンツファイルを削除

下記のファイルをアップロード
・languagesフォルダ
・cacheフォルダ(2.0.x からアップグレードする場合にのみ存在)

・新しいコンテンツファイルをアップロード

下記のファイルをアップロード
・wp-content」フォルダ内の「languages」フォルダ

⑤ データベースを更新

管理画面にアクセスして、データベースを更新。

⑥ WPのプラグインを再稼働

MacでLinuxのbootUSBを作る方法

isoファイルからbootUSBを作るソフトって結構ありますが,
そうしょっちゅう作るもんでもないのにいちいちソフトいれるのもめんどいなぁ〜
ってことで,MacのコマンドだけでbootUSBを作る方法です.

必要なもの:
・USB
・ISOファイル

① USBをMacに接続する
② Terminalを開く
③ .imgを.isoに変換する
hdiutil convert -format UDRW -o /path/to/save/name.img /path/to/ubuntu.iso
④ .img.dmgみたいになっちゃうから mv /path/to/name.img.dmg /path/to/name.img 
⑤ diskutil listでUSBのデバイスノードを確認する
⑥ ここでは /dev/DiskNだったとします。Nには本来数字が入るはず
⑦ diskutil unMountDisk /dev/diskN を実行してUSBをアンマウントする 
⑧ sudo dd if=/path/to/save/name.img of=/dev/rdiskN bs=1mをしてUSBスティックにubuntuのインストールディスクを書き込む。

「開発効率をUPする Git 逆引き入門」のメモ

図書館でこのような本を借りたので,
Gitをちゃんと勉強してこなかった私のメモ.

とっても読みやすくてわかりやすかった.
問題はこの後自分がどれだけ使っていけるかだと思う.

*Gitの基礎知識*

・Gitはバージョン管理システムである
・他にもCVSとかSubversionといったものが存在する
・集中型バージョン(リポジトリはリモートだけ)管理システム:CVS,Subversion
・分散型バージョン(リポジトリをリモートとローカルで持つ)管理システム:Git
・作業ディレクトリ、ステージング・エリア、Gitディレクトリの3つのデータ領域がある

*Gitを使った作業の流れ*

① 作業ディレクトリへ移動
② Gitリポジトリを作成(git init)
[リポジトリの状態の確認(git status)←適宜必要な時に]
④ Git管理するファイルをステージング・エリアに登録(git add [file])
⑤ ステージング・エリアに登録された内容を
Gitディレクトリに登録(git commit -m “[message]”)
⑥ ファイルを編集
⑦ 変更をステージング・エリアに登録(git add [file] or git add .)
⑧ ⑦をローカルリポジトリに登録(git commit -m “[message]”)

*Gitの設定*

Gitの設定ファイルは3種類存在する.
設定ファイル 変更するためのコマンド
/etc/gitconfig git config –system <引数>
~/.gitconfig(アカウント毎の共通設定) git config –global <引数>
各プロジェクト内の .git/config git config <引数>
設定例)

・ユーザ情報の登録
Gitでコミットを行う際は,ユーザ情報が必要となるので登録してみる.


・コマンドのエイリアス登録
長いコマンドとかをエイリアス登録して使いやすくする.


*Gitの準備と基本操作*

・1からリポジトリを作りたい
(シチュエーション)
リポジトリを作成したいとき。


・既存のリモートレポジトリを使いたい
(シチュエーション)
既存のリモートレポジトリの複製をローカル環境に作成したいとき。


・ファイルの状態を確認したい
(シチュエーション)
ステージング・エリアに登録したいファイルや,次回コミット時に変更履歴として
Gitで管理されるファイルを確認したいとき。


・変更内容をステージング・エリアに登録したい
(シチュエーション)
新しいファイルや,変更されたファイルの内容をステージング・エリアに登録したいとき。


・ステージング・エリアの変更内容をコミットしたい
(シチュエーション)
ステージング・エリアの内容をGitディレクトリに登録したいとき。
・ステージング・エリアの変更内容を取り消したい (シチュエーション) ステージング・エリアにaddしてしまった内容を取り消したいとき。

・ファイルをGit管理から削除したい
(シチュエーション)
作業ファイルのファイルから特定のファイルを削除しても,
ステージング・エリアのファイルは削除されないので,
ステージング・エリアに対し削除情報を登録したいとき。
(尚、Gitディレクトリには過去のリポジトリを保つためファイルは削除されない)


・ファイル名を変更したい
(シチュエーション)
ファイル名を変更したり,ファイルを移動したりしたいとき。


・Git管理していないファイルだけ削除したい
(シチュエーション)
Git管理していない作業ディレクトリ上のファイルを削除したいとき。


・Git管理の除外対象ファイルを設定したい
(シチュエーション)
*.logや*.bakなどリポジトリの管理から除外したいファイルを設定したいとき。
ここを参考に編集するのがいい


・Git管理しているファイルを後から除外対象に設定したい
(シチュエーション)
一度ステージングエリアに登録していしまったファイルを,
後から除外対象ファイルに設定したいとき。


・除外対象に設定されているファイルをステージングエリアに登録したい
(シチュエーション)
除外対象のファイルを強制的にステージングエリアに登録したい場合。


・空のディレクトリをGit管理したい
(シチュエーション)
事前に空のディレクトリを準備しておいて,
都度Git管理するファイルを増やす形を取りたいとき。


・変更内容を一時的に退避したい
(シチュエーション)
Git管理されているファイルをちょこっといじってみたいだけで,
いちいちその変更をリモートリポジトリに反映させたくないとき。
stashという領域を用いてそこに退避させておくイメージ。


*リポジトリの操作*

・リポジトリを変更履歴の状態に戻したい
(シチュエーション)
現在の状態を特定の変更履歴に戻し,そこからまた異なる変更をしていきたい場合。


・特定のファイルを指定した変更履歴の状態に戻したい
(シチュエーション)
特定のファイルを指定した変更状態に戻したい場合。


・特定のファイルを過去の変更履歴から完全に削除したい
(シチュエーション)
パスワードが記載されたファイルを履歴に含めてしまうと,
対象ファイルを削除したとしても履歴に残ってしまい,
そこから復元されてしまう。
過去の変更履歴を含めてファイルを完全に消去したい場合。


・間違えて戻してしまった変更履歴を元に戻したい
(シチュエーション)
git reset –hard などを誤って実行してしまい,
意図せず変更履歴を戻してしまったとき。


・特定の変更履歴の内容をなかったことにしたい
(シチュエーション)
変更履歴に問題が見るかり,その変更自体をなかったことにしたい場合。
git reset との一番の違いは特定の変更履歴をなくすためのコミットを作る点。


・複数の変更履歴を1つにまとめたい
(シチュエーション)
複数の変更履歴を1つにまとめて整理したい。


*ブランチとタグの操作*

・新しいブランチを作成したい
(シチュエーション)
複数人で同じプロジェクトを扱うときに,目的毎にブランチを作成したいとき。


・ブランチの一覧と現在のブランチを表示したい
(シチュエーション)
ブランチの一覧を表示したい、現在のブランチを表示したいとき。


・ブランチ名を変更したい
(シチュエーション)
ブランチ名を変更したいとき。


・ブランチを削除したい
(シチュエーション)
ブランチを削除したいとき。


・他のブランチに切り替えたい
(シチュエーション)
現在作業中のブランチを他のブランチに切り替えたいとき。


・ブランチをマージしたい
(シチュエーション)
ブランチをマージしたいとき。


・ブランチをリベースしたい
(シチュエーション)
マージのように新たな変更履歴を作らずに、ブランチを統合したい。


・他のブランチの一部変更履歴を取り込みたい
(シチュエーション)
git merge や git rebase だと対象のブランチの変更履歴を全て取り込んでしまう。
全てではなく,一部だけを取り込みたいとき。


・コンフリクトを解消したい
(シチュエーション)
マージを行うと
①マージ後の変更内容を作成
②作成した変更内容をコミット
という2つの処理が自動的に行われる。
コンフリクトが起こると①だけが行われ,
変更内容はステージングエリアのみに登録された状態となる。
マージを完了させるには,①で作成された変更内容を手作業で修正し,
コンフリクトを解消する必要がある。


・新しいタグを作成したい
(シチュエーション)
新しいタグを作成したいとき。


・タグを削除したい
(シチュエーション)
タグを削除したいとき。


*リモートリポジトリの操作*

・リモートリポジトリの情報を確認したい
(シチュエーション)
リモートリポジトリの情報を確認したいとき。


・リモートリポジトリを追加・削除したい
(シチュエーション)
複数のリモートリポジトリと連携して,それぞれのリモートリポジトリに対して
変更履歴を反映したり,取り込んだりするとき。


・リモートリポジトリの設定内容を変更したい
(シチュエーション)
リモートリポジトリの設定を変更したいとき。


・リモートリポジトリの変更内容を取り込みたい
(シチュエーション)
リモートリポジトリの変更内容を取り込みたいとき。


・ローカルリポジトリの変更をリモートリポジトリに反映したい
(シチュエーション)
ローカルリポジトリの変更履歴をリモートリポジトリに反映したいとき。


・ローカルリポジトリに作成したタグをリモートリポジトリに反映したい
(シチュエーション)
ローカルリポジトリに作成したタグをリモートリポジトリに反映したいとき。


・リモートリポジトリ上のブランチを削除したい
(シチュエーション)
リモートリポジトリ上のブランチを削除したいとき。


・リモートリポジトリ上のタグを削除したい
(シチュエーション)
リモートリポジトリ上のタグを削除したいとき。


・リモートリポジトリ上で削除されたブランチやタグをローカルリポジトリに反映したい
(シチュエーション)
リモートから削除しても,ローカルには反映されずブランチやタグが残ったままになってしまう。
ローカルからも削除したいとき。


*リポジトリ内を調べる*



*困った時の対応*

・誤ってファイルを削除してしまった


・ローカルリポジトリの変更をリモートリピジトリに反映できない


・直前のコミットメッセージを間違ってしまった
 

Ubuntuでprimaryパーティションの容量拡張

仮想で使ってたUbuntu 16.04のディスク容量が減ってきちゃったので、
primaryパーティションの容量を拡張しました。

以前パーティションいじってBoot部分消しちゃって、
最悪な思いした経験があったので今回はリベンジですw

まずは現在の構成の確認。

自分の環境では、以下のようになってました。

スクリーンショット 2016-12-11 18.55.24

sda1:primary
sda2:extended
sda5:swap

やりたいこととしては、sda1に約40GBくらいを割り当てておきたい。
ちなみに、sda2のextendedってのは、
なんかprimaryパーティションが振れる数が決まってるらしく、
それ以上細かくパーティションを区切りたい時には、
このextendedって領域を設けて、その中を細かく区切るような感じらしいです。
(間違ってたらゴメンなさい。教えて〜

sda1を拡張するために、sda2とsda5を一度削除しちゃいます。
(私の場合はsda2には特に何も入れてなかったんですけど、なんか入ってて、
保持しておきたい人とかは一回cloneとかしてから消すんですかね?)

これを実行すると、以下のようになりました。

スクリーンショット 2016-12-11 18.58.34
これでsda1の後ろには何にもなくなったので、
次はsda1を拡張します。

以下のコマンドを実行しました。

これで一応拡張できました。
最後のInformationにあったことをします。

これで拡張は完了です。

最後に、sda2とsda5を再定義しておきます。
(何のためかは分からないけど、なんかのために一応

記録取ってなくてうろ覚えなんですけど、
こんな感じのことをやったきがする。

とにかくまぁ、こんな感じのことをいじってたらうまくできました❤️

こういう話を勉強できる書籍を探して、じっくり勉強したいです。
おすすめあったら教えてください😔

Mac book pro 新調メモ

PCをMac Book Pro 13 inch touchbar タイプに新調したので、その時のメモ。

・Dockを左に設定

・4本指でスクリーン間の移動を可能に

・3本指でウィンドウのタブ移動を可能に
(アクセシビリティのマウスとトラックパッドから)

・Dropboxのクライアント入れた

・serria版でkarabinerがまだ開発途中だったので、「⌘英かな」を利用した(これ簡単)

・safariのブクマインポート

janetterをインストール(今回から純正じゃないの使ってみる)
→サスペンドから戻ると落ちてたりするのでTweetDeckに変更

・lineをインストール

・slackをインストール

・メモをicloud同期(今までしてなかったので)

・teamviewerをインストール

・PCの名前の変更(システム環境→共有→コンピュータ名を変更&***.localも変更)

・terminalの設定
一般タブ:起動時に開くをProに変更
プロファイルタブ:Proをデフォルトに変更(元々Basicになってた)
エンコーディングタブ:UTF-16にチェック

・起動shellの設定
ユーザとグループで鍵マークを外す→アカウント名のところで右クリ(詳細設定)→起動shellをzshに設定

・ドットファイルをホーム直下になるべく減らしたいので、zsh、vimなどのドットファイルをぶち込んでおくディレクトリ~/.Dotfilesを作成


・zshのプロファイルを設定
プロファイルの作成


プロファイルに以下を書き込んだ

これでlsコマンドの色分けがされて見やすくなる。

今後これを参考にzshを使いやすくしてってもいいかもしれない。

・vimのプロファイルを設定
プロファイルの作成

プロファイルに以下を書き込んだ


.zshrcが~/じゃなくて~/.Dotfiles/zsh/にあるので、そこを読みに行かせる為に~/に.zshenvを作成


・vimの側をいじる
プロファイルの作成
プロファイルに以下を書き込んだ。

(正直どこがどう変わったかわからなかったので、後で検証)

・Adobe一式 インストール(キーが。。。)

・Xcode インストール

・homebrewインストール(ここを参照)
定期的に以下のコマンドを


・texのインストール(texlive2016, MacTex, latexmk, skim)
MacTexをダウンロード

PDF変換に必要になるのでGhostscriptをインストールする

Skimをインストールする
TexLiveをアップデート

適当なsample.texを用意して試してみる

和文フォント埋め込み

skimをここからインストール
→一回右クリックで開くしておく

latexmkの設定ファイル.latexmkrcもホーム直下を避けたいので、~/.Dotfiles/に作成。latexmkコマンド起動した時にそっちを読みに言って欲しいので、aliasで指定しておく。

~/.Dotfiles/に.latexmkrcを作成


.latexmkrcに以下を記述

latexmkコマンド打った時にこれを読みに言って欲しいので、.zshrcにaliasで指定しておく

こことかこのへんとかこことかここらへんが参考になる。

・sublimeインストールする
ここからインストールする
前のsublimeから~/Library/Application Support/Sublime Text 3/のInstalled PackagesとPackagesをまんま同じ位置にコピーする。

・Skypeをインストール

・Xcodeをインストール

・PyCharm Professionalをインストール
初期設定は以下のようにした。
スクリーンショット 2016-12-06 3.23.05

・公開鍵と秘密鍵を生成

・今後もssh接続しそうなサーバーに公開鍵を置きに行く

・Finderに隠れファイル表示させる
起動ディスク(Macintosh HDなど)」→「アプリケーション」→「ユーティリティ」と移動し「ターミナル」を起動する。


・Spotifyをインストール

・Toast11 Premiumをインストール

・Source Treeをインストール

   

skimageはインポート出来るのに、skimage.ioはインポートできなかった話

多分先日CaffeをUbuntu16.04に入れようとした影響だと思うんですが,
以下のような現象が起こりました!

スクリーンショット 2016-11-25 14.32.30
スクリーンショット 2016-11-25 14.33.14
要するに,skimageはインポートできるのに,
skimage.ioがインポートできなくなっちゃったんです!
ついでにmatplotlib周りも似たような現象にw

結論から言うと,dateutilが古いからだそうです!
以下のコマンドを打って,1.5って出た場合にはdateutilが古いです!

1.5だった場合には,以下のコマンドを実行するとアップデートできます!


このdateutilってのは,
イメージとしてはdatetimeにメソッド足した的なやつらしいです.
世界時間を考えたりしなきゃいけない時とかに,
datetimeだと単一のタイムゾーンしか…
みたいなことが起こるので,そんな時にdateutil使ったりするみたいです.

ChainerにCaffeモデルを読み込ませてテストするまで(Ubuntu16.04)

タイトルにある通りです.

初めはCaffeでやろうとするも,
Ubuntu16.04のprotobuf周りのせいで雲行きが怪しくなったので,
今回はChainerにCaffeモデルを読み込ませてテストしてみようって感じです.

 
① Chainerをインストールする

今回はネットワークを云々したい訳ではないので,
CPUでの利用を考えています.
したがって,Chainerのインストールはコマンド一発です!
GPUで使いたい場合は,こちらこちらを参考にしてください.

 
② Caffeモデルの準備

次に,Chainerに読み込ませるCaffeモデルの準備をします.
今回はGoogleNetのbvlc_googlenetを利用しています.
1000個のカテゴリーに分類することができます.

こちらにある,caffemodel_urlのリンクからダウンロードしてください.
解凍したら,synset_words.txtを加工してラベルファイルを生成します.
ラベルファイル生成は,以下のコマンドを実行.
これで,labels.txtにラベルが保存されます.

“crane”という行が2つあってまぎらわしいので,
135行目を”crane(bird)”に,
518行目を”crane(machine)”に変更しておくと良いとのことです.

 
③ テスト画像をChainerへの入力形式に変更

以下のプログラムでテスト画像をChainerの入力形式に変換します.
Chainerの入力形式は[画像インデックス,BGR, Y座標, X座標]なので,
テスト画像をその形式に変換しています.
画像サイズは定義したサイズに変換しますが,
画像中のオブジェクトが歪まないように変形しています.
画像インデックスはテスト画像の枚数分指定しています.


  ④ Caffeモデルを読み込む

以下のプログラムで,Caffeモデルを読み込みます.
caffemodelのパスは各自の環境に合わせて定義してください.

 
⑤ 予測させる

最後に以下で予測させます.
試しに以下のキジムナーの画像をテストしてみた結果です. L3552320001722752