FC2ブログ

fc2ブログの内容を wordpressへインポート

wordpress をインストールしてみたので

fc2 wordpress 移行
で検索して

http://miyearnzzlabo.com/archives/238
を参考に引越ししてみました

なお、移行先は
http://wp.developapp.net/
となります


まずFC2ブログのデータのバックアップ

これは
ログインして
ツール > データのバックアップ
これで、どこまでバックアップするか選択するので
すべての記事をダウンロード

すると、テキスト形式でダウンロードされるけど
これは記事だけで、画像は別
画像データなどは
一番したのほうに
あるけど、一発でダウンロードはできない

さすがに1つずつでは面倒なので
ファイルのリンク先
から
wget で * で一気にやろうとしたけどエラー

このため
http://d.hatena.ne.jp/DarkOrcale/20060822/1156214130
を参考に
vim でダウンロードリストを書いた
download.list を作成
(中身はURLを書いただけ)

これを
wget -i download.list

一括ダウンロードすることに成功

とりあえず、これで記事、ファイルともに揃ったので
次に wordpress の設定

まず、サーバーへSSHでログイン

次に、ディレクトリ作成のため
mkdir /var/www/html/wp.developapp.net/wp-content/uploads/imgs

としたけど、許可がないと言われるので
su で管理者権限となり
再度作成

このままだと root 所有者なので
cd /var/www/html/wp.developapp.net/wp-content/uploads/
chown nobody imgs/
で権限変更

次に、また ubuntu に戻り、ファイルの変更

ブログの記事をダウンロードしているので
ファイルのリンクがすべてブログのURLになっている

これを変更する必要がある

まずは、画像ファイルをアップロード

SFTPで転送するけど
ポートが変えてあるので
http://d.hatena.ne.jp/rdera/20080901/p1
を参考に
sftp -oPort=ポート番号 ユーザ名@パスワード
で接続

次に、まとめてファイル転送
FileZilla でやろうとしたけど
ファイルが230もあり面倒なので、コマンドですませることに

http://cns-guide.sfc.keio.ac.jp/2004/2/6/3.html
を参考に
mput で複数ファイルを転送できるので

ファイルは、まとめておきたいので
作成しておいたディレクトリ frc2bacl に移動
cd fc2bacl/
そして、転送
mput *.png
で転送

とりあえず、
ここから再度コピーしようとしてもエラー連発
http://wpdocs.sourceforge.jp/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%91%E3%83%BC%E3%83%9F%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E5%A4%89%E6%9B%B4
によれば
wp-content のパーミッションは
755 か それ以上にするとのこと

cp: cannot create regular file `/var/www/html/wp.developapp.net/wp-content/uploads/imgs/wiresharks.png': 許可がありません
とでてくるので
かたっぱしから chmod 777 にしていたけど
最終的には
cp *.png /var/www/html/wp.developapp.net/wp-content/uploads/imgs/
でできたときに
images だけ 777 にすればよいことがわかった

で、一番面倒そうなURLの変更

http://blog-imgs-37.fc2.com/h/e/b/heberekemaruhunihun/

http://blog-imgs-37.fc2.com/h/e/b/heberekemaruhunihun

これを自分のWPのURLに変更する

つまり
http://wp.developapp.net/wp-content/uploads/imgs/
とすればOK

念のため、変更するまえに
ファイルをバックアップしておく
cp heberekemaruhunihun.txt heberekemaruhunihun.txt_bk

これで、失敗しても安心



置き換えは gedit でやる予定だったけど
文字を読み込んだら文字化けしたので
Geany で置き換え

これで、ようやく記事のインポート

wordpress のダッシュボードで
ツール > インポートで
http://miyearnzzlabo.com/archives/276
を参考にインポート

FC2ブログはMovable Type(MT)形式のデータなので、[ツール]⇒[インポート]で、[Movable Type と TypePad]を選択

しかし、Movable Type and TypePad Importer 0.4
が必要とのことなので、画面の案内にしたがい
インストール

プラグインを有効化し
『参照』ボタンを押して、FC2ブログからエクスポートしてきた投稿データのテキストファイルを選択
そして、ファイルをアップロードしてインポートを選択

しかし、さらに問題発生
転送できるファイルの大きさに問題あり
なので、これを修正する

アップロードしたファイルは php.ini で定義された upload_max_filesize を超過しています。
とでるので
find / -name php.ini
で検索し
/usr/local/lib/php.ini
とでたので
このファイルを編集

upload_max_filesize = 2M

upload_max_filesize = 200M
へ変更

これでもダメなので
http://d.hatena.ne.jp/knowledgetree/20110217/1297939617
を参考に再度変更

memory_limit スクリプトが確保できる最大メモリ
post_max_size POSTデータに許可される最大サイズ

上記3つの項目が下記のような関係になるように設定しなければいけません。

memory_limit >= post_max_size >= upload_max_filesize
ということなので、これらの項目にも注目

post_max_size = 8M
なので
post_max_size = 250M

memory_limit = 128M

memory_limit = 512M

しかし、いくらやっても反映されないため
http://word-express.net/wp-32
を参考に
php.ini を wp-admin にコピーすることに
しかし、これでもダメなので

sftp -oPort=ポート番号 ユーザ名@IPアドレス
でSFTP接続
put heberekemaruhunihun.txt
で転送

cp -p /home/snowpool/heberekemaruhunihun.txt /var/www/html/wp.developapp.net/wp-content/
でファイルを
wp-content へコピー

cd /var/www/html/wp.developapp.net/wp-content/

mv heberekemaruhunihun.txt mt-export.txt
でファイル名を変更し
Import mt-export.txt
でインポート成功

これで、とりあえずは wordpress への移行が完了しました
スポンサーサイト



テーマ : Linux
ジャンル : コンピュータ

vagrant マシン接続のため hosts 編集

vagrant マシン接続のため hosts 編集

#06 hostsを編集してみよう
http://dotinstall.com/lessons/basic_local_development_v2/24806
を参考に
hosts の編集

IPではなく、ドメインのようなものでアクセスできるように設定する

動画と同じようにしたいのなら
dev.dotinstall.com

ドットインストールでは Mac
私の環境は ubuntu とちょっと違うのでメモ

hosts を編集するには
sudo vim /etc/hosts

でファイルを開き
192.168.33.56 dev.dotinstall.com
というように追記

これで、ブラウザで
dev.dotinstall.com
とすると
192.168.33.56
と同じ意味になる

今後、自分でドメインをとって開発するときに
テスト環境として使えるので
もし、変更したいのなら
dev.dotinstall.com
を自分のドメインに書き換えればOK

テーマ : プログラミング
ジャンル : コンピュータ

vagrant マシンでHTML表示

vagrant マシンでHTML表示

#05 htmlファイルを表示してみよう
http://dotinstall.com/lessons/basic_local_development_v2/24805
を参考に
HTMLファイルを表示してみる

まず、 ユーザ vagrant がアクセスできるように権限変更

sudo chown -R vagrant:vagrant /var/www/html

次に、ファイル転送をするので
ホストマシン、私の場合は Ubuntu で
FileZilla を起動して転送

ホスト名には
192.168.33.56

Protocol は
SFTP
を設定

ログオンの種類は
通常を選択して

ユーザ名 vagrant
パスワード vagrant

で接続

接続できたら
リモートサイトを
/var/www/html
にして
ファイルを作成しようとしたけど
ubuntu の filezilla の場合ファイルを作成する項目が見当たらないので
cd /var/www/html/
touch index.html
でファイル作成

そしてそのまま編集
hello と書いて保存し
再度
192.168.33.56
をリロードして
hello
と表示されれば成功

テーマ : プログラミング
ジャンル : コンピュータ

vagrant マシンにweb サーバー導入

vagrant マシンにweb サーバー導入

#04 Webサーバーを導入しよう
http://dotinstall.com/lessons/basic_local_development_v2/24804
を参考に web サーバーインストール

まず現在インストールされているものを調べるには
yum list installed
で確認できる

確認だけなら sudo なしでもみれる

より細かく調べるなら grep と合わせるとよい
もし httpd がインストールされているか
調べるなら
yum list installed | grep httpd

これで何も表示されないのなら
インストールされていないということ

今回はインストールされていないので
sudo yum install -y httpd
でインストール

ちなみに、この httpd が web サーバで
apache というものになる

sudo service httpd start
sudo chkconfig httpd on
で httpd を起動

chkconfig は次回、自動起動するか設定する
on なら次回から自動起動する

webサーバー起動確認するには
ブラウザを開いて
http://192.168.33.56/
というように
Vagrantfile で設定したIPを打ち込めばOK

テーマ : プログラミング
ジャンル : コンピュータ

仮想マシンのネットワーク設定

仮想マシンのネットワーク設定

#03 ネットワークの設定をしていこう
http://dotinstall.com/lessons/basic_local_development_v2/24803
を参考に
vagrant で作成したCentOS のネットワークを設定

まずシステムアップデート
sudo yum -y update

アップデートできたら
ネットワークの設定

sudo yum -y install vim
で vim をインストール

sudo vim /etc/resolv.conf
ちなみに、ディレクトリパスは
tab キーで補完するとミスしにくい

で、開いたファイルで
一番上に
options single-request-reopen
を追記して保存

これの意味はいまいちわからないので検索
http://www.kunitake.org/chalow/2012-11-02-1.html
にこのあたりの解説が載っているので参考に

どうやら名前解決の遅さ解決のためのようです


そして、開発環境でファイアウォールの解除
sudo service iptables stop
sudo chkconfig iptables off

自分で iptables 設定してもいいけど
なれないうちはこのほうが楽
ちなみに、FW解除しないと
PHPとかでつくってもなにもみれないので注意

テーマ : プログラミング
ジャンル : コンピュータ

vagrant でローカル開発環境構築

vagrant でローカル開発環境構築

ローカル開発環境の構築
http://dotinstall.com/lessons/basic_local_development_v2


今回 vagrant でローカル開発環境構築がでていたので実践

今回は
Python
Ruby / Ruby on Rails の
環境も追加されている

使用する仮想環境は VirtualBox を使用

まず
cd /media/bdec1869-7820-4557-a76e-a8b130293019/
でHDDへ移動
これは私の環境の場合
SSD+HDDのため

vagrant box add centos64box http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box
で追加するけど、すでに以前追加しているので

今回は
mkdir localdev
cd localdev/
でディレクトリを作って、そこに移動

過去に仮想マシンを追加したなら
ls ~/.vagrant.d/boxes/
で追加した仮想マシンを確認できる

vagrant init centos64

Vagrantfile
を作成

ネットワーク設定をするため
vim Vagrantfile
でファイルを開き
/config
で探して
26行めあたりの
# config.vm.network :private_network, ip: "192.168.33.10"
を探し
config.vm.network :private_network, ip: "192.168.33.56"
へ変更

保存したら
vagrant up
で仮想マシンの作成

仮想マシンの作成ができたら
vagrant ssh
で接続して
pwd という現在のディレクトリを示すコマンドで
/home/vagrant
となっているなら成功

テーマ : プログラミング
ジャンル : コンピュータ

ruby でクラスからインスタンス作成

ruby でクラスからインスタンス作成

クラスからインスタンスを作成し
メソッドで呼ぶようにする

インスタンスを作るには
クラス名.new(引数)

.new をつけることで
def initialize が呼ばれる

今回、クラスで
def initialize(name)
@name = name
@hp = 100 + rand(100)
end

となっているので

まず、モンスターのスライムを作成

スライムのインスタンスを作るには

slime = Moster.new("slime")
これで、
スライムのインスタンスが作成され初期設定がされる

このスライムにダメージを与えるには
def damage を実行すればいいので

slime.damage
とすれば実行できる

実行すると
slime appeared. His HP is 109
slime's HP is now 92
というように表示される

さらに、スライムだけでなくマミーも追加
そして、
マミーの回復も追加してみた
mummy = Monster.new("munmmy")
mummy.heal

これで実行すると

slime appeared. His HP is 187
slime's HP is now 170
munmmy appeared. His HP is 150
munmmy's HP is now 165
というように追加されたのがわかる

テーマ : プログラミング
ジャンル : コンピュータ

ruby の自作クラス

ruby の自作クラス

ruby でクラスを作成するには

class クラス名
def initialize
初期化処理
end

def メソッド名
行う処理
end
end

となる


クラス名は大文字で始まるので注意

initialize は必須で
インスタンス作成のときの初期化につかう

この解説でわかりやすいのがドットインストール
今回は、ゲームの処理を想定

class Monster

def initialize(name)
@name = name
@hp = 100 +rand(100)

end


def damage
@hp -=10 + rand(10)
printf("%s's HP is now %d\n",@name,@hp)

end
end

このメモを書いてみると
def initialize(name)
@name = name
@hp = 100 +rand(100)

end
の部分が initialize メソッドによる初期化処理
@name は名前
@hp はRPGのHPを意味している


def damage
@hp -=10 + rand(10)
printf("%s's HP is now %d\n",@name,@hp)

end

ダメージを受けたときの処理を行うメソッド
@hp -=10 + rand(10)
でHPが減る仕組み

printf("%s's HP is now %d\n",@name,@hp)

名前と現在のHPを表示している


続いて、HPが0になったら死亡メッセージ表示
printf("%s is dead ....\n",@name) if @hp < 0

ruby の場合、後に if 判定を書くやりかたをするので
他の言語からくるとちょっとわかりにくい


さらに、回復時のメソッド heal も追記
def heal
@hp += 10 + rand(10)
printf("%s's HP is now %d\n",@name,@hp)
end

これで、回復時の処理もつくれる


また initialize メソッドへ
printf("%s appeared. His HP is %d\n"@name,@hp)
とすれば初期化したときに
名前とHPが表示されるようになる


@がついた変数、今回なら
@name
@hp
これらは、インスタンス変数と呼ばれ
作成したメソッドだけでなく
class から生まれたインスタンスの中なら使える変数
になる

つまり
通常は、メソッドの中
def initialize の中だけになるけど
@ がつくことで

今回なら class Monster の中でなら使える変数になる

このため、
def damage
とか
def heal
という別のメソッドでも使えるようになっている

テーマ : プログラミング
ジャンル : コンピュータ

ruby のメソッドの引数、返り値について

ruby のメソッドの引数、返り値について


def で設定したユーザ関数の引数は
2つにすることもできる

def sing(word="uryyy!")
puts word + word + word +"-"
end

sing()
sing("hu")

へ繰り返し処理を追加するには

def sing(word="uryy!", num=1)
for i in 1..num do
print word
end
puts "-"
end

というように

num を引数に追加して
for で繰り返す数値に利用している

1,,num とすれば
1~numで指定した回数という条件にできる

これを関数で使うには
sing()
とか
sing("good!!",2)
というように繰り返し回数を引数で指定する

実行すると

uryyy!-
huhuhuhuhuhuhuhuhuhu-
というように繰り返し表示される

次に、メソッドの返り値について

ここまでは関数の結果を画面表示したけど
結果を変数に格納することができる

この格納することで、後で代入して表示したり
計算に使ったりと様々な応用ができる

今回はソースを変えて
返り値を表示するようにした

def sing(word="uryyy!",num=1)
s =""
for i in 1..num do
s += word
end
s += "-"
return s
end

res = sing("hu",10)
puts res

この結果は
huhuhuhuhuhuhuhuhuhu-
となる

まず、 s="" で変数を空文字で初期化
for ループの中で
s += word
により、指定したループ回数だけ文字が += により
追加されていく

今回なら
最初は
hu
だけど
hu
huhuhu
というように
+= で追加されていく

最後に for ループを抜けたら
s += "-"
で文字列の一番後ろに - がついて
huhuhuhuhuhuhuhuhuhu-
となっている

return s は結果を格納した変数
これが関係しているのが
res = sing("hu",10)

通常、この結果は画面にでてくるけど
res = になっているので結果は
res に格納され、
puts s で画面表示されている

返り値と引数については
他の言語でも多々使うため
一回覚えると学習効率がよくなる

テーマ : プログラミング
ジャンル : コンピュータ

ruby のメソッドの定義

ruby のメソッドの定義

#28 メソッドを定義しよう
http://dotinstall.com/lessons/basic_ruby/4728
を元に
ruby でのユーザ関数作成について学習

ユーザ関数のメリットは
自分で便利な関数を作成したり
よくつかう処理をまとめて関数にして実行する
ということができるということ

ユーザ関数の作り方は
def ユーザ関数名
 行う処理
end

となる

自作でつくった関数を使うには
他の言語のように
関数名()
とすればOK

注意点としては
関数名は、数字からではつくれない
ということ
これは、他のPHPなどでもよくあるルールなので
名前の付け方を覚えておくと応用がきく

とりあえず実践
ef sing
puts "Hi"
end

sing()

これを実行すると Hi と表示される

また、ruby のユーザ関数も、ほかの言語同様
引数を設定できる

これは関数に、引数の値を渡して
関数内で処理するのにつかう

この引数を設定したユーザ関数を使うには
関数名(引数)
というように使う

引数には、初期値を設定することもできる
こうすれば
何も指定していないときのデフォルト値が設定できるので
引数なしの場合には
デフォルトの値で実行されるということになる

とりあえず実践
def sing(word="uryyy!")
puts word + word + word +"-"
end

sing()
sing("hu")

で実行すると

uryyy!uryyy!uryyy!-
huhuhu-
となる

最初の
uryyy!uryyy!uryyy!-

sing()で引数なしで実行した結果ため
これは
word="uryyy!
というように初期値を設定してある

huhuhu-

sing("hu")
で引数を "hu" で指定した結果になる

テーマ : プログラミング
ジャンル : コンピュータ

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック