OpenCLのエラーコード

めも
[cpp]
// Error Codes
#define CL_SUCCESS 0
#define CL_DEVICE_NOT_FOUND -1
#define CL_DEVICE_NOT_AVAILABLE -2
#define CL_COMPILER_NOT_AVAILABLE -3
#define CL_MEM_OBJECT_ALLOCATION_FAILURE -4
#define CL_OUT_OF_RESOURCES -5
#define CL_OUT_OF_HOST_MEMORY -6
#define CL_PROFILING_INFO_NOT_AVAILABLE -7
#define CL_MEM_COPY_OVERLAP -8
#define CL_IMAGE_FORMAT_MISMATCH -9
#define CL_IMAGE_FORMAT_NOT_SUPPORTED -10
#define CL_BUILD_PROGRAM_FAILURE -11
#define CL_MAP_FAILURE -12

#define CL_INVALID_VALUE -30
#define CL_INVALID_DEVICE_TYPE -31
#define CL_INVALID_PLATFORM -32
#define CL_INVALID_DEVICE -33
#define CL_INVALID_CONTEXT -34
#define CL_INVALID_QUEUE_PROPERTIES -35
#define CL_INVALID_COMMAND_QUEUE -36
#define CL_INVALID_HOST_PTR -37
#define CL_INVALID_MEM_OBJECT -38
#define CL_INVALID_IMAGE_FORMAT_DESCRIPTOR -39
#define CL_INVALID_IMAGE_SIZE -40
#define CL_INVALID_SAMPLER -41
#define CL_INVALID_BINARY -42
#define CL_INVALID_BUILD_OPTIONS -43
#define CL_INVALID_PROGRAM -44
#define CL_INVALID_PROGRAM_EXECUTABLE -45
#define CL_INVALID_KERNEL_NAME -46
#define CL_INVALID_KERNEL_DEFINITION -47
#define CL_INVALID_KERNEL -48
#define CL_INVALID_ARG_INDEX -49
#define CL_INVALID_ARG_VALUE -50
#define CL_INVALID_ARG_SIZE -51
#define CL_INVALID_KERNEL_ARGS -52
#define CL_INVALID_WORK_DIMENSION -53
#define CL_INVALID_WORK_GROUP_SIZE -54
#define CL_INVALID_WORK_ITEM_SIZE -55
#define CL_INVALID_GLOBAL_OFFSET -56
#define CL_INVALID_EVENT_WAIT_LIST -57
#define CL_INVALID_EVENT -58
#define CL_INVALID_OPERATION -59
#define CL_INVALID_GL_OBJECT -60
#define CL_INVALID_BUFFER_SIZE -61
#define CL_INVALID_MIP_LEVEL -62
#define CL_INVALID_GLOBAL_WORK_SIZE -63
[/cpp]

ブログサーバー構築の備忘録

前の投稿で、ブログサーバーがローカルで動くところまで行ったので、今度はそれをグローバルで公開して、インターネットを通じてどこからでもアクセスできるようにした備忘録。

自分の自宅サーバをインターネットに公開するためにはドメインとグローバルIPが必要(厳密に言うとドメインは必要ない)
マンション等でインターネット契約している場合、大元でグローバルIPを割り振ってもらえていなかったり、ポートを開放してもらえてなかったりする。如何せん、ぼくの家はマンションのため、まずはグローバルIPがとれているかとHTTPのポート80が開いているか調べる必要がある。

まずグローバルIPがとれているか調べる
ぼくの場合ルータの設定画面で確認することができた。IPアドレスが192.***.***.**的な感じで始まるものでなく、128.***.***.**的な訳のわからないIPになっていたら、そのルータにはグローバルIPが割り当てられる。もしわからなければルータを介さずに直接モデムからLANケーブルをパソコンに差し込んで、コマンドプロンプトやIPアドレスを表示してくれるサイト等で確認すれば良い。

次にポートが開いているか調べる。
まず、ポートが開いているか調べる前に、ルータを利用している場合、ルータでポートが開いているかを確かめよう。そしてもし開けていないならば、HTTPのポート80を開けるように設定する。それを行った上でポートが開いているか調べる。方法はコマンドプロンプトやポートが開いているか確かめるサイトがある。参考確認してポート80が空いていれば成功!!!インターネット公開できるぞ!ついでに外でも作業ができるようにsshのポート80も開けておけばputty等でサーバーにアクセスできる。

ここまできたらもうなんの心配もない。あとはダイナミックDNSを取得するだけ。ダイナミックDNSについても少しややこしいかも知れないが、簡単に説明すると、グローバルIPっていうのインターネットに接続する際、毎回変わってしまうものだから、サーバーみたいなIP変わって困る場合に役に立つ。仕組みはサーバーはいつもIPが違うのでドメインと毎回変わるIPを紐付けて定期的に更新すれば、ドメインにアクセスするだけで自動的に今サーバーに割り当てられているIPを取得することができるって感じ。それがダイナミックDNSってやつ。ダイナミック=動的ってこと。

ダイナミックDNSを利用するためには、どっかのサービスに登録しなければならない。このサービスをやってるところはいろいろあるから「ダイナミックDNS」で調べてみるといい。無料で使えるところもあるみたい。ぼくはDynDNSってところ。年2000円くらい。登録したら、ドメインを作成する。好きなドメイン名をつけれる。そしていまのIPアドレスを入力する。それでダイナミックDNSの設定は終了。今度はルータの設定にはいる。ルータの設定を開いてDDNSってところを探す。するとルータによってはDynDNSが簡単に使えるようになっているので、これを利用する。アカウント名とパスワードを入力して更新頻度を指定すれば、簡単に設定できる。もしルータにそーいう機能がなかったらサーバ側にドメイン名とIPアドレスを自動的に定期的に更新するように設定しなければならない。

一応これでグローバル公開は完了。おつかれっしたー。

ローカルからアクセスできない原因

自宅にサーバーを立てて、このブログを公開しているわけであるが、使っていて1つ問題が、、、

ローカルネットワークからアクセス出来ない。。。
外からならアクセスできるのに、中からだとアクセス出来ない。

具体的には、ローカル内のパソコンからローカルIPを指定すればつながるが、グローバルIPまたドメインを指定するとつながらない。
ただローカルIPを指定して繋がった場合もブログ内の画像ファイルやサーバー内のリンク等にはアクセス出来ないため、ブログの投稿すらできないのだ!!!!これは面倒!サーバーを立てている自宅からはブログの投稿ができない!くそっくそ!

ローカルからアクセス出来ないのは、当たり前のことだったっぽい。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=23242&forum=10

NATの原理を理解していれば分かるらしいが、よくわからん。まだまだ勉強が必要。

なんだかんだで公開プロキシをかましたらできた。プロキシも学校のクソなイメージがあったけど、プロキシっていうのは本来おれも思っていたものとは違うっぽい。今日はこれまで。

ブログサーバー構築の備忘録

勉強がてらブログサーバーを立ち上げることにした。まだローカルでしか動かないけど、近いうちに自分でサーバーを公開できるようにしたいと思っている。

日経Linux2012.7月号を参考に作成。
とりあえず、ローカルで動かすまでの備忘録。

1.まずパソコンにubuntusever12.04LSTをインストール
ここは普通にEnter連打でOK

2.文字化けを治す
インストールが終わったらアカウントにログインする。文字化けをしてるから

$ LANG=C nano ~/.bashrc

と実行。そしてファイルの一番最後に

case $TERM in
linux)LANG=C ;;
*)LANG=ja_JP.utf8 ;;
esac

と入力保存。ログインし直すと文字化けが治っているはず。

3.ネットワークの設定
無線LAN設定はできなかったorz
プロキシを通している場合、さっきのバッシュファイルを開き

export http_proxy="アドレス:ポート番号"

と入力する。その後設定を更新するために$ source ~/.bashrcを実行。
またサーバーを構築する前にはファイアウォールを切っておいたほうが良いらしい。

$ sudo ufw disable

でファイアウォール設定をOFFに。ちなみに

$ sudo ufw status

で設定を確認できる。

4.最新状態に更新
ネットワーク設定が終わりインターネットに繋がったら、OSのアップデートをする。

$sudo apt-get update
$sudo apt-get upgrade

これで完了。

5.apacheとSQLをインストール

$sudo apt-get install apache2
$sudo apt-get install mysql-server

wordpressはphpで動くためphpとその関連モジュールもインストール

$sudo apt-get install php5 php5-mysql php5-gd

6.apacheとSQLの設定
●apache
/etc/apache2/apache2.conf

73行目 Keepalive On

に変更。
/etc/apache2/sites-available/default

2行目 ServerAdmin メールアドレス
3行目 ServerName webサーバーのホスト名:サービスポート番号

に変更。
●MySQL

44行目 skip-external-locking
45行目 skip-name-resolve
46行目 log

を追記。
☆2つのサービスを起動する。

$ apachectl configtest
$ service apache2 start
$ service mysql start
$ mysqladmin -u root password 新しいパスワード

7.Wordpressのインストール

$ sudo apt-get install unzip wget
$ wget http://ja.wordpress.org/wordpress-3.4.1-ja.zip
$ unzip -d /var/www/ wordpress-3.4.1-ja.zip

オーナーの変更

$ sudo chown apache2 /var/www/wordpress
$ sudo chown -R apache2 /var/www/wordpress/wp-content

8.データベースの用意

$ sudo mysql -uroot -p
mysql> CREATE DATABASE wordpress CHARACTER SET utf8;
mysql> GRANT ALL PRIVILEGES ON wordpress.* TO username@localhost IDENTIFIED BY 'パスワード';
mysql> FLUSH PRIVILEGES;
mysql> quit;

9.アクセス権の設定

$ chown apache2 /var/www/wordpress
$ chmod 775 /var/www/wordpress

10.wordpress初期設定
他のパソコンから「http://サーバのアドレス/wordpress」にアクセスする。
このとき注意することがローカルでアクセスしてしまうとwordpressが自動でそのローカルアドレスに設定しまうので、必ずグローバルなアドレスでアクセスする。

ユーザー名はおそらくroot、パスワードは8.で設定したパスワード。

以上でサーバー構築は完了。

ここからはAmebloからWordpressへ記事を移行する手続き。
方法はいくつかあるらしいが、ここではFC2ブログを利用して記事を移行する

11.FC2ブログに登録
サイトに行って普通に登録する

12.ログインしてブログ開設するときにAmebloからの移行を選択する
ブログの詳細情報を決める初期設定みたいなところで以前のブログを引きつぐってやつAmebloからの引越しツールが使える。

13.amebloのユーザ名とパスワードを入力し引越し完了メールを待つ。
僕の場合は、2時間くらいでした。

14.引越し完了したら、FC2ブログにログインしてバックアップファイルをダウンロードする。

15.インポート・プラグインを導入しようとしたら、FTP接続情報を求められてしまった
wp-config.phpにつぎの記述をする。

define(‘FS_METHOD’, ‘direct’);

そしてつぎに更新用(?)のディレクトリが必要になるので「wp-content/upgrade」を作成、パーミッションを書き込み可に変更。
同様に「wp-content/themes」と「wp-content/plugins」にも書き込み許可を与える。

$ mkdir wp-content/upgrade
$ chmod 0707 wp-content/upgrade
$ chmod 0707 wp-content/themes
$ chmod 0707 wp-content/plugins

参考http://xoops123.com/modules/wordpress/?p=215