Сегодня утром помогал парню сделать jailbreak для его iPod'a и мне в голову пришла мысль, ведь на айфоне стоит почти полноценная UNIX система, что нам мешает использовать её в полной мере своих возможностей? Для начала я решил установить на iPhone веб сервер lighttpd, как это сделать я опишу в текущей статье.
Все действия я производил на iPhone 2G, вот его характеристики:
В принципе подойдёт любой iPhone/iPod Touch с джейлбрейкнутой прошивкой.Достаточно теории — переходим к практике.
Запускаем Cydia (у вас может быть Installer или Rock) на вашем iдевайсе и устанавливаем следующие программы:
MobileTerminal (У кого через поиск не находит ищите вручную.В принципе подойдёт любой другой терминал для iPhone или ssh клиент)
Aptitude
Все эти программы можно найти в этом репозитории apt.saurik.com
После установки перезагружаем iдевайс, заходим в программу MobileTerminal и выполняем следующие действия:
#Авторизируемся
#Обновляем список пакетов
#Устанавливаем текстовый редактор nano
#Устанавливаем мониторинг процессов (демонов)
#Устанавливаем Web-сервер
Тепеь приступаем к настройке lighttpd:
#Создаём папки необходимые для работы lighttpd
#Создаём файлы отчётов
#Выставляем права для лог-файлов на чтение и запись
#Настраиваем конфиг сервера
В открывшийся редактор вставляем этот текст:
#Заводим lighttpd
#Проверяем запустился ли lighttpd
Среди всех процессов выведенных top'ом вы увидите примерно следующие:
289 lighttpd 0.0% 0:00.25 1 10 63 496K 6488K 764K 17M
Если lighttpd там не отображается перезагрузите iдевайс и попробуйте вывести top снова.Если вывода нет вам придётся проделать все действия заново — вы что-то упустили…
Вот собственно и всё, Web сервер готов к использованию.Создав файл index.html в папке /usr/local/www/ и зайдя через браузер на localhost мы увидим следующее:

Как и для чего это юзать решать вам :3
Все действия я производил на iPhone 2G, вот его характеристики:
- ОС: iOS 3.1.3 Jailbreak (redsn0w)
- ОЗУ: 128 MB DRAM
- HDD: 8 GB
- Связь: Wi-Fi
- Installer: Cydia
- Процессор: 667 МГц
В принципе подойдёт любой iPhone/iPod Touch с джейлбрейкнутой прошивкой.Достаточно теории — переходим к практике.
Запускаем Cydia (у вас может быть Installer или Rock) на вашем iдевайсе и устанавливаем следующие программы:
MobileTerminal (У кого через поиск не находит ищите вручную.В принципе подойдёт любой другой терминал для iPhone или ssh клиент)
Aptitude
Все эти программы можно найти в этом репозитории apt.saurik.com
После установки перезагружаем iдевайс, заходим в программу MobileTerminal и выполняем следующие действия:
Установка требуемых пакетов
#Авторизируемся
su root
(стандартный пароль alpine)#Обновляем список пакетов
aptitude update
#Устанавливаем текстовый редактор nano
aptitude install nano
#Устанавливаем мониторинг процессов (демонов)
aptitude install top
#Устанавливаем Web-сервер
aptitude install lighttpd
Тепеь приступаем к настройке lighttpd:
#Создаём папки необходимые для работы lighttpd
mkdir /etc/lighttpd
mkdir /usr/local/ && mkdir /usr/local/www/
#Создаём файлы отчётов
touch /var/log/lighttpd.access.log
touch /var/log/lighttpd.error.log
#Выставляем права для лог-файлов на чтение и запись
chmod 766 /var/log/lighttpd.access.log
chmod 766 /var/log/lighttpd.error.log
#Настраиваем конфиг сервера
nano /etc/lighttpd/lighttpd.conf
Настройка конфига сервера
В открывшийся редактор вставляем этот текст:
## список всех модулей
server.modules = (
"mod_rewrite",
"mod_redirect",
"mod_alias",
"mod_access",
# "mod_cml",
# "mod_trigger_b4_dl",
# "mod_auth",
# "mod_status",
# "mod_setenv",
"mod_fastcgi",
# "mod_proxy",
# "mod_simple_vhost",
# "mod_evhost",
# "mod_userdir",
# "mod_cgi",
# "mod_compress",
# "mod_ssi",
# "mod_usertrack",
# "mod_expire",
# "mod_secdownload",
# "mod_rrdtool",
"mod_accesslog" )
## Корневая папка сервера
server.document-root = "/usr/local/www/"
## Лог ошибок. Автоматически не создается
server.errorlog = "/var/log/lighttpd.error.log"
# Пример http://www.mysite.ru/index.php
index-file.names = ( "index.php", "index.html",
"index.htm", "default.htm" )
## Где то читал что это важная опция =)
server.event-handler = "freebsd-kqueue"
# Расширения
mimetype.assign = (
".pdf" => "application/pdf",
".sig" => "application/pgp-signature",
".spl" => "application/futuresplash",
".class" => "application/octet-stream",
".ps" => "application/postscript",
".torrent" => "application/x-bittorrent",
".dvi" => "application/x-dvi",
".gz" => "application/x-gzip",
".pac" => "application/x-ns-proxy-autoconfig",
".swf" => "application/x-shockwave-flash",
".tar.gz" => "application/x-tgz",
".tgz" => "application/x-tgz",
".tar" => "application/x-tar",
".zip" => "application/zip",
".mp3" => "audio/mpeg",
".m3u" => "audio/x-mpegurl",
".wma" => "audio/x-ms-wma",
".wax" => "audio/x-ms-wax",
".ogg" => "application/ogg",
".wav" => "audio/x-wav",
".gif" => "image/gif",
".jar" => "application/x-java-archive",
".jpg" => "image/jpeg",
".jpeg" => "image/jpeg",
".png" => "image/png",
".xbm" => "image/x-xbitmap",
".xpm" => "image/x-xpixmap",
".xwd" => "image/x-xwindowdump",
".css" => "text/css",
".html" => "text/html",
".htm" => "text/html",
".js" => "text/javascript",
".asc" => "text/plain",
".c" => "text/plain",
".cpp" => "text/plain",
".log" => "text/plain",
".conf" => "text/plain",
".text" => "text/plain",
".txt" => "text/plain",
".dtd" => "text/xml",
".xml" => "text/xml",
".mpeg" => "video/mpeg",
".mpg" => "video/mpeg",
".mov" => "video/quicktime",
".qt" => "video/quicktime",
".avi" => "video/x-msvideo",
".asf" => "video/x-ms-asf",
".asx" => "video/x-ms-asf",
".wmv" => "video/x-ms-wmv",
".bz2" => "application/x-bzip",
".tbz" => "application/x-bzip-compressed-tar",
".tar.bz2" => "application/x-bzip-compressed-tar",
# default mime type
"" => "application/octet-stream",
)
## Лог доступа. Тоже не создается автоматически, следовательно создаем вручную
accesslog.filename = "/var/log/lighttpd.access.log"
## Пид-файл сервера
server.pid-file = "/var/run/lighttpd.pid"
## Просмотр пустых директорий
dir-listing.activate = "enable"
## Пользователь, от которого работает сервер
server.username = "nobody"
## Группа, от которой работает сервер
server.groupname = "nobody"
Включаем сервера
#Заводим lighttpd
lighttpd -f /etc/lighttpd/lighttpd.conf
#Проверяем запустился ли lighttpd
top
Среди всех процессов выведенных top'ом вы увидите примерно следующие:
289 lighttpd 0.0% 0:00.25 1 10 63 496K 6488K 764K 17M
Если lighttpd там не отображается перезагрузите iдевайс и попробуйте вывести top снова.Если вывода нет вам придётся проделать все действия заново — вы что-то упустили…
Вот собственно и всё, Web сервер готов к использованию.Создав файл index.html в папке /usr/local/www/ и зайдя через браузер на localhost мы увидим следующее:

Как и для чего это юзать решать вам :3