아이폰에다 apm 깔려고 해봤는데, 그건 좀 비효율적인거 같고.. 아파치가 리포지트리에 올라와 있지도 않고..


일단 탈옥해


cydia 들어가서 apt 찾으면 나올거야 그거 깔어


그거 깔리면 sshd 나올거야 그거 깔어


cydia 나와


이제 뭐 putty나 securecrt같은걸로 들어갈수 있을거야


아이폰 IP 넣고 들어가


# apt-get install lighttpd php sqlite

깔어


lighttpd.conf 요거 /etc에 집어너

/var/www 만들고 거기다가 xe 집어너

gd 안깔렸다고 할거야

mimetype도 못잡아서 화면 이상하게 나올거야


그냥 폰에다 pdf 너놓고 볼거같으면 거기서 끝내도 상관없어



거기서 좀더 해볼라다가 두달 걸렸네?

크로스컴파일 능력되면 그게 가장 편할거야 아마

근데 난 크로스컴파일은 못했어..

아이폰에서 직접 php에 gd 붙여서 컴파일했어

탈옥할때 rootfs 늘려주는게 있어서 좀 편하게 했어

그리고 php 버전은 5.3은 안되나봐.. 5.2까지만 되는듯..


# apt-get install iphone-gcc

아이폰용 gcc 깔어


# dpkg -i fake-libgcc.deb

짜가 libgcc 깔어


# apt-get install perl

펄도 깔어


# apt-get install gawk make

make랑.. 몇개 더 깔아야되는데 생각이 안난다..


xcode에 보면 iphoneOS sdk 안에 iPhoneOS3.1.3.sdk 뭐 이런식으로 sdk 폴더가 있어

거기 안에 usr/include하고 usr/lib가 있는데 걍 복사하면 아이폰 날라가니까 /usr/local/include /usr/local/lib 없으면 만들고 복사해

그건 용량이 좀 돼서 걍 안올릴듯 필요하면 얘기해


헬로월드같은거 만들어서 컴파일해봐

아마 안될거야

-l어쩌구 하면서 로더에서 에러날꺼야

/usr/local/lib로 가서 일단 심볼릭링크 걸어

# ln -s libgcc_s_1.dylib libgcc_s_10.5.dylib

그 어쩌구가 뭔지 보고 /usr/local/lib에서 ls lib어쩌구* 해서 찾아봐

있으면 심볼릭링크 걸어

# ln -s lib어쩌구.dylib lib어쩌구뒤에붙은거.dylib

일단 헬로월드 컴파일 될때까지 해


http://www.zlib.net zlib 소스 받아

http://www.libpng.org/pub/png/libpng.html libpng 소스 받아

http://www.ijg.org libjpeg 소스 받아

http://download.savannah.gnu.org/releases/freetype/ libfreetype 소스 받아

http://www.boutell.com/gd/http/gd-2.0.33.tar.gz libgd 소스 받아


zlib 설치해

./configure -shared -prefix=/usr/local

make

make install


libpng 설치해

./configure

make

make install


libjpeg 설치해

./configure -prefix=/usr -enable-shared -enable-static

make

make install


freetype 설치해

./configure

make

make install


gd 설치해

./configure

make

make install


php 설치해

./configure --with-jpeg-dir=/usr/local --with-freetype-dir=/usr/local --with-png-dir=/usr/local --with-zlib-dir=/usr/local --with-gd=/usr/local --enable-fastcgi


아마 한방에 될리가 없을거야

아까 말해준것처럼 라이브러리 찾아가면서 하다보면 됨..

dns.c에서 에러나는건 #include <inet/nameser_compat.h> 붙여주면 돼.

컴파일할때 zend_extension.c에서 에러나는건 함수만 남겨놓고 걍 다 주석처리해..

그게.. mach-o execute 관련해서 아이폰에서 컴파일 못하게 헤더에 박혀있는듯..

아, dns쪽 라이브러리 에러가 날때는 php 소스폴더 안에 Makefile에서 보면 CCFLAG라는거 있는데 거기서 -lresolv 추가해주면 됨..


mimetype은 리눅스에서 파일 몇개 가져오면 되고..



난 이거 하는데 두달동안 삽펐지만 이거 보고 하면 이틀이면 끝나것지..

모르는게 있으믄 덧글 달어

+ Recent posts