重要
本文中提供的脚本并不是推荐的配置实例,因为他们真的没有安全。世界上任何人都可以在技术上要求咖啡或者更糟。我们离开了安全配置/ API密钥等,尽可能的保持教程简单。
我们需要一种方法让客户告诉TurtleBot他们想要咖啡,并且如果多个同时人们想要咖啡需要咖啡队列管理。有多种方法,但考虑到本系列是针对web开发人员,我们将使用一个LAMP堆栈。
什么是LAMP?
LAMP是Linux、Apache、MySQL和PHP的缩写。换句话说,它包括你需要运行一个web服务器和一个数据库的所有东西。
创建一个Web服务器
你可以创建一个本地web服务器和客户连接。但是,而不是将现有的计算机转换为一个web服务器,现在让我们在云产生一个实例。
Amazon web services亚马逊网页服务(又名:“AWS”)提供免费1年的微尺度Ubuntu web服务器。你需要输入你的信用卡号码,但只要你在第一年取消,不使用提供的更多资源在免费的计划中,你的信用卡不会被控制。
如果你还没有一个AWS账户,在这个网页上点击“Create Free Account”,一旦你登陆成功,点击“Launch Management Console”。
创建你的CoffeeBot的AWS实例
- 登录到AWS管理控制台。
-
点击“EC2”。
-
单击“Launch Instance”按钮。
-
选择“Ubuntu 服务器 14.04”。(提示:这是和你的电脑相同的分布式版本,所以它应该类似)。
-
选择“t2 micro”。(提示:确保它说“free tier eligible”所以你不会收取费用)。
-
下一个:“Configure Instance Details”。
-
“Review and Launch”。
-
HTTP是默认了。如果没有这个没有人可以通过web浏览器访问你的服务器。
-
“Security Groups”下单击“Edit Security Groups”并选择“Add Rule”。
-
从下拉菜单中选择“HTTP”。
-
点击“Review and launch”。
-
-
选择“Launch”。
-
一个密钥对会给你所需要的证书文件到SSH在你的服务器。
-
创建一个新的密钥对。
-
密钥对的名字“turtlebot_new”
-
“下载密钥对”
-
将它保存在你的下载文件夹中。
-
-
点击“Launch Instances”。
-
选择“View Instances”。
确定你的公共DNS
你实例的公共DNS是你的客户(和TurtleBot)如何连接到服务器。让我们继续并将其复制,供以后使用。
- 登录到AWS管理控制台
- 点击“EC2”。
- 点击“Running Instances”。
- 选择复选框左边的实例。
- “Public DNS”值在右下角。
提示:我们还没有在你的服务器上安装LAMP堆栈,所以如果你调用IP,什么都不会发生。
SSH到AWS Instance
重要:改变[PUBLIC_DNS]为之前复制的值。
在一个终端窗口运行:
cd ~/Downloads
chmod 400 turtlebot_new.pem
ssh -i turtlebot_new.pem ubuntu@[PUBLIC_DNS]
当提示:
Are you sure you want to continue connecting (yes/no)?
输入yes。
安装LAMP堆栈
Shell(ssh)到你的服务器,然后运行以下命令:
sudo apt-get update
安装Apache
sudo apt-get install apache2
安装MySQL
sudo apt-get install mysql-server php5-mysql
当出现提示,设置MySQL的root密码为"turtlebot".
提示:这是一个糟糕的密码,所以随意设置到另一个值——但你需要修改config.php文件从github克隆后一步。
安装PHP
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
给Ubuntu用户正确到/var/www/
sudo adduser ubuntu www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rw /var/www
重启Apache
service apache2 stop
service apache2 start
注意:在这个视频中我们尝试service apache2 restart但是失败了,stop并且start成功。
克隆PHP文件
cd /var/www/html
sudo apt-get install git
sudo git clone https://github.com/markwsilliman/turtlebot-server/
注意:在这个视频我首先尝试”git clone“没有加上”sudo“;因此要求”sudo“。
克隆Web App
web应用程序非常类似于浏览器扩展,但是会允许你的客户从他们的智能手机直接请求咖啡。我们稍后会详细讨论这个,但是为了方便我们继续和克隆。
cd /var/www/html
sudo git clone https://github.com/markwsilliman/turtlebot-web-app/
(可选)设置MySQL root密码
如果你不将MySQL root密码设置为“turtlebot”,你需要编辑配置文件。如果你将MySQL root密码设置为“turtlebot”,跳过这一节。
cd /var/www/html/turtlebot-server/
nano config.php
滚轮向下到:
$a["password"] = "turtlebot"; //mysql password
并且更新值。
然后ctrl + x退出,y保存。
继续阅读
安装Chrome浏览器拓展
翻译网址:http://learn.turtlebot.com/2015/02/01/20/