如何在Raspberry Pi上设置Web服务器

10

Lighttpd Web服务器该页面旨在总结将具有PHP支持的Web服务器安装到Raspberry Pi上所需的步骤。这将使Pi可以将HTML和PHP页面服务器提供给同一网络上的用户。这是一种有用的机制,可以从其他设备(无论是PC,笔记本电脑,平板电脑还是移动电话)在Pi上查看图像和/或数据。

注意 : 在尝试启用网络功能之前,请务必确保 更改您的Pi密码 来自“raspberry” default.

第1步– Install Lighttpd

Lighttpd是一个轻量级的Web服务器应用程序,可以在Pi上正常运行。可以使用以下命令进行安装:

sudo apt-get update
sudo apt-get -y install lighttpd

PHP第2步– Install PHP

接下来,我们需要安装PHP。 php5-common,php5-cgi和php5的安装顺序很重要,因此请不要’请在下面的行中更改其顺序:

sudo apt-get -y install php5-common php5-cgi php5

然后启用Fastcgi模块,该模块将处理PHP页面:

sudo lighty-enable-mod fastcgi-php

安装完这些软件包后,我们可以重新启动Lighttpd服务以获取更改:

sudo service lighttpd 力-reload

第三步– Testing

为了测试新的网络服务器,您需要知道Pi在网络上拥有的IP地址。为此,请运行以下命令:

sudo ip addr show

您将看到类似于以下内容的信息块:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
    state UP qlen 1000
    link/ether b1:11:ab:42:24:2c brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.45/24 brd 192.168.0.255 scope global eth0

Lighttpd 占位符 Page本例中的IP地址为192.168.0.45。获取该IP地址,并将其输入到另一台设备上的Web浏览器的地址栏中。

如果一切正常,您应该看到默认的Lighttpd“Placeholder” web page. It’不太令人兴奋,但是很容易用您自己的页面替换。

步骤4– Tweak Permissions

现在,我们将调整一些权限,以确保“Pi”用户帐户可以将文件写入Lighttpd希望找到网页的位置。 / var / www目录目前归“root” user. So let’s make the “www-data”用户并将/ var / www目录的所有者分组。

sudo chown www数据:www-data /var/www

现在,我们将允许“www-data”组写入此目录的权限。

sudo chmod 775 /var/www

最后,我们可以添加“Pi” user to the “www-data” group.

sudo usermod -a -G www数据 pi

为了使这些权限生效,最好在此时使用以下命令重新启动Pi:

sudo reboot

第5步–替换占位符页面

让’s浏览到/ var / www / html目录并重命名此默认页面:

cd /var/www/html
sudo mv index.lighttpd.html index.lighttpd.hxxx

现在我们可以用一个新的php页面替换它:

sudo wget //www.ytguangda.com/archive/misc/lighttpd_test.php.txt -O /var/www/html/index.php

上面的命令从该网站获取一个文本文件,将其重命名为“index.php”并将其保存到/ var / www / html目录。如果您想先查看测试页 点击这里.

注意 : 的‘-O’命令中的大写字母O(橙色表示O)不是零或小写字母o。

PHP页面示例刷新浏览器,您应该会看到新页面。如果PHP运行正常,您将看到PHP配置的摘要。

现在,您就可以像使用普通网站一样使用HTML,CSS,JS,PHP和图像文件填充/ var / www了。这些文件可以由您自己的程序创建,这些程序为您的项目和实验提供了一种将其数据发布到其他设备的方法。

这是其他设备与您的Pi交互的另一种好方法。

如果您希望Pi网络服务器可以在Internet上使用(即在您自己的网络之外),则需要执行一些其他步骤。一世’我这里没有涵盖它们,但它们通常涉及“port forwarding”在路由器上启用,以允许外部访问者从您的Pi请求页面。

可选步骤

默认情况下,Web服务器通过端口80进行通信。如果要更改Lighttpd使用的端口号,可以通过编辑lighttpd.conf文件轻松更改它:

sudo nano /etc/lighttpd/lighttpd.conf

然后改变“server port”定义您选择的端口号的行:

server.port  = 40045

使用CTRL-X和Y退出nano。要重新启动服务器并使其接受此更改,请使用:

sudo /etc/init.d/lighttpd restart

现在,您可以使用:在网络上另一台设备上访问Web服务器:

192.168.0.45:40045

推荐书

如果您想在印刷书籍中阅读更多有关Lighttpd的内容,请阅读 “Lighttpd” by Andre Bogus.

如果您更喜欢参考资料电子书样式,也可以将其作为Kindle版本使用。

分享。

10条留言

  1. 您好,非常有帮助。我已经将pi设置为安装了apache,mysql和php的访问点。当我去 http://本地主机 在pi本身上,我可以看到修改后的主页。当我将Macbook连接到pi时’s wifi network http://10.0.0.13 它要转到我的mac上的localhost,而不是pi上。有什么想法吗?谢谢

  2. 有没有办法更改它指向访问Web文件的文件目录?一世’d要指向通过USB安装的硬盘驱动器。

    抱歉,这很明显,非常感谢!

  3. 谢谢你,马特。 MySQL也应该在那里吗?我在树莓派的其他类似Web服务器设置上看到了它。我已经为您着迷了,因为我发现它更容易理解。非常清楚。除了数据之外,我不知道MySQL会做什么?

  4. 你好
    一个非常好的和有趣的教程,写得很好,很清晰。我期待着尝试。

    问题:我目前有一个非常粗糙的A.P.设置(并且我的意思是粗糙的),并且想使用您的教程对其进行升级。我如何去添加一个简单的“captive portal”到服务器?我并不是在寻找任何防弹的东西,仅仅是让用户在输入密码之前保持在同一页面上的东西。另外,有可能“force”用户连接到AP后,计算机立即进入强制页面吗?

    感谢您发布教程。

    德斯

    • Des, there is a custom OS called Zavvio made specifically for broadcasting a 俘虏门户. Although this 俘虏门户 is very much so aimed at proximity marketing rather than actually presenting a portal page which allows internet access afterwards.

      我试图查看wordpress是否可以解决这个问题,但是开发人员提出了一个折衷方案,最新的2.0版本支持称为Habari的CMS。

      无论如何,如果您想在这里查看’s the website.
      http://cs0418.wix.com/zavvio

      许可代码目前是免费的,所以我’d如果整个都快跳下去 “强制门户,但仅适用于本地托管站点” thing is what you’re looking for

发表评论

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.