本文可以让你在树莓派上安装LAMP,并利用花生壳从外网访问内网。本文是博主亲身测试,屏蔽各种出错之后的结晶。其中参考过很多文章,虽说是原创,但是有一些内容来自引用,最终汇成本文。感谢参考文章作者们的无私奉献!
LAMP即 Linux + Apache + MySQL + PHP,本文会增加安装 PhyMyAdmin 和 FTP 。
一、安装LAMP
1.安装WEB服务程序Apache:
1 |
sudo apt-get install apache2 |
安装完成后,用以下命令检查Apache服务器是否已经启动:
1 |
ps -ef | grep apache |
然后,我们就可以尝试访问Apache服务器的默认起始页面。在另一台接入互联网的电脑上打开浏览器,输入你的树莓派的IP地址,或者就在树莓派的图形化界面上打开一个浏览器,在地址栏中输入localhost,就应该可以看到“It works!”等内容显示在屏幕上。
Apache服务器的配置很复杂,但是对于个人应用来说,必须手动配置的地方几乎没有。也许有人需要改变WEB服务的端口,那么就用编辑器打开/etc/apache2/ports.conf文件:
1 |
sudo nano /etc/apache2/ports.conf |
找到以下两行:
1 2 |
NameVirtualHost *:80 Listen 80 |
把默认的80端口改为你想要的值,如果前面有#,去掉#号。
2.安装MySQL数据库:
安装MySql
1 |
sudo apt-get install mysql-server |
安装时会弹出界面让你设置数据库的root用户密码(注意:不是Pi的root用户密码)。
设置后继续,安装完毕后,同样用ps命令查看MySQL数据库是否已经启动:
1 |
ps -ef | grep mysql |
这里MySQL数据库的设置更简单,直接全部用默认值。
3.安装PHP:
安装PHP5
1 |
sudo apt-get install php5 |
然后设置www目录的权限为777,方便以后复制和删除文件:
1 |
sudo chmod -R 777 /var/www/ |
安装完成后,先检查一下它能否正常运行:
在/var/www/html目录下新建一个index.php文件:
1 |
sudo nano /var/www/html/index.php |
在这个文件里只需写入一行:
1 |
<?php phpinfo();?> |
保存并退出编辑。输入http://yourIP:yourPort/index.php,(yourIP就是你的电脑IP,树莓派本机可以用127.0.0.1或者localhost代替,yourPort就是你在第1步中修改的端口号,没有修改就是80,可以不输入。)
或者删除该目录下的index.html文件,再次用浏览器打开Apache服务器的默认起始页面,应该能够看到PHP的配置信息。这样就意味着PHP解释器工作正常,index.php成功地被Apache服务器识别为默认起始页面。
然后,需要把PHP和MySQL数据库联系起来,安装关联文件:
1 |
sudo apt-get install php5-mysql |
安装完成后,再次刷新默认起始页面,然后Ctrl+F键查询MySQL,如果可以找到MySQL的配置信息就表示LAMP环境已经搭建成功。
如果你需要使用PHP的其他功能,可以继续安装对应工具,比如这一行代码就可以安装常用的PHP工具了,但这些并不是必需安装的:
1 |
sudo apt-get install php5-fpm php5-cli php5-curl php5-gd php5-mcrypt php5-cgi mysql-client |
4.安装phpmyadmin
1 |
sudo apt-get install phpmyadmin |
安装时弹出菜单,如图,用空格选择apache2,回车继续
安装一会之后会弹出提示,我们选“是”(你用英文版的话当然是YES了)
然后再次跳出对话框,设定phpmyadmin管理员密码,设定后继续。
再之后就安装完毕了。
启用 apahce 的 mod_rewrite 模块
1 |
sudo a2enmod rewrite |
然后将apache和phpmyadmin结合(根据自己的web目录进行修改)
1 |
sudo ln -s /usr/share/phpmyadmin /var/www |
重启一下web服务
1 |
sudo /etc/init.d/apache2 restart |
如果需要,还可以添加除了root用户之外的用户。首先以root用户登录MySQL shell,注意这个root用户是MySQL数据库的root用户,不是Raspbian系统上的root用户:
1 |
mysql -u root -p |
创建一个新的用户。这篇教程创建的用户是wppi。
1 |
create user wppi@localhost; |
为用户wppi设置密码:
1 |
set password for wppi@localhost= password("type-your-passwprd-here"); |
然后创建自己的数据库。这里创建一个名为test的数据库,你也可以将数据库命名为其他名字,比如wp。在MySQL shell中输入下面的命令:(注意不要漏掉分号)
1 |
create database test; |
赋予用户所有的权限,否则wordpress的安装程序不能运行:
1 |
grant all privileges on test.* to wppi@localhost identified by 'type-your-password-here'; |
刷新MySQL:
1 |
flush privileges; |
退出MySQL shell:
1 |
exit |
现在就又返回到了终端了。过程截图如下(仅作参考):
5.安装ftp工具
我们还需要安装一个ftp服务器,用于对web上下载文件。这里选用vsftpd。vsftpd是开源的轻量级的常用ftp服务器。在树莓派安装ftp服务器,可上传、下载文件,管理网站。
a.安装vsftpd服务器 (约400KB)
1 |
sudo apt-get install vsftpd |
b.启动ftp服务
1 |
sudo service vsftpd start |
c.编辑vsftdp的配置文件
1 |
sudo nano /etc/vsftpd.conf |
找到以下各行,分别定义一下
anonymous_enable=NO
表示:不允许匿名访问(默认就是NO)
local_enable=YES
表示:设定本地用户可以访问。(默认就是YES)
write_enable=YES
表示:设定可以进行写操作(默认是NO)
local_umask=022
表示:设定上传后文件的权限掩码。(默认是被注释掉的)
按Ctrl+O存盘退出。
d.重启vsftpd服务
1 |
sudo service vsftpd restart |
e.测试一下
通过ftp连接树莓派系统,以用户名pi登录,(默认密码是raspberry),ftp的根目录是/home/pi,即pi用户的HOME目录。现在可上传或下载文件了。
还可以生成一个网站管理员用户,用于ftp上下载网站文件,如下操作:
增加一个用户,比如用户名为webadmin
1 |
sudo useradd webadmin |
修改用户webadmin的密码
1 |
sudo passwd webadmin |
按系统提示,输入密码,例如:123456
让用户webadmin拥有www根目录的所有权
1 |
sudo chown -R webadmin /var/www |
将用户webadmin的登录目录更改为www根目录
1 |
sudo usermod -d /var/www webadmin |
重启vsftpd
1 |
sudo service vsftpd restart |
好了,配置完成。用户webadmin登录ftp后,将直接进入www根目录,并可上下载文件、创建目录、删除文件等等。
这样简单几步就完成了LAMP系统的安装,以后的工作就是架设你的各种网站了。
二、花生壳外网访问配置
做内网映射到外网,并被外网访问的方法很多,比如花生壳、nat123、每步、3322、金万维等。花生壳是一款知名度非常高的映射软件,我们以花生壳为例讲解。
需要:树莓派可以连接外网,支付宝或者微信钱包有8元余额(升级内网服务要8块钱,以后每月有1G的免费流量,基本够用)
先放个官方教程,本文在这上面做的补充:http://service.oray.com/question/2680.html
工具下载地址:http://hsk.oray.com/download/#type=http|shumeipai
如果下载的是.deb 文件,就使用终端安装,代码是:
1 |
sudo dpkg -i phddns_rapi_3.0.2.armhf.deb |
注意要将这个deb文件替换为你下载的那个文件名。
安装完毕会显示SN码和初始密码,如下图所示。如果报错,请事先使用 sudo apt-get install -f 修复包依赖关系。
此部分可能失效,请酌情参考。更有效的办法请见下一版块。
如果下载的是tgz压缩包,则按照官方教程解压缩工具包:
解压缩下载包:
1 |
tar -zxvf phddns_raspberry.tgz |
进入解压的目录:
1 |
cd phddns2 |
官方教程接下来是输入“./oraynewph start ”,这一步是安装并启动服务,但是脚本写的太烂,很可能失败,我们手动操作。
我们可以手动输入这些命令,一行一行执行下去:
1 2 3 4 5 6 7 8 9 10 11 12 |
sudo mkdir -p /usr/oray-app sudo tar -zxvf ./oraynewph.tgz -C /usr/oray-app/ sudo rm -rf oraynewph.tgz sudo mv ./parse /usr/oray-app/parse sudo mv ./oray_serve /etc/init.d/oray_serve sudo mv ./oraynewph /bin/oraynewph cd .. rm -rf phddns2 sudo touch /tmp/oraynewph_log sudo update-rc.d oray_serve defaults sudo /usr/oray-app/bin/oraynewph -s 0.0.0.0 &>/dev/null & sudo /usr/oray-app/bin/oraysl -a 127.0.0.1 -p 16062 -s phsle01.oray.net:80 -d |
然后查看状态,这一步很关键,因为还需要获得SN码,输入:
1 |
$ sudo oraynewph status |
可以看到sn码,记下来。之后手动启动花生壳服务,输入:
1 |
sudo oraynewph start |
相关命令补充
注意:这些命令是在第一次执行之后才能使用的
启动:oraynewph start
查看状态:oraynewph status
重置应用:oraynewph reset
停止:oraynewph stop
卸载:oraynewph uninstall
上一部分失效,这一部分有效。
将deb文件安装完毕之后,终端会显示SN和初始密码。
输入以下命令看是否已经生效:
1 |
sudo phddns status |
生效后显示:
启动后打开 http://b.oray.com 登入,账号就是sn,初始密码 admin。登入后需要修改默认密码、手机验证、邮箱验证和花生壳账号绑定,没有就注册一个。如果没有找到怎么修改映射端口的可以下载一个windows2.4版本的客户端进行添加。值得注意的是花生壳的软件在第一次执行后就自动添加了开机自启动关联了,所以在这边没有进行手动设置。
登陆进去之后,点击“开通内网版”,之后就要你用支付宝付8块钱了,最近搞活动只要6元。还要申请个域名。就是点击登入后界面中间那个。每个sn只能申请一个,加上你帮定的oray账号,你可以得到两个免费的二级域名。记下这个域名。
付完钱,域名也申请好了,就可以做映射了。
1.可以按照教程点登入后界面中间那个黄色矩形,或者这个链接http://hsk.oray.com/bang/forward
2.然后单击添加映射
3.然后出现这个界面
点击“自定义应用”,选择一个域名,应用名称随便写,如RaspberryPi.
内网主机处,如果是树莓派本机就是127.0.0.1,局域网其他主机就填他们的ip。
内网端口处,你的服务应用占用的端口,比如说ssh就是22,web服务默认是80,除非你修改过,比如8080。
如果勾选“使用外网HTTP80端口”,就映射到外网80端口,如果不勾选,就随机一个。点击确定,等待提示。
可以打开我的测试站看看:http://tahoroom.oicp.net/wordpress/
当然,如果你要做SSH内网映射,可以如下图所示进行设置,尽量不要勾选“使用外网HTTP80端口”,以免以后使用web应用。
本文参考文章
树莓派上使用花生壳实现外网访问(CTO网站)
用树莓派建LAMP+WordPress服务器(ickey技术博客)
树莓花生壳内网映射教程,没公网ip的可以参考一下(百度贴吧)
Raspberry Pi(树莓派)托管WordPress(果壳网)
通过花生壳实现PuTTY远程控制树莓派 (百度贴吧)
树莓派花生壳(内网版)攻略(花生壳官网教程)
用树莓派实现LAMP + WordPress (V2.0) (深度好文!推荐!)
树莓派(Raspberry Pi)搭建简单的lamp服务(参考了phpmyadmin)
树莓派(raspberry pi)学习之安装ftp服务器。
好福利,附一些树莓派网络应用教程:
[教程] 将树莓派变成网络打印机服务器(更新PC和手机端设置)!
http://www.eeboard.com/bbs/thread-8818-1-1.html
[心得] 【分享】用树莓派构建你自己的微型服务器,可以外网访问
http://www.eeboard.com/bbs/thread-5526-1-1.html
配置树莓派(Raspberry Pi)成为一台完美的家用服务器
http://www.eeboard.com/bbs/thread-20798-1-1.html
[教程] 将树莓派作为自己的软件代码托管服务器!!!
http://www.eeboard.com/bbs/thread-5568-1-1.html
[教程] 树莓派(raspberry pi)学习之安装ftp服务器
http://www.eeboard.com/bbs/thread-27382-1-1.html
[教程] 将树莓派变成一个Web服务器
http://www.eeboard.com/bbs/thread-27383-1-1.html
[教程] 利用树莓派搭建Git私有服务器
http://www.eeboard.com/bbs/thread-27389-1-1.html
太阳能供电的树莓派FTP服务器
http://www.eeboard.com/bbs/thread-27392-1-1.html
[教程] 如何用树莓派搭建一个低能耗的Minecraft服务器
http://www.eeboard.com/bbs/thread-27395-1-1.html
[教程] 树莓派变身Aria2下载服务器
http://www.eeboard.com/bbs/thread-27396-1-1.html
[教程] 用树莓派打造多功能家庭服务器
http://www.eeboard.com/bbs/thread-27399-1-1.html
[教程] 树莓派教程之小型web服务器
http://www.eeboard.com/bbs/thread-27428-1-1.html
[教程] 用树莓派+移动硬盘+MINIDLNA打造家用媒体服务器
http://www.eeboard.com/bbs/thread-27431-1-1.html
[教程] 树莓派搭建NAS服务器
http://www.eeboard.com/bbs/thread-27434-1-1.html
[教程] Raspberry Pi加速上网体验之设置公共DNS查询服务器
http://www.eeboard.com/bbs/thread-27437-1-1.html
[教程] Raspberry Pi——DIY自己的mail服务器,全球可访问
http://www.eeboard.com/bbs/thread-27438-1-1.html
[教程] 树莓派基于asterisk的SIP电话软件交换服务器(免费电话系统)
http://www.eeboard.com/bbs/thread-27442-1-1.html
[教程] 在树莓派上搭建LAMP(Linux Apache Mysql PHP)服务器
http://www.eeboard.com/bbs/thread-27475-1-1.html
[教程] 树莓派上手实战之配置Samba服务器实现网络存储服务器
http://www.eeboard.com/bbs/thread-27482-1-1.html
[教程] 树莓派搭建网站服务器托管WordPress
http://www.eeboard.com/bbs/thread-27483-1-1.html
[教程] 树莓派廉价媒体服务器方案分享 Raspberry Pi DLNA server