24 мая 2009 в 21:45

Ставим PHP на iPhone

Сразу возникает вопрос, для чего это нужно. И сразу ответ: просто побаловаться. Но как 2 варианта использования:
1) Таскать сайт, который всегда с собой, чтобы кому-то показать.
2) Разработка ПО для самого iPhone в связке с PhoneGap. PhoneGap — это SDK для разработки приложений на JS с использованием акселерометра, GEO location и т.д. То есть вместо Objective C мы можем использовать JavaScript. И AJAX. И PHP/Python/Ruby.
Это будет необрезанный PHP, за единственным исключением: в виде СУБД тут может быть использован только sqlite(в том числе и через PDO).
Вот как это будет выглядеть в итоге:

И еще: вместе с PHP можно установить Python и Ruby. А тут уж и до Django недалеко(не знаю насчет ROR).
Приступим к установке.

Для начала потребуется iPhone с прошивкой 2.2.1(это последняя на данный момент) и Wi-Fi на компьютере/ноутбуке.
1. Сначала следует выполнить процедуру анлока телефона с установкой Cydia.
2. Установим OpenSSH через Cydia. Теперь мы сможем соединяться с телефоном по ssh и sftp. Я использую putty и FileZilla для этих целей.
3. Соединяемся с телефоном по ssh. Пароль «alpine»(лыжник по-немецки), устанавливаем PHP и lighttpd(apt-get install php lighttpd), но это можно сделать и через Cydia. Создаем каталоги /var/log/lighttpd и /var/www (mkdir /var/log/lighttpd && mkdir /var/www)
4. Нужно создать конфигурационный файл. Можно использовать vim/mcedit(думаю, понятно, как устанавливать) из консоли, а можно залить его по sftp.
Конфиг должен иметь имя /etc/lighttpd.conf, сам конфиг лежит здесь.
5. Запускаем lighttpd. Для этого выполним команду lighttpd-angel -f /etc/lighttpd.conf
6. Чтобы убить демон, надо выполнить killall lighttpd
7. Можно автоматизировать запуск/остановку сервера через BossPrefs, тогда не нужна будет консоль. А можно установить MobileTerminal и рулить консолью прямо с телефона.



На iPhone нормально прижилась WordPress с плагином для sqlite. Только придется небольшой патчик сделать: дописать в начало index.php строку «function mysql_connect() { return null; }»
nerezus @nerezus
карма
44,0
рейтинг 0,0
Похожие публикации
Самое читаемое

Комментарии (82)

  • +15
    Язычники! Кошмар…
    *молодцы конечно
  • +4
    Ад.
    • 0
      Почему же?) Я же не буду развертывать боевое приложение на Django, а так это всего лишь игра ;)
      Просто чтобы показать, насколько он «телефон для блондинок»
      • +3
        Интересно было бы сделать из кпк веб-сервер. «Так, чисто поржать».
        • 0
          Под КПК имеется ввиду WM-устройство? Есть конечно фейковый HPH, но там не настоящий пхп.

          Но есть вариант с Python: простейший веб-сервер на питоне с CGI — это около семи строк без использования нестандартных модулей.
          • 0
            Да нет, я имею ввиду любое устройство размером с ладонь.

            Интересно, а на телефоне можно?
            • +2
              iPhone позиционируется как телефон — так что можно.
              Если же брать обыкновенные телефоны с J2ME — то тоже можно, ServerSocketConnection.

              Подробнее тут: www.java2s.com/Tutorial/Java/0430__J2ME/ServerSocketConnection.htm
            • 0
              На Motorola A1200 есть прошивки, в которых веб, фтп и др. сервера есть :) Но там практически полноценный линукс.
            • 0
              Есть для смартов, работающих на симбе 9.2 http-сервер с похапе :)
            • 0
              На смартах Nokia — легко.
          • +2
            >Но есть вариант с Python: простейший веб-сервер на питоне
            Попробовал, поднял на смартфоне(Symbian 9.3) свой курсак(написан на python'е c использованием httpserver), вроде работает.

        • +20
          Представляете заголовок от сервера «iPhone (2.2.1), lighttpd» :) я бы охренел :)
        • +3
          bash в джейлбрейкнутом айфоне присутствует, так что: www.linuxscrew.com/2007/09/06/web-server-on-bash-in-one-line/

          быстро и сердито.
        • 0
          ага, и карманный датацентр на базе кпк-шек :)
          • –1
            Карманные blaid )
          • 0
            кластер :))
        • 0
          При установке Linux на КПК (HP 4700 например), апач с mysql заводится очень легко ))
  • –1
    MySql легко ставится? вижу вордпресс, про базу вы ничего не писали.
    • +1
      Написал, что с sqlite-патчем ставил + написанием заглушки для mysql_connect(иначе будет просто белый экран)
      • 0
        невнимательно читал я, простите :)
    • 0
      > Это будет необрезанный PHP, за единственным исключением: в виде СУБД тут может быть использован только sqlite(в том числе и через PDO).
      • 0
        Сорри, обогнали пока писал :(
  • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      git на него кстати тоже ставится :)
  • +1
    По WiFi как веб-сервер заработает? Если да, то можно отбросить вопросы типа «зачем».
    • 0
      Конечно заработает.
    • НЛО прилетело и опубликовало эту надпись здесь
  • +11
    Экий вы батенька извращенец
  • +2
  • –2
    … PHP/Pyrhon/Ruby… ???
  • 0
    Следующим шагом будет установка PDT на iPhone? :)
  • +1
  • +2
    Мне кажется этот пост неплохо бы смотрелся на главной =)
    • 0
      Ну надо или перенести из личного блога его, либо подождать, пока заплюсуют до не знаю скольки, что он там появится.
      Пока что это невозможно — не хватает ни кармы, ни плюсов у топика.
  • 0
    эм… собственно вопрос… gcc там есть (+ всякие develop приблуды)? чтобы прям на девайсе собирать? если да, то для меня из «нафигононужно» превратиться «яхочуэто»
    • +7
      • +7
        ну вот… я думал телефон для тех у кого денег девать некуда + понты… а тут консоль и gcc =))
        • –9
          Его операционка — клон фри БСД. И процессор шустрый.
          • 0
            да выучите же наконец откуда взялось ядро макоси и при чем там BSD
          • +1
            XNU — допиленный Mach 3 + BSD Posix layer + I/O Kit.
          • +1
            ошибаешься. это не freeBSD. от BSD (не фри) там только сервисы. ядро Mach (Unix).
      • 0
        а в чем тогда проблема — собрать mysql?
        /me представил серверную стойку из iPhone… iPhone Cluster… ужос то какой
        • +6
          Тут не серверные стойки, тут серверные группы будут.
          Облако из айфонов сотрудников компании будет хостить их сайт)
        • 0
          Архитектура, я полагаю
          • 0
            ну как бы если есть компилятор для этой архитекруты и есть исходники, то собрать что-то (под эту архитекруту) не особая проблема… ну во всяком случае для sh архитеркуты месяц назад собирал именно так.
            • 0
              это вы зря так думаете, в mysql используется много всего, процессоро-специфичного.
        • 0
          да вроде нет проблемы, iamps.byethost24.com/index.php?postid=20
      • 0
        Круть!!!
      • 0
        Прикольно, теперь можно писать проги сидя в электричке =)
      • 0
        Это кросс-компилятор под линукс на x86_64?
        • 0
          он компилит под iPhone на iPhone
          это не кросскомпилер
  • –1
    В порядке общего бреда: представил рекламу Apple, где по офису ходят модели; вдруг раздается звонок — короткий диалог и в режиме hot plug перетыкают iPhone'ы в стойке
  • 0
    Пхп уже стоит везде где надо. На айфоне оно лишнее.
  • 0
    Разработка ПО для самого iPhone в связке с PhoneGap. PhoneGap — это SDK для разработки приложений на JS с использованием акселерометра, GEO location и т.д. То есть вместо Objective C мы можем использовать Javascript. И AJAX. И PHP/Python/Ruby.
    А такое в AppStore пропустят?
    • 0
      Нет, запрещены интерпретаторы.
      Но без server-side только на PhoneGap — пустят.
  • +2
    Супер, мне начинает нравится этот iPhone ))))
    • +3
      Да, реально после прочтения поста и комментариев захотелось айфон себе
      • 0
        Да, да :)
  • 0
    Ну хотя бы KDE 4 загрузил, а то php… ишты =:)
    ps: молодца конечно!
    • –2
      Современный Линукс слишком охоч до памяти и CPU, не потянет.
      • НЛО прилетело и опубликовало эту надпись здесь
  • +1
    А на nokia, в моем случае n72, можно поставить? куда капать? ))
    • 0
      я думаю копать в сторону кладбища установки linux или чего-то POSIX-совместимого на iPhone
      • +2
        Вам про ноклу — вы про айфон. Гениально.
        • 0
          s/iPhone/Linux/

          P.S.: пора идти спать
    • +1
      На Symbian же есть php, mysql и apache. Смотреть например вот тут Только оперативки много нужно.
  • +1
    извращение какое-то имхо…
  • +3
    скоро на хабре «Запускаем баллистические ракеты с помощью IPhone» =)
    Давно кстати хотел себе поставить такую гадость, а то иногда когда появляется свободное время, посещают какие-то «гениальные» мысли, которые хочется проверить, а ноут с собой не всегда есть, ручка так же, а вот телефон — всегда.
  • +3
    А я на ифоне lighttpd и php скомпилировал :) Тогда его ещё не было в сидии…
    Увы, на компиляцию мускла памяти не хватило. Даже со всеми доступными моему тогда не слишком искушённому в *nix разуму уловками :))
    • 0
      В комментах выше была такая штука — iamps.byethost24.com/index.php?postid=20

      может быть поставите, поюзаете и напишете на хабре заметку?

      Я думаю всем было бы очень интересно
  • 0
    похоже в скором будущем каждый будет таскать у себя в кармане по серверу
  • 0
    А почему бы и нет, всё к этому идёт, сначала android конкретно растрясёт десктопы, сами не заметим, как скоро «недобуки» на arm'ах станут функционально богаче производительнее компактнее, а главное дешевле, того что имеем сейчас под x86-x64, произойдёт сопутствующее этому будное развитие подлежащей *nix платформы в сторону улучшения поддержки современных многоядерных arm,
    потом U1 набитый другой архитектурой
  • 0
    Молодец, всё достаточно просто сделать получается…
    Респект!
  • +1
    Подтверждаю, RoR также без проблем поднимается. С монгрелом. Но оооочень тормозит.
  • 0
    Это просто мечта! С самого первого дня хотел кодить на iPhone. Только боялся спросить как… :)
  • 0
    Видел эту картинку у тебя в ЖЖ, так и думал, что со временем наткнусь на какой-нибудь гайд на Хабре =)
  • 0
    Ну кодить с тачскрином не есть супер удобная весч.
    Хотя я айфон тоже считал гламурной железякой и хотел побаловаться и отдать жене, но не отдал… Слишком много в нем удобного и интересного.
    Читаю с него. РСС читаю с него. Удаленный доступ на домашний комп, если вне дома, а надо проконтролировать (кстати этим способом получается делать что угодно т.к. айфон всеголишь терминал)
    реально не хватает нормальной мышки и нормальной клавы :)
  • 0
    ничего нового… уже было в просторах инета. Рерайт и пара своих догадок != новая статья
    • 0
      Насчет всего остального — может и было, но вот навряд ли вы по тем мануалам поставили бы паблик-скрипт типа WP.
      • 0
        видел как раз ставили чтото было про WP, но его поставить особого ума не надо, если вы php программер

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.