树莓派搭建web服务器(详细且良心)

 

安装Apache

Apache服务器可以从Debian的源中下载。可以用apt下载。

首先要更新apt的软件列表。如果不运行sudo apt-get updata的话,apt软件就不知道有没有新的软件包或者版本更新。

Apache可以用下面的命令来安装

sudo apt-get install apache2

安装mysql

mysql在Debian的源中也有,可以用这个命令来安装

sudo apt-get install mysql-server

安装过程中,会出现一个提示符让你输入一个密码。

这个密码是mysql root用户的密码。

现在这个版本不会要输入密码,安装完之后直接无密码进入

注意:这个版本有一个问题不知道是开发人员故意设定还是怎么

  • 安装mysql-server的过程没有提示输入root的password
  • 安装成功后,输入指令mysql -uroot,提示Access denied for user ‘root’@’localhost’
  • 输入sudo mysql -uroot可以直接连接成功
  • 输入sudo mysql -uroot -p后回车输入任意password也可以直接连接成功
  • 输入mysql -h 127.0.0.1 -P 3306 -uroot -p提示Access denied for user ‘root’@’localhost’

----------------------------------------------------------------------------------------------------------------

我的解决方法

  • 需要给root设置password
  • 需要将用户表中plugin字段由auth_plugin设置成mysql_native_password

sudo mysql -uroot     进入我们的mysql,一般能空密码进去的

在里面输入

   USE mysql;

   UPDATE user SET password=PASSWORD('123456') WHERE user='root';

   UPDATE user SET plugin='mysql_native_password' WHERE user='root';

   FLUSH PRIVILEGES;

   exit;

现在我们退出了

sudo systemctl restart mysql(重启服务)

sudo mysql -uroot(现在这个命令是进不去的)

要输入sudo mysql -uroot -p123456

这里的账号密码是用来进入phpmyadmin

安装PHP

Perl是系统预装的,所以我这里只写PHP的安装。

输入下面的命令,就可以安装PHP,以及PHP访问mysql数据库所需要的库。

sudo apt-get install php

sudo apt-get install php-mysql

安装phpmyadmin

sudo apt-get install phpmyadmin

安装过程中弹出选择框 
第一次的弹框有apache和lightd两个选项,按空格选中Apache2,回车 
第二次选择No,除非你会手动配置phpmyadmin的一些设置

sudo a2enmod rewrite

sudo ln -s /usr/share/phpmyadmin /var/www/html

最后重启一下你的树莓派;]

配置完成

安装完成后,可以在浏览器中输入你路由器的IP或域名,就可以访问你的网站了。

你应该能看到一个页面显示“It works”,但是没有其它内容。

删掉/var/www/html/index.html,创建一个/var/www/html/index.php,可以测试服务器和PHP工作是否正常。

最后我们还要配置一个ngrok开机自启(有需要的弄,这个你可以不弄)

虽然将开机启动后要执行的代码放到/etc/rc.local中可实现开机自动运行,但是这样并不利于管理。

而且我至今还没学会


今天,我们模仿服务来实现开机自启动
思路很简单,就是在/etc/systemd/system/目录下创建一个叫做ngrok.service的文件,然后写入一下代码:


[Unit] 
Description=ngrok 
After=network.target 
[Service] 
Type=simple 
ExecStart=这里写你启动ngrok的命名
[Install] 
WantedBy=multi-user.target 

这样的话系统就会把我们的脚本识别为服务,然后我们就可以用systemctl这个工具来轻松管理ngrok的运行与启动。


1. 运行ngrok 
sudo systemctl start ngrok 

2. 查询ngrok的运行状态 
sudo systemctl status ngrok 

如果没运行起来可能是你命令或权限的问题:解决方法把你的命名复制出来到终端运行如果能运行就应该没问题,如果还是不能启动服务

你可以尝试重启系统,如果还是不行尝试把你的ngrok移动到/usr/bin/

3. 实现开机自启动ngrok 
sudo systemctl enable ngrokw 

我们仅仅写了一个文件,就实现了ngrok的管理,是不是觉得很不错那!

此文章用到的网络文档:

https://www.aliyun.com/jiaocheng/120428.html

http://shumeipai.nxez.com/2013/10/13/install-and-config-lamp.html

https://blog.csdn.net/a791693310/article/details/80612573

 

原文地址:https://www.cnblogs.com/Frank-dev-blog/p/9425307.html