OSX 10.8ã§Webå ±æãæå¹ã«ãã
OSX 10.8ã§ã¯ãWebå ±æãã®ã·ã¹ãã ç°å¢è¨å®ããªããªã£ã¦ãã¾ã£ã...ãã·ã¹ãã ç°å¢è¨å® >> å ±æãéãã¦ããããã«ã¯ãWebå ±æãã®é ç®ã¯è¦å½ãããªãã®ã ãããããããã»ã©å¹»æ» ãããã¨ã¯ãªãããªããªã£ã¦ãã¾ã£ãã®ã¯GUIã®è¨å®ç°å¢ã ãã§ããããWebå ±æããå®ç¾ããä»çµã¿ã¯ãã£ããæ®ã£ã¦ããã®ã ãå¿ è¦ãªè¨å®ãã¡ã¤ã«ãèªåã§è¿½å ãã¦ãapachectlã³ãã³ããæä½ãããã¨ã§ããã¤ã§ãWebå ±æã¯æå¹ã«ã§ããã®ã ã
Webå ±æãæå¹ã«ããæé
以ä¸ã®4ã¤ã®æé ãå®è¡ãããã¨ã§ãWebå ±æã¯æå¹ã«ãªãã®ã ï¼
~/Sites ãã©ã«ãã追å
- OSX 10.8ã«ã¯ ~/Sites ããåå¨ããªãã®ã§ãã¾ãã¯Webå ±æã®èµ·ç¹ã¨ãªã ~/Sites ã追å ããã
mkdir -p ~/Sites
åä½ç¢ºèªç¨ã«~/Sites/index.htmlã追å
- ãã°ã¤ã³ã¦ã¼ã¶ã¼æ¨©éã®Webãã¼ã¸ã¨ãã¦ããNow Web Sharing!ãã¨ããããã¹ããã¡ã¤ã«ãä¿åãã¦ãããã
echo Now Web Sharing! > ~/Sites/index.html
apacheã®è¨å®ãã¡ã¤ã«ã追å
- /etc/apache2/users/USER_NAME.confã«Webå ±æããããã®è¨å®ãã¡ã¤ã«ãä¿åããã®ã ã
- ä¾ãã°ããã°ã¤ã³ã¦ã¼ã¶ã¼åãzariã§ããã°ã/etc/apache2/users/zari.confã«ä»¥ä¸ã®è¨å®ãä¿åãããã¨ã«ãªãã
<Directory "/Users/zari/Sites/"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory>
Webãµã¼ãã¼ã稼å
- 以ä¸ã®è¨å®ããã¦ãapachectl startãå®è¡ãããã¨ã§ãhttpdããã»ã¹ãèµ·åãã¦ãWebå ±æãå§ã¾ãã®ã ï¼
sudo apachectl start
åä½ç¢ºèª
ã¡ããã¨åãã¦ããæ§åã ã
- http://localhost
- /Library/WebServer/Documents/index.html.enã®å 容ã表示ããã¦ããã

- http://localhost/~zari
- ~/Sites/index.htmlã®å 容ã表示ããã¦ããã

AppleScriptã«ã¾ã¨ãã
- 䏿¦Webå ±æã®ç°å¢ãè¨å®ããã¦ãã¾ãã°ãapachectl startã»apachectl stopã§ONã»OFFã§ããã®ã ãã©ã
- ç¾å¨ã®Webå ±æã®ç¶æ ãç¥ãããã¨ããå°æ¥OSX10.8ãåã¤ã³ã¹ãã¼ã«ããæã«åãã¦ã
- ä¸è¨ã®æ¹æ³ããã£ããè¦ãã¦ããããã®ã§ããæ±ºã¾ãã®AppleScriptã«ã¾ã¨ãã¦ã¿ãã
activate
set msg to "
ãã- ååã®ã¿ãWebå ±æã®ç°å¢è¨å®ãå¿ è¦
ãããï¼commandãã¼ãæ¼ããªããONï¼
ãã- 2åç®ä»¥éãONã»OFFã®æä½ã®ã¿ã§OK"
set res to display dialog web_sharing_msg() & msg buttons {"ãã£ã³ã»ã«", "OFF", "ON"} cancel button 1 default button web_sharing_btn() with title "Webå ±æã³ã³ããã¼ã©ã¼"
if res's button returned = "ON" and getModifierKeys() contains "command" then
apachectl_init() end if
if res's button returned = "ON" and not web_sharing_state() then
apachectl_start() end if
if res's button returned = "OFF" and web_sharing_state() then
apachectl_stop() end if
on apachectl_init() activate
do shell script "mkdir -p ~/Sites"
--do shell script "chmod +x ~/Sites" --ä¸è¦
do shell script "[ -f ~/Sites/index.html ] || echo Now Web Sharing! > ~/Sites/index.html"
do shell script "f=/etc/apache2/users/`basename $HOME`.conf
[ -f $f ] || cat <<EOS > $f
<Directory \"$HOME/Sites/\">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
EOS" with administrator privileges
do shell script "apachectl stop" with administrator privileges
do shell script "apachectl start" with administrator privileges
set user_name to do shell script "basename $HOME"
open location "http://localhost/~" & user_name
do shell script "open ~/Sites"
do shell script "open /etc/apache2/users"
end apachectl_init
on apachectl_start() activate
do shell script "apachectl start" with administrator privileges
end apachectl_start
on apachectl_stop() activate
do shell script "apachectl stop" with administrator privileges
end apachectl_stop
on web_sharing_btn() if web_sharing_state() then
3
else
2
end if
end web_sharing_btn
on web_sharing_msg() if web_sharing_state() then
"Webå ±æã®ç¶æ : ON"
else
"Webå ±æã®ç¶æ : OFF"
end if
end web_sharing_msg
on web_sharing_state() try
do shell script "curl -s http://localhost/~`basename $HOME`/index.html"
true
on error
false
end try
end web_sharing_state
--http://memogakisouko.appspot.com/AppleScript.html#getModifierKeysï¼æè¬!!ï¼
on getModifierKeys() set theRubyScript to "require 'osx/cocoa';
event=OSX::CGEventCreate(nil);
mods=OSX::CGEventGetFlags(event);
print mods,' ';
print 'shift ' if (mods&0x00020000)!=0;
print 'control ' if(mods&0x00040000)!=0;
print 'option ' if(mods & 0x00080000)!=0;
print 'command ' if(mods & 0x00100000)!=0;
"
return do shell script "/usr/bin/ruby -e " & quoted form of theRubyScript
end getModifierKeys
- ä¸è¨ã¹ã¯ãªãããå®è¡ããã¨ã以ä¸ã®ããã«è¡¨ç¤ºãããç¶æ ã®ç¢ºèªã¨æä½ãã§ããã®ã ã


æ´»ç¨
- ä¾ãã°ãåçã®ããããå ¥ã£ãmy_picturesãã©ã«ãããã£ãã¨ãã¦ãããã~/Sites/my_pictures ã«ç§»åããã°ãä¸ç¬ã«ãã¦Webãã©ã¦ã¶ã§ã¢ã¯ã»ã¹ã§ããããã«ãªãã®ã ã

- ãã®ããã«ãWebå ±æã«ã¯ãã¡ã¤ã«ããªã¹ã表示ãã¦ãããä»çµã¿ãããã
- æ°GBã®åç»ãzipå§ç¸®ãããã¡ã¤ã«ã ã£ã¦ãä¸ç¬ã«ãã¦ç°¡åã«å
±æã§ããã®ã ã
- ä½ããç¸æããã¦ã³ãã¼ãããã«ã¯åç·é度ã«å¿ããæéããããã®ã§ãããã
- 巨大ãªãã¡ã¤ã«ãããåãããéã®1ã¤ã®ææ®µã¨ãã¦è¦ãã¦ããã¨ããã£ã¨ã©ããã§å½¹ã«ç«ã¡ãããªæ°ãããã
- ä½ããã¤ã³ã¿ã¼ãããçµç±ã§ãã¡ã¤ã«ãããåãããã«ã¯ãã«ã¼ã¿ã¼ã®ãã¼ããããã³ã°ã®è¨å®ããã¦ããå¿ è¦ãããã
- å¤é¨ããã®ã¢ã¯ã»ã¹ã許å¯ãããã¨ã«ãªãã®ã§ãã»ãã¥ãªãã£ã¼ã«ã¤ãã¦ææã«ãªã£ã¦ããã¹ããããããªãã