前言
有時候,工程師會開發一些網頁去對自家的產品進行資料的擷取,這會需要使用到 web server 及 php 程式。
因此,本篇文章將說明如何啟用 Yocto 的 web server 及 php,並且示範如何在 OP-Killer 上使用。
Yocto Web Server
下面會列出 i.MX 有提供的 web server
本篇文章則是以 lighttpd 為例
poky/meta/recipes-extended/lighttpd
- lighttpd
meta-openembedded/meta-webserver/recipes-httpd
- apache2
- apache-mod
- cherokee
- hiawatha
- monkey
- nginx
- sthttpd
補充:
meta-openembedded/meta-webserver
會需要加進
conf/bblayers.conf
,才讓 bitbake 能找到 recipes-httpd 提供的 web server
conf/local.conf
將下方的內容新增至
conf/local.conf
,啟用 lighttpd 及 php
IMAGE_INSTALL:append = " lighttpd lighttpd-module-*"
IMAGE_INSTALL:append = " php php-cli php-fpm php-cgi"
執行編譯
設定完成後,重新編譯 core-image-minimal
bitbake core-image-minimal
lighttpd 及 php
image 燒錄完成並且進入系統後,還有一些設定需要完成
lighttpd.conf
修改 /etc/lighttpd/lighttpd.conf
啟用 php,請參考下方內容
@@ -21,7 +21,7 @@
# "mod_auth",
# "mod_status",
# "mod_setenv",
-# "mod_fastcgi",
+ "mod_fastcgi",
# "mod_proxy",
# "mod_simple_vhost",
# "mod_evhost",
@@ -211,14 +211,14 @@
#### fastcgi module
## read fastcgi.txt for more info
## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini
-#fastcgi.server = ( ".php" =>
-# ( "localhost" =>
-# (
-# "socket" => "/tmp/php-fastcgi.socket",
-# "bin-path" => "/usr/local/bin/php"
-# )
-# )
-# )
+fastcgi.server = ( ".php" =>
+ ( "localhost" =>
+ (
+ "socket" => "/tmp/php-fastcgi.socket",
+ "bin-path" => "/usr/bin/php-cgi"
+ )
+ )
+ )
#### CGI module
#cgi.assign = ( ".pl" => "/usr/bin/perl",
phpinfo
新增 /www/pages/info.php
<?php
phpinfo();
?>
重啟 lighttpd
為了應用新的設定,需要重啟 lighttpd
systemctl restart lighttpd
啟用 lighttpd
可以使用以 systemctl
讓 lighttpd 在下次開機時自動執行
systemctl enable lighttpd
測試
設定 IP 位址
請將電腦與 OP-Killer 連接,並設定該電腦的 IP 位址(192.168.1.1)
完成後,輸入下方指令,設定 OP-Killer 的 IP 位址(192.168.1.100)
ifconfig eth0 192.168.1.100
測試網頁
確定電腦與 OP-Killer 連接及設定後,請點開下方網址
出現下畫面即可確定下 lighttpd 及 php 已完成運行在 OP-Killer 上
評論