Weitere ähnliche Inhalte
Mehr von Akira Ouchi (20)
みんなでカンタン!Ejectハンズオン/ConoHa連携の猫まっしぐら給餌Ejectシステム
- 5. VPS䛷Eject䜢䛩䜛䛸䛹䛖䛺䜛䠛
• ≀⌮ⓗ䛻䛿ఱ䜒䛚䛣䜙䛺䛔
• VPS䛿௬䝬䝅䞁䛰䛛䜙……
– ConoHa䛿KVM䝝䜲䝟䞊䝞䜲䝄䛷ື䛔䛶䛔䜛
• ௬䝬䝅䞁䛻䝯䝕䜱䜰䛜䝬䜴䞁䝖䛥䜜䛶䛔䛯ሙ
ྜ䛿௬ⓗ䛻Eject䠄unmount䠅䛥䜜䜛
• ᪥䛾䝝䞁䝈䜸䞁䛷䛿䚸VPS䛛䜙ᡭඖ䛾CD-‐
ROM䝗䝷䜲䝤䜢Eject䛩䜛
㻡
- 7. ⤌䜏䜢⪃䛘䛶䜏䜘䛖
• VPS䛻Web
API䜢⏝ព
• 䝴䞊䝄䞊䛜VPS䛾Web䛻䜰䜽䝉䝇䛧䛶䝪䝍䞁䜢
ᢲ䛩䛸API䛜Ejectྍ䛾≧ែ䜢㏉䛩䜘䛖䛻䛺䜛
• 㐲㝸ᆅ䛻䛔䜛䝬䝅䞁䛜ᐃᮇⓗ䛻API䛻䜰䜽䝉
䝇䛧䛶䚸Ejectྍ䛾≧ែ䛰䛳䛯䜙Eject䜢ᐇ⾜
ConoHa
VPS
(1)Web⏬㠃䛛䜙
䚷䚷Ejectᐇ⾜
(2)Eject䝣䝷䜾䜢ྲྀᚓ
䚷䚷(䝫䞊䝸䞁䜾)
(3)Eject
㻣
- 8. Twier䜢ά⏝䛧䛶䜒䛷䛝䜛
• ᑓ⏝Twier䜰䜹䜴䞁䝖䜢⏝ព
• 䝴䞊䝄䞊䛜ᑓ⏝䜰䜹䜴䞁䝖䛻䝯䞁䝅䝵䞁䜢㏦䜛
• 㐲㝸ᆅ䛻䛔䜛䝬䝅䞁䛜䝇䝖䝸䞊䝭䞁䜾API䛻
䜘䛳䛶䝯䞁䝅䝵䞁䜢ཷಙ䛧䛶䚸Eject䜢ᐇ⾜
• 䜅䛑䜌Eject(
hp://j.mp/faveject
)䜢ཧ↷
Twier
(1)Eject⏝Twitter
䚷䜰䜹䜴䞁䝖䛻䝯䞁䝅䝵䞁
(2)䝇䝖䝸䞊䝭䞁䜾API䛷
䚷䚷䝯䞁䝅䝵䞁䜢ཷಙ
(3)Eject
㻤
- 9. ⏝ព䛩䜛䜒䛾
• ConoHa
VPS
– 䜏䛺䛥䜣CentOS
6.5䛿⏝ព䛧䜎䛧䛯䠛䘘
՞ਊ
՞)䘘
• Raspberry
Pi
– 䜒䛧䛟䛿ᖖ㥔䛥䛫䜙䜜䜛㐺ᙜ䛺䝬䝅䞁
• CD-‐ROM䝗䝷䜲䝤
• IDE(SATA)-‐USBኚ䜿䞊䝤䝹
• Web
API䛾⤌䜏
㻥
- 10. Eject⎔ቃ䛾⏝ព
1. ConoHa
VPSୖ䛻Web
API䝇䜽䝸䝥䝖䜢タ⨨
2. Raspberry
Pi䛾⏝ព
1. OS䜲䞁䝇䝖䞊䝹(タᐃ῭)
2. eject䛸php5-‐cli䜢䜲䞁䝇䝖䞊䝹(タᐃ῭)
3. 䝫䞊䝸䞁䜾⏝PHP䝇䜽䝸䝥䝖䜢タ⨨䛧䛶ConoHa
VPS䛾IP䜰䝗䝺䝇䜢タᐃ
4. crontab䛾グ㏙
3. Eject䛾䝔䝇䝖
㻝㻜
- 11. [₇⩦]ConoHa
VPS䛾⎔ቃస䜚
• Apache䛚䜘䜃PHP5䜢䜲䞁䝇䝖䞊䝹
– yum
install
-‐y
hpd
php
• ௨ୗ䛾䝁䝬䞁䝗䜢ᐇ⾜䛧䛶䝣䜯䜲䜰䜴䜷䞊䝹タ
ᐃ䜢⾜䛖
#
iptables
–I
INPUT
–p
tcp
–dport
80
–j
ACCEPT
#
service
iptables
save
#
service
iptables
restart
㻝㻝
- 12. [₇⩦]ConoHa
VPS䛾⎔ቃస䜚
• ௨ୗ䛾URL䛛䜙PHP䝇䜽䝸䝥䝖䜢ྲྀᚓ
– hp://eject.kokuda.org/slides/140927handson.tgz
• /var/www/html௨ୗ䛻䝣䜯䜲䝹䜢ᒎ㛤
• remouiiin.php䜢㛤䛔䛶䝟䝇䝽䞊䝗䜢タᐃ
䠄௵ព䠅
• hp://VPS䛾IP/remouiiin.php
䜢㛤䛟
㻝㻞
- 13. remouiiin.php
䛻䛴䛔䛶
• Web䝨䞊䝆䛷䝪䝍䞁䜢ᢲ䛩䛸䜹䜴䞁䝖䜰䝑䝥䛩
䜛䛰䛡䛾䝇䜽䝸䝥䝖
• GET䝟䝷䝯䞊䝍䛻䝟䝇䝽䞊䝗䜢䛴䛡䜛䛸䜹䜴䞁
䝖䜢ྲྀᚓ䠃䝸䝉䝑䝖䛷䛝䜛
– ᐇ㝿䛿POST䛸䛛䛾䜋䛖䛜ᮃ䜎䛧䛔䛡䛹ᅇ䛿䝔
䝇䝖⏝䛺䛾䛷␎
• 䝋䞊䝇䝁䞊䝗䛿ู⣬ཧ↷
㻝㻟
- 14. [₇⩦]Raspberry
Pi䛾⎔ቃస䜚(1)
• Raspberry
Pi䛻CD-‐ROM䝗䝷䜲䝤䜢᥋⥆䛩䜛
• eject䝁䝬䞁䝗䜢ᐇ⾜䛧䛶ືస䜢☜ㄆ䛩䜛
• Raspberry
Pi䛾㟁※䜢ධ䜜䚸SSH᥋⥆䛩䜛
– IP䜰䝗䝺䝇:
10.0.10.(䜅䛫䜣䛾␒ྕ)
– 䝴䞊䝄䞊ྡ:
pi
– 䝟䝇䝽䞊䝗:
ejectuiiin
• /boot/ejepoll.php䜢㛤䛝௨ୗ䛾್䜢タᐃ
– ConoHa
VPS䛾IP䜰䝗䝺䝇
– 䝟䝇䝽䞊䝗䠄௵ព䠅
㻝㻠
- 15. ejepoll.php
䈜 /boot䛿FAT䝣䜷䞊䝬䝑䝖䛾䛯䜑root䝴䞊䝄䞊ᶒ㝈䛷⦅㞟䛩䜛
?php
$password
=
md5(uiiin);
$addr
=
'VPSのIP';
$count
=
file_get_contents(
'http://'.$addr.'/remouiiin.php?remoget='.
$password
);
if
(intval($count)
0)
{
exec('/usr/bin/eject
-‐T');
}
?
㻝㻡
- 17. Raspberry
Pi䛾⎔ቃస䜚(2)
• crontab
–e䜢ᐇ⾜䛧䛶䚸௨ୗ䛾䛸䛚䜚グ㏙
䠄10⛊䛤䛸䛻remouiiin.php䛾䜹䜴䞁䝖䜢☜ㄆ䛩
䜛䠅
*
*
*
*
*
/usr/bin/php5
/home/pi/ejepoll.php
*
*
*
*
*
sleep
10
;
/usr/bin/php5
/home/pi/ejepoll.php
*
*
*
*
*
sleep
20
;
/usr/bin/php5
/home/pi/ejepoll.php
*
*
*
*
*
sleep
30
;
/usr/bin/php5
/home/pi/ejepoll.php
*
*
*
*
*
sleep
40
;
/usr/bin/php5
/home/pi/ejepoll.php
• ᪥䛿タᐃ῭䜏䠄☜ㄆ䛧䛶䜏䛶䛟䛰䛥䛔䠅
㻝㻣
- 18. [₇⩦]ືస䜢☜ㄆ䛩䜛
• 䝤䝷䜴䝄䛛䜙VPS䛻䜰䜽䝉䝇䛧䛶䚸䛂䝸䝰䞊䝖Eject
䜢ᐇ⾜䛃䝪䝍䞁䜢ᢲ䛩
• 10⛊๓ᚋ䛷Eject䛥䜜䜜䜀ᡂຌ
• Eject䛥䜜䛺䛔ሙྜ䛿௨ୗ䛾Ⅼ䜢☜ㄆ
– 䝗䝷䜲䝤䛜ṇ䛧䛟᥋⥆䛥䜜䛶䛔䜛䛛
䠄䝗䝷䜲䝤䛾㟁※ON→䝗䝷䜲䝤ഃ䜿䞊䝤䝹→RPiഃ䜿䞊
䝤䝹䛾㡰䛻⾜䛖䠅
– 䝗䝷䜲䝤䛜ㄆ㆑䛥䜜䛶䛔䜛䛛
䠄ls
–l
/dev/sr*
䜔㻌lsusb㻌䛺䛹䠅
– 䝇䜽䝸䝥䝖䛾グ㏙䝭䝇䛜䛺䛔䛛
㻝㻤
- 19. 䜎䛸䜑
• VPS䛷䜒Eject䛿䛷䛝䛯
• remouiiin䛜㏉䛩್䜢ኚ䛘䛯䜚䚸eject䝁䝬䞁䝗
䜈䛾䜶䜲䝸䜰䝇䛻䛩䜜䜀䜒䛳䛸䛭䜜䛳䜍䛟䛷䛝
䜛䛸ᛮ䜟䜜䜛
• Ẽ䜢䛴䛡䜛䜉䛝䛿Eject䛿ᡭẁ䛷䛒䜚┠ⓗ䛷䛿
䛺䛔䛣䛸
– 䛣䛾⤖ᯝ䜢ぢ䛶䛂䛯䛾䛧䛔䟿䟿䛃䛷⤊䜟䜛䛰䛡䛷
䛿䛰䜑
– Eject䛷ᚓ䜙䜜䜛䝖䝺䜲㛤㛢䛾㐠ື䜢ά⏝䛩䜉䛧
㻝㻥
- 22. ⤥㣵䛾
• 䝝䝮䝇䝍䞊䛾⤥㣵
– ⚾䛜㛤Ⓨ䛧䛯ึ䜑䛶䛾Eject䝁䝬䞁䝗ᕤస
– ⌧ᅾ䜒ฟᙇ䛾䛺䛹䛻⏝
• 䝖䝺䜲䛷㣵䜢ᢲ䛧䛶ୗ䛻ⴠ䛸䛩䝟䝍䞊䞁
㻞㻞
- 23. ⊧䜈䛾⤥㣵
• ᾏእ䛻䛒䜚(2006ᖺ䟿)
– hp://www.leeholmes.com/blog/2006/08/
22/diy-‐cat-‐feeder-‐and-‐water-‐dispenser/
• 䝺䝞䞊䜢ᢲ䛧䛶䛔䜛㛫㣵䛜ฟ䛶䛟䜛䠙ᢲ䛩䞉ᘬ
䛟୧᪉䛖䝍䜲䝥
←CD-ROM䝗䝷䜲䝤
⤥㣵⨨→
㻞㻟