sakuraVPSの設定備忘録
http://wata-jp.ldblog.jp/archives/1606112.html
自分が知らなかったコマンド備忘録です。
macでもシェルでの操作を増やしていきたいですねえ。
3. root のパスワード変更&通常時使うユーザ作成
passwd - linuxパスワード変更コマンド
root権限で
useradd ユーザー名 passwd ユーザー名
も可能
4. 公開鍵でログインできるようにする
公開鍵を使うことでsshログインにパスワードを入力しなくていいようにする
scp ~/.ssh/id_rsa.pub hoge@xxxxxxxxxx.sakura.ne.jp:~/id_rsa.pub
scp unixにファイルを安全に転送する
scp [オプション][転送したいファイル名][転送先のパス]
touch - 新規ファイル作成
cat ファイル名 - 中身を表示
cat ファイルA名 >> ファイルB名 - ファイルAの中身をファイルBに上書きせず、追加保存する(>>ではなく>は上書き保存)
5. sshd_config を編集
[hoge@xxxxxxxxxx ~]$ su -
su - 他のユーザーアカウントに切り替え。
su - hoge も可能
iptables
→ファイアーウォールを作る。
とりあえずインストールされてるぽかったのが、/etc/sysconfig/iptablesはなかったので新規作成した。
*1312459844*filter
- INPUT ACCEPT [0
- 0]
- FORWARD ACCEPT [0
- 0]
- OUTPUT ACCEPT [0
- 0]
- RH-Firewall-1-INPUT - [0
- 0]
- A INPUT -j RH-Firewall-1-INPUT
- A FORWARD -j RH-Firewall-1-INPUT
- A RH-Firewall-1-INPUT -i lo -j ACCEPT
- A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
- A RH-Firewall-1-INPUT -p 50 -j ACCEPT
- A RH-Firewall-1-INPUT -p 51 -j ACCEPT
- A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
- A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
- A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
- A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
- A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10022 -j ACCEPT
- A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
追記3. ログイン情報を設定
IdentityFile ~/.ssh/sakura/id_rsa
↓
IdentityFile ~/.ssh/id_rsa
以上
sakuraVPSの設定備忘録part2
http://wata-jp.ldblog.jp/archives/1616964.html
再度こちらの記事を参照しながら違った点をまとめます。
①$ curl -L http://cpanmin.us/ | perl - App::cpanminus
などのcurlが使えなかった。ファイアーフォールのせい?とりあえず
$ curl -kL http://cpanmin.us/ | perl - App::cpanminus
- kをつけることでできるようになった。
wgetとcurlの根本的な違い - ctrlshiftの日記
②$ wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.10.tar.gz/from/http://ftp.iij.ad.jp/pub/db/mysql/
こちらのファイルは存在していない模様。
とりあえずmysqlサイトにアクセスして、最新版のダウンロードリンクを探す。
Select PlatformでSouce Code
↓
Generic Linuxのtar.gzを選択肢して、ユーザー登録やらしたらダウンロードリンクがある。
(ex)
http://www-jp.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.15.tar.gz/from/http://ftp.jaist.ac.jp/pub/mysql/
③# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
/usr/local/mysql/support-files/my-medium.cnf
にあった。何でだろう?
④
apacheはユーザーのルートとroot権限の/usr/local/src/の2つに作ってしまった。
apache2.2.15をCentOSにソースからインストール[Linux] | QUALL - blogQUALL – blog
おそらくユーザーのはいらないな。上を読んでおけばよかった
以上
一意制約名の指定に挫折しました。
CatalystのSELECT系の処理で例えばfind_or_newの場合、プライマリキー以外の一意制約の場合、第二引数に一意制約名を指定してあげないと検索してくれない。例えばユニークキーの時、shushokuがプライマリキー、mainがユニークの時
my $rs = $self->{Schema}->resultset('Yushoku')->find_or_new({ shushoku => 'Gohan', main => 'Niku', fuku => 'Sarad', drink => 'Ocha'});
としたら、shushokuで確認してSELECTしてくれる。
しかし、shushoku(プライマリーキー)を消してユニークキーで確認してほしい時は、第二引数を指定しなければならない。
ユニークキー:main_key
my $rs = $self->{Schema}->resultset('Gohan')->find_or_new({ main => 'Niku', fuku => 'Sarad', drink => 'Ocha'},{key => 'main_key'});
しかし、結果は'Unknown unique constraint main_key on \'Yuushoku\''となって指定できないよう。
find('Niku',{ key => 'main_key'})とかでも駄目で、ユニークキーの指定をcatalyst側からできてないよう。
add_unique_constraintを使わないといけないんだけど、面倒くさくなって、
my $rr = $self->{Schema}->resultset('User')->find({main => 'Niku'}); if($rr){return;}else{ my $rs = $self->{Schema}->resultset('Gohan')->find_or_new({ main => 'Niku', fuku => 'Sarad', drink => 'Ocha'}); }
として第二引数を使わないようにした。ただどう考えても冗長だなあ。find_or_newとか使えなくて悔しい。
参考にしたサイト&本
- 作者: 山田祥寛
- 出版社/メーカー: インプレス
- 発売日: 2010/05/20
- メディア: 単行本(ソフトカバー)
- 購入: 8人 クリック: 214回
- この商品を含むブログ (18件) を見る
add_unique_constraintでゆこう - Hatena::Diary::Neko::kak 500 Internal Server Error
CatalystでFormValidator::Simple::AutoでDBIC_UNIQUE使う場合 - libnitsuji.so
サクラレンタルサーバーを使いやすくする
emacsの日本語設定
$ vi ~/.emacs [~/.emacs] (set-language-environment "Japanese") (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (set-buffer-file-coding-system 'utf-8) (setq default-buffer-file-coding-system 'utf-8) (set-default-coding-systems 'utf-8)
sshで簡単にログインできるようにする
http://www.geocities.jp/turtle_wide/tools/sshpass.html
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The RSA host key for xxxxxx has changed,
and the key for the according IP address 17.xxx.xxx.xx
is unchanged. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
Offending key for IP in /Users/admin/.ssh/known_hosts2:44
こんなのがでたら、
Xserve: root ユーザでログインしようとしたときに起こる認証の問題に対するトラブルシューティング - Apple サポート
サクラレンタルサーバーにCPANMでCatalystをインストール
ああ、一日がCatalystをインストールするだけで、つぶれてしまった。
サクラレンタルサーバーのサタンダードタイプでcpanmを使って、お手軽に高速にCatalystを使えるようにします。local::libとcpanは設定が大変&遅いので必要ありません!?
sshでログイン
$ sudo ssh -l ユーザー名 ホスト名 password : ユーザー名@ホスト名's password :
~/extlibに最新版のcpanmをインストール
$ mkdir ~/extlib $ curl -LO http://xrl.us/cpanm $ chmod +x cpanm $ perl cpanm -l ~/extlib --self-upgrade $ rm -rf cpanm
PATH設定&確認
$ vi ~/.cshrc [~/.cshrc] setenv PATH $HOME/extlib/bin setenv PERL5LIB $HOME/extlib/bin:$HOME/extlib/lib/perl5/i386-reebsd-64int:$HOME /extlib/lib/perl5:$HOME/extlib/perl5/site_perl $ source ~/.cshrc $ perl -le 'print for @INC'
Catalystパッケージを~/extlib以下にインストール
$ cd ~/extlib/bin $ perl cpanm -l ~/extlib (モジュール名) ...インストール
~/CatalにCatalystアプリケーション作成&サーバー確認
$ catalyst.pl Catal $ cd extlib/script $ perl catal_create.pl Controller Hello $ vi ~/Catal/lib/Catal/Controller/Hello.pm [~/Catal/lib/Catal/Controller/Hello.pm] sub intro :Local{ my ($self , $c) = @_; $c->response->body("konnichiwa!"); } $ perl ~/Catal/script/catal_server.pl -r
host:3000/hello/intro
konnichiwa!
がでればオK。
http://yourname.sakura.ne.jp/からcatalystにアクセス
catal_server.plでhttp://yourname.sakura.ne.jp:3000からアクセスできるが、ホストからもアクセスできるようにする。
$ vi ~/Catal/script/catal_cgi.pl [~/Catal/script/catal_cgi.pl] #!の次の行に use lib '/home/yourname/extlib/lib/perl5', "$FindBin::Bin/../lib"; $ cd www $ ln -s ~/Catal/script script $ vi .htaccess [~/www/.htaccess] AddHandler cgi-script .pl RewriteEngine On RewriteCond %{REQUEST_URI} !^/?script/catal_cgi.pl RewriteRule ^(.*)$ script/catal_cgi.pl/$1 [PT,L]
参考にした本&サイト
- 作者: 山田祥寛
- 出版社/メーカー: インプレス
- 発売日: 2010/05/20
- メディア: 単行本(ソフトカバー)
- 購入: 8人 クリック: 214回
- この商品を含むブログ (18件) を見る
http://d.hatena.ne.jp/tokuhirom/20110201/1296530510
http://fargo-web.info/blog/2011021050
さくらインターネットのCGIでCatalystを動かす設定(完全版?) - LAPISLAZULI HILL#Catalyst - Catalystグループ
5月の反省と6月の目標
雨の日に外に出ない主義のあみです。梅雨の時期は食料買い込んで、1週間家にこもる予定。
5月の反省
オブジェクト指向
本2回読んでようやく理解できるレベルにはなった。理解度としては以下を支持してる。
1.コンピュータに行わせたいことを理解する。
2.理解したことを説明できるレベルまで整理する。
3.コンピュータにわかる言葉に翻訳する。
2に挑戦するために今記事にまとめてるけど、説明するとなると難しい。出来るだけ具体化(コード化)して、単純な言葉で説明したいんだけど難しいですね。
フレームワーク
意外に難しかった。正確に言うとCPANのモジュールを一気に使ったので、Catalyst特有のコードと含めて覚えないといけないコードが増えた。
フレームワークは要は先人(CPAN)の知恵を使うこととMVCを取り入れましょうということである。
これによって簡単な処理だと負担が思いように感じるが、例えばユーザー管理などページ遷移も含めて難しいなと思ってた機能がCatalystで簡単になったのはメリットだ。オブジェクト指向の方向性と似ていますね。
ロゴとデザインが固まった
時間があったので、ロゴをillustrator(学校のPC)で作り、デザインも他のサイトを見ながらHTMLで骨格は実装した。
デザインって考えてる時が一番面白いですね。
このキャラ作りやすいくてサイトのイメージである「MOJI」が入ってるのはいいけど、まあ手抜き感がにじみ出てますね。改善しよう。
6月の目標
CGMサイトのユーザー管理機能(新規登録、ログイン、ログアウト)、投稿と編集、コンテンツの表示を実装する
一連の動作が実行できるレベルで、チェックもしっかりしたものを作る。
ただし、投稿データの置換処理、タグ、ランキングなどは後回し。
うーんギリギリだな。
Javascriptのお勉強
最近Javascript熱いですね。スマフォのサーバーサイド言語はJSで作る企業多いし、クライアント側でも色んなサイトで使われてるよね。
ということで基本から勉強します。使う本は以下の2冊です。
- 作者: David Flanagan,村上列
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/08/14
- メディア: 大型本
- 購入: 52人 クリック: 1,011回
- この商品を含むブログ (271件) を見る
JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス
- 作者: Douglas Crockford,水野貴明
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/12/22
- メディア: 大型本
- 購入: 94人 クリック: 1,643回
- この商品を含むブログ (190件) を見る
5月までにすべきこと
地震直後に食料を買わないようにしたので、最近になって買い占めを行っておりやす。買い占め対象はグミとアイスクリームのあみです。
僕のプログラミング歴は3月からプログラミングの勉強をし始めてるので、もう2ヶ月が経ちました。地震とか身の回りで色んなことがあって、なかなか進まなかったけど5月からは本腰を入れようと思います。ちなみに8月末にはサイトを1つ完成させる予定です。サイトはユーザーが投稿してコンテンツを作っていくCGMの予定で、みんなが使えるようなサービス作りまっせという意気込みです。当たり前ですよね。
さて、僕の計画ではちょちょちょと勉強して、ぱぱぱと作る予定だったんだけど、やってみるとそりゃちょっと無理ってもののようですね。サイトで当然あるべき当たり前の機能を並べてみると、今の自分の技術とのギャップが大きすぎて。こんな大きな目標に向かってコード書いてると、面白すぎて夜しか寝れません。プログラミングは奥が深いですね。
ところで大きな目標を達成するためには大きな目標を、いくつかの小さなゴールに分割してクリアしていくのがセオリーだと思ってます。そのために、月単位で身につけるスキルを設定していきます。計画では6月から作りたいサイトの中心的でかつ簡単な機能、投稿やユーザー管理などを実装していくつもりです。その計画に遅れないために、まず5月までに押さえておきたいことを書き出していきます。
1、Perlはオブジェクト指向の本をマスターする!
一通り読んだが、再度オブジェクト指向とは何か?オブジェクトとクラスの関係、クラスとモジュールとパッケージの違い、関数とメソッドの違い、useとrequireの違いなど違いや関係性を意識して理解し、コードを書いていく。
違いを意識していくことでオブジェクトの全体像がわかってくると思います。なぜなら、オブジェクトとはリファレンス、モジュール、パッケージなどが積み重なってそれにオブジェクト特有の機能を付け加えたものだからです。わからないものは、わかる要素とわからない要素に分解すべし。そのために自分で咀嚼して、わかりにくいことがわかった時はブログに書いていこうかなと思います。
使う本は2冊。
オブジェクト指向Perlマスターコース―オブジェクト指向の概念とPerlによる実装方法
- 作者: ダミアンコンウェイ,Damian Conway,山根ドキュメンテーション
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2001/02
- メディア: 単行本
- 購入: 6人 クリック: 154回
- この商品を含むブログ (38件) を見る
- 作者: 深沢千尋
- 出版社/メーカー: 技術評論社
- 発売日: 2008/06/20
- メディア: 大型本
- 購入: 12人 クリック: 195回
- この商品を含むブログ (34件) を見る
2、MySQLは基本を理解し、Perlとのつなぎ方を勉強する!
これも流し読みはしたので、実際にコードを書きながら覚えていく。
1回見たはずなので、コードを書く時に仮説をもって一度自分で書いてみる。それで間違ってたら答えを見てまた書く。アウトプットする時の意識については別エントリーで。
後、PerlでMySQLから引っ張ってきたデータを扱う方法について勉強するために簡単な掲示板を完成させていきます。
基礎からのMySQL [基礎からのシリーズ] (プログラマの種シリーズ)
- 作者: 西沢夢路
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2007/12/26
- メディア: 大型本
- 購入: 22人 クリック: 205回
- この商品を含むブログ (46件) を見る