Hiện kết quả từ 1 tới 9 của 9

Chủ đề ::: Hướng dẫn tạo web server lighttpd trên iPhone

  1. #1
    Avatar của lptrung
    lptrung đang ẩn iPhone là một phần tất yếu Tài sản: • iPhone 4S - 4 - 3G • iPad 1 - 2 iOS hiện tại: 4.2.1 -> 5.0.1 Baseband: 02.10.04 SHSH: iOS 4.1, 4.2.1, 4.2b3
    Tham gia ngày
    May 2009
    Đến từ
    Cần Thơ- Việt Nam
    Tuổi
    34
    Bài gửi
    4.849
    Thanks
    6.499
    Được cảm ơn
    18.919
    Blog Entries
    4

    Mặc định Hướng dẫn tạo web server lighttpd trên iPhone

    Hướng dẫn setup website trên iphone có thể chạy php,.....

    Bước 1. Lên cydia cài đặt gói lighttpd

    Hoặc có thể ssh dùng lệnh để cài.
    # apt-get install lighttpd


    Mã:
    iPhone-4s:~ root# apt-get install lighttpd 
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following extra packages will be installed:
      libxml2 libxml2-lib sqlite3 sqlite3-lib
    The following NEW packages will be installed:
      libxml2 libxml2-lib lighttpd sqlite3 sqlite3-lib
    0 upgraded, 5 newly installed, 0 to remove and 2 not upgraded.
    Need to get 439kB of archives.
    After this operation, 2105kB of additional disk space will be used.
    Do you want to continue [Y/n]? y
    Get:1 http://apt.saurik.com ios/675.00/main libxml2-lib 2.6.32-3 [1218B]
    Get:2 http://apt.saurik.com ios/675.00/main libxml2 2.6.32-6 [90.6kB]
    Get:3 http://apt.saurik.com ios/675.00/main sqlite3-lib 3.5.9-2 [686B]
    Get:4 http://apt.saurik.com ios/675.00/main sqlite3 3.5.9-12 [71.9kB]
    Get:5 http://apt.saurik.com ios/675.00/main lighttpd 1.4.18-6 [274kB]
    Fetched 439kB in 7s (55.5kB/s)                                                                                                                       
    Selecting previously deselected package libxml2-lib.
    (Reading database ... 9162 files and directories currently installed.)
    Unpacking libxml2-lib (from .../libxml2-lib_2.6.32-3_iphoneos-arm.deb) ...
    Selecting previously deselected package libxml2.
    Unpacking libxml2 (from .../libxml2_2.6.32-6_iphoneos-arm.deb) ...
    Selecting previously deselected package sqlite3-lib.
    Unpacking sqlite3-lib (from .../sqlite3-lib_3.5.9-2_iphoneos-arm.deb) ...
    Selecting previously deselected package sqlite3.
    Unpacking sqlite3 (from .../sqlite3_3.5.9-12_iphoneos-arm.deb) ...
    Selecting previously deselected package lighttpd.
    Unpacking lighttpd (from .../lighttpd_1.4.18-6_iphoneos-arm.deb) ...
    Setting up libxml2-lib (2.6.32-3) ...
    Setting up libxml2 (2.6.32-6) ...
    Setting up sqlite3-lib (3.5.9-2) ...
    Setting up sqlite3 (3.5.9-12) ...
    Setting up lighttpd (1.4.18-6) ...
    Bước 2: Tạo các thư mục

    /private/var/mobile/site/
    /var/log/lighttpd


    Mã:
    mkdir /private/var/mobile/site/
    mkdir /var/log/lighttpd
    Chang owner và group của thư mục /var/log/lighttpd

    Mã:
    chown nobody:nobody /var/log/lighttpd

    Bước 3: Tạo file /usr/etc/lighttpd.conf có nội dung như sau
    Mã:
    #######################################################
    ###  lighttpd.conf  BEGIN
    #######################################################
    #
    #### modules to load
    server.modules           = ( "mod_expire",
                                 "mod_auth",
                                 "mod_access",
                                 "mod_evasive",
                                 "mod_compress",
                                 "mod_status",
                                 "mod_redirect",
                                 "mod_accesslog" )
    
    #### performance options (aggressive timeouts)
    server.max-keep-alive-requests = 6
    server.max-keep-alive-idle = 15
    server.max-read-idle     = 15
    server.max-write-idle    = 15
    
    ## single client connection bandwidth limit in kilobytes (0=unlimited)
    connection.kbytes-per-second = 0
    
    ## global server bandwidth limit in kilobytes (0=unlimited)
    server.kbytes-per-second = 0
    
    #### bind to interface (default: all interfaces)
    server.bind              = "127.0.0.1"
    
    #### bind to port (default: 80)
    server.port              = 80
    
    #### run daemon as uid (default: don't care)
    server.username          = "nobody"
    
    #### run daemon as gid (default: don't care)
    server.groupname         = "nogroup"
    
    #### set the pid file (newsyslog)
    server.pid-file          = "/var/run/lighttpd.pid"
    
    #### name the server daemon publicly displays
    server.tag               = "lighttpd"
    
    #### static document-root
    server.document-root     = "/private/var/mobile/site/"
    
    "/usr/etc/lighttpd.conf" 146 lines, 5007 characters
    #######################################################
    ###  lighttpd.conf  BEGIN
    #######################################################
    #
    #### modules to load
    server.modules           = ( "mod_expire",
                                 "mod_auth",
                                 "mod_access",
                                 "mod_evasive",
                                 "mod_compress",
                                 "mod_status",
                                 "mod_redirect",
                                 "mod_accesslog" )
    
    #### performance options (aggressive timeouts)
    server.max-keep-alive-requests = 6
    server.max-keep-alive-idle = 15
    server.max-read-idle     = 15
    server.max-write-idle    = 15
    
    ## single client connection bandwidth limit in kilobytes (0=unlimited)
    connection.kbytes-per-second = 0
    
    ## global server bandwidth limit in kilobytes (0=unlimited)
    server.kbytes-per-second = 0
    
    #### bind to interface (default: all interfaces)
    #server.bind              = "127.0.0.1"
    
    #### bind to port (default: 80)
    server.port              = 80
    
    #### run daemon as uid (default: don't care)
    #server.username          = "nobody"
    
    #### run daemon as gid (default: don't care)
    #server.groupname         = "nogroup"
    
    #### set the pid file (newsyslog)
    server.pid-file          = "/var/run/lighttpd.pid"
    
    #### name the server daemon publicly displays
    server.tag               = "lighttpd"
    
    #### static document-root
    server.document-root     = "/private/var/mobile/site/"
    
    #### chroot() to directory (default: no chroot() )
    server.chroot            = "/"
    
    #### files to check for if .../ is requested
    index-file.names         = ( "index.html" )
    
    #### disable auto index directory listings
    dir-listing.activate     = "enable"
    
    #### disable ssl if not needed
    ssl.engine               = "disable"
    
    #### compress module
    compress.cache-dir       = "/private/var/tmp/"
    compress.filetype        = ("text/plain", "text/html", "text/css", "image/png")
    
    #### expire module
    expire.url               = ( "" => "access plus 6 hours")
    
    #### accesslog module
    accesslog.filename       = "/var/log/lighttpd/access.log"
    
    #### error log
    server.errorlog          = "/var/log/lighttpd/error.log"
    
    #### mod_evasive
    evasive.max-conns-per-ip = 250
    
    #### limit request method "POST" size in kilobytes (KB)
    server.max-request-size  = 1
    
    #### disable multi range requests
    server.range-requests    = "disable"
    
    #### disable symlinks
    server.follow-symlink    = "disable"
    
    #### ONLY serve files with all lowercase file names
    server.force-lowercase-filenames = "disable"
    
    #### mimetype mapping
    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",
      ".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"
     )
    #
    #######################################################
    ###  lighttpd.conf  END
    #######################################################

    Có thể thay thế thư mục document-root theo ý thích của mình

    server.document-root = "/private/var/mobile/site/"


    Bước 4: Tạo file /Library/LaunchDaemons/com.http.lighttpd.plist

    Mã:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.http.lighttpd</string>
        <key>ProgramArguments</key>
        <array>
          <string>/usr/sbin/lighttpd</string>
          <string>-f</string>
          <string>/usr/etc/lighttpd.conf</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
    </dict>
    </plist>
    Bước 4: chạy service lighttpd

    launchctl load -w /Library/LaunchDaemons/com.http.lighttpd.plist



    Note:
    Dừng service lighttpd
    # launchctl unload -w /Library/LaunchDaemons/com.http.lighttpd.plist

    Check các service đang chạy
    # launchctl list |grep service
    60358 - 0xe555940.anonymous.lighttpd
    59566 - 0xe5550d0.anonymous.lighttpd

    Có thể dùng lệnh kill -9 để stop các service


    Sau khi cài thành công có thể truy cập tại địa chỉ http://127.0.0.1 hoặc http://localhost








    Xem các chủ đề tương tự:

    Lần sửa cuối bởi lptrung; 23-02-2012 lúc 02:19 PM

    Mỗi bài viết của bạn tại HiP, sẽ làm tăng kiến thức am hiểu iPhone của bạn
    Nếu bạn muốn thể hiện đẳng cấp của mình, thì hãy đến với HiP chúng tôi


  2. Trong số 8 thành viên sau đây đã cảm ơn lptrung cho bài viết này:

    Binz Tũn (28-02-2012), Cường Steve (19-02-2012), letgovnn (10-05-2012), Mr.Hoàng Huy (19-02-2012), pvnhattoan (15-05-2012), suachuavinamilk (19-02-2012), TanNguyen88 (26-03-2012), tuankiet65 (18-02-2012)

  3. #2
    Avatar của huunam09
    huunam09 đang ẩn Thành viên Tài sản: 4th Gen Ipod Touch,Iphone 4 iOS hiện tại: iOS 4.3.5,iOS 5.0.1,iOS 5.1 SHSH: 4.3.5,5.0.1,5.1,5.1.1
    Tham gia ngày
    Apr 2011
    Đến từ
    Hà Nội
    Bài gửi
    33
    Thanks
    8
    Được cảm ơn
    1

    Mặc định

    cái này đang cần ! thank ! rất tiện cho việc code php dành cho coder ! nhiều khi ngồi rảnh toàn đem việc công ty về để code !

  4. #3
    tuankiet65 đang ẩn Thành viên tích cực Tài sản: iPad 2 iOS hiện tại: 5.1.1 Baseband: Quan tâm làm gì =)) SHSH: Đủ loại từ 5 trở đi
    Tham gia ngày
    Oct 2011
    Đến từ
    Đà Nẵng
    Tuổi
    14
    Bài gửi
    148
    Thanks
    608
    Được cảm ơn
    25

    Mặc định

    em vào /usr mà không tìm khấy thư mục /ect

  5. #4
    Avatar của lptrung
    lptrung đang ẩn iPhone là một phần tất yếu Tài sản: • iPhone 4S - 4 - 3G • iPad 1 - 2 iOS hiện tại: 4.2.1 -> 5.0.1 Baseband: 02.10.04 SHSH: iOS 4.1, 4.2.1, 4.2b3
    Tham gia ngày
    May 2009
    Đến từ
    Cần Thơ- Việt Nam
    Tuổi
    34
    Bài gửi
    4.849
    Thanks
    6.499
    Được cảm ơn
    18.919
    Blog Entries
    4

    Mặc định

    Quote Nguyên văn bởi tuankiet65 Xem bài viết
    em vào /usr mà không tìm khấy thư mục /ect
    Nếu không thấy có thể tạo nó ra...

    Mỗi bài viết của bạn tại HiP, sẽ làm tăng kiến thức am hiểu iPhone của bạn
    Nếu bạn muốn thể hiện đẳng cấp của mình, thì hãy đến với HiP chúng tôi


  6. #5
    Avatar của Mr.Hoàng Huy
    Mr.Hoàng Huy đang ẩn Thành viên tích cực Tài sản: iPhone 4 White iOS hiện tại: 6.1.2 (10B146) Baseband: 4.12.05 SHSH: 4.3.5 - 6.1.2
    Tham gia ngày
    Sep 2010
    Đến từ
    Huế
    Bài gửi
    217
    Thanks
    82
    Được cảm ơn
    324

    Mặc định

    Thank bác Phúc ! iPhone đang dần thay thế được Laptop

  7. #6
    Avatar của lptrung
    lptrung đang ẩn iPhone là một phần tất yếu Tài sản: • iPhone 4S - 4 - 3G • iPad 1 - 2 iOS hiện tại: 4.2.1 -> 5.0.1 Baseband: 02.10.04 SHSH: iOS 4.1, 4.2.1, 4.2b3
    Tham gia ngày
    May 2009
    Đến từ
    Cần Thơ- Việt Nam
    Tuổi
    34
    Bài gửi
    4.849
    Thanks
    6.499
    Được cảm ơn
    18.919
    Blog Entries
    4

    Mặc định

    Quote Nguyên văn bởi Mr.Hoàng Huy Xem bài viết
    Thank bác Phúc ! iPhone đang dần thay thế được Laptop
    Phúc nào you ?

    Mỗi bài viết của bạn tại HiP, sẽ làm tăng kiến thức am hiểu iPhone của bạn
    Nếu bạn muốn thể hiện đẳng cấp của mình, thì hãy đến với HiP chúng tôi


  8. #7
    Tham gia ngày
    Dec 2010
    Đến từ
    Sài Gòn
    Tuổi
    32
    Bài gửi
    855
    Thanks
    358
    Được cảm ơn
    278

    Mặc định

    Đổi port web cho nó thành 81 để Nat từ modem thì làm sao vậy bạn Trung? Ngoài ra webserver này có kết hợp đc với sql không?
    Tất cả những người thất bại đều có một điểm chung : họ không nhận ra rằng lúc họ chạm đến thành công chính là lúc họ từ bỏ nỗ lực cuối cùng của mình - Thomas Edison

  9. #8
    Avatar của lptrung
    lptrung đang ẩn iPhone là một phần tất yếu Tài sản: • iPhone 4S - 4 - 3G • iPad 1 - 2 iOS hiện tại: 4.2.1 -> 5.0.1 Baseband: 02.10.04 SHSH: iOS 4.1, 4.2.1, 4.2b3
    Tham gia ngày
    May 2009
    Đến từ
    Cần Thơ- Việt Nam
    Tuổi
    34
    Bài gửi
    4.849
    Thanks
    6.499
    Được cảm ơn
    18.919
    Blog Entries
    4

    Mặc định

    Quote Nguyên văn bởi bimatrienganh Xem bài viết
    Đổi port web cho nó thành 81 để Nat từ modem thì làm sao vậy bạn Trung? Ngoài ra webserver này có kết hợp đc với sql không?
    Muốn đổi port 81 thì chỉnh lại dòng sau (trên moderm cấu hình NAT để bên ngoài có thể truy cập vào)

    #### bind to port (default: 80)
    server.port = 81

    Muốn sử dụng sql thì tham khảo thêm sqlite3
    http://www.sqlite.org/

    Trên cydia có hỗ trợ sqlite

    Mỗi bài viết của bạn tại HiP, sẽ làm tăng kiến thức am hiểu iPhone của bạn
    Nếu bạn muốn thể hiện đẳng cấp của mình, thì hãy đến với HiP chúng tôi


  10. #9
    Avatar của I'm Tuxedo
    I'm Tuxedo đang ẩn Member ViP Tài sản: iPad 4th, iPhone 4S, iPhone 4 iOS hiện tại: 7.0.4, 7.0.4, 6.0.1 Baseband: All SHSH: 5.1.1
    Tham gia ngày
    Mar 2011
    Đến từ
    Hà Nội
    Bài gửi
    777
    Thanks
    126
    Được cảm ơn
    730

    Mặc định

    dò đc cái IP là đờ đốt thì 8->
    T r ố n g T r ả i . . . !
    I'm Tuxedo !