0.前言
前些时间沉迷于Restful,采用PHP+Slim+MySQL实现了一些简单的API函数。但是这些工作都是在windows中实现(采用wamp server集成安装包),但是转到linux中还确实有些不一样,下面就使用树莓派尝试一把。
1.安装php和apache2
在这里仅安装php和apache2,如果需要安装mysql请再增加php5-mysql和mysql-server
sudo apt-get update
sudo apt-get install apache2 php
2.配置apache2
【为什么配置apache】
需要打开apache中的url重定向功能,例如api/leds/1,请示并不存在该文件,而是通过响应的代码生成响应。默认情况下,apache关闭了url重定向功能,所有才有了以下的设备。
关于windows中的设置请查看博文——【PHP再学习4—— slim框架学习和使用】
【目录说明】
若使用wamp server集成安装包,那么apache2相关配置文件位于\wamp安装目录\bin\apache\Apache2.4.4\conf
若在linux环境配置文件就显得有些不一样了,配置文件位于 /etc/apache2,文件名为apache2.conf
配置文件并不是有一个文件组成,还包括该目录下其他文件夹下的配置文件。
【1】使能mode_rewirte
sudo a2enmod rewrite
【2】修改配置文件 使用.htaccess文件
配置文件位于/etc/apache2/sites-available,文件名为default。
在<Directory /var/www/>设置中,原定为AllowOverride None,意为不使用.htaccess文件,可修改为AllowOverride FileInfo,意为使用.htaccess中的相关设置。
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
# changed from None to FileInfo
AllowOverride FileInfo
Order allow,deny
allow from all
</Directory>
【3】重启Apache
sudo service apache2 restart
3.安装slim
安装的具体方法有很多,这里就说说其中的一种。
【使用Git克隆文件】
可在home下建立一个临时文件,例如slim_temp(mkdir slim_temp)
CD至该目录,输入以下指令
git clone https://github.com/codeguy/Slim
【复制文件到/var/www/ 目录】
把index.php文件,Slim文件夹和.htaccess文件 拷贝到/var/www/目录
请注意/var/www/目录的所有者为root,复制前可修改该目录的所有者为pi
sudo chown -R pi /var/www
4.简单的测试
使用火狐浏览器中的HTTPRequest工具,POST方法。
图1 发送POST请求
5.总结
虽然树莓派做Http server能力有限,但是过程非常有趣。通过过程学习了很多apache2配置的知识。
6.参考资料