安装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

树莓派搭建web服务器(详细且良心)的更多相关文章

  1. 树莓派搭建WEB服务器

    树莓派搭建WEB的教程网上有许多,但感觉每一篇都有一些问题,这次我将网上的教程汇总,并亲身实践,将注意的问题都写进去,方便新手学习! 目录:1,安装nginx+sqlite+php5打造轻量级服务器, ...

  2. 【转】用树莓派搭建web服务器

    本文将详细介绍如何在树莓派上配置服务器,和<教你在Xubuntu上搭建LAMP服务器>有些类似,多了一些介绍在树莓派上的不同步骤的地方. 这种服务器的配置被称为LAMP,是最流行的服务器配 ...

  3. 树莓派之web服务器搭建

    树莓派之web服务器搭建 (一)使用ufw创建防火墙 设置目的:可以完全阻止对树莓派的访问也可以用来配置通过防火墙对特点程序的访问.使用防火墙更好的保护树莓派. 准备工作 1.带有5V电源的树莓派 2 ...

  4. Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程

    Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程 看了好多人的博客,有的不全 or 有问题,整理了一下,适合小白 新手先整理几个小问题 1.为啥使用 Linux 搭建服务器? ...

  5. 轻松使用Nginx搭建web服务器

    如果读者以前做过web开发的话,就应该知道如何去搭建一个web服务器来跑你的web站点,在windows下你可能会选择去用IIS,十分的快捷,在linux下,你可能首先会想到apache,“一哥”( ...

  6. CentOS 6.2下搭建Web服务器

    1Centos 6.2下搭建web服务器 如今,Linux在Web应用越来越广,许多企业都采用Linux来搭建Web服务器,这样即节省了购买正版软件的费用,而且还能够提高服务器的安全性. 之前我们介绍 ...

  7. Python搭建Web服务器,与Ajax交互,接收处理Get和Post请求的简易结构

    用python搭建web服务器,与ajax交互,接收处理Get和Post请求:简单实用,没有用框架,适用于简单需求,更多功能可进行扩展. python有自带模块BaseHTTPServer.CGIHT ...

  8. Mac上一条命令搭建web服务器

    实际测试工作中偶尔会需要搭建Web服务器环境,由于Mac OS X自带了Apache和PHP环境,只需要简单的启动就可以. 开启Apache 开启Web服务器的方法有两种(默认启动端口号是80): 打 ...

  9. Android手机用KSWEB搭建Web服务器成功安装WordPress

    之前部落分享的几个免费Web服务器软件都是用来安装在本地电脑上,搭建Apache.PhpMyAdmin.MySQL等网站运行环境,然后我们就可以在电脑上测试运行Wordpress.Discuz! 论坛 ...

随机推荐

  1. ios真机测试问题

    前端页面在ios端真机测试出现的问题 由于苹果对于性能的要求是近乎苛刻,如果没有可点的特性的元素系统默认不会给它响应事件,因此真机测试时容易添加不上绑定事件 解决办法: 1.通过js判断当前是否为苹果 ...

  2. TreeSet和TreeMap不能存放重复元素?能不能存放null?

    问题一:本来认为TreeMap不能存放重复元素?其实并非如此: 其实一般情况下是不允许存放重复元素的,但是它并非这么死板,在一些情况下是可以存放重复元素的,存了又会有引入其他问题. 问题二:能不能存放 ...

  3. npm 包管理工具

    能注册后看简单的功能 订单加信息 下单之前的判断要配合海潮的迁移数据 运行自定义的脚本 在 package.json 的 scripts 里添加自定义的结点 ( 比如 CSOR-serve ) &qu ...

  4. 05-oralce转换函数

    to_char() 设置日期的显示格式 to_char()  进行数字格式化{如:to_char(987654321.789,'999,999,999,999,999.9999') 将数字三位一逗号显 ...

  5. nodejs 并发控制

    1.用 eventproxy 实现控制并发: var EventProxy = require('eventproxy'); const most = 5;//并发数5 var urllist = [ ...

  6. JDBC(2)-使用statment接口实现增删改操作

    1.Statement接口引入 作用:用于执行静态SQL语句并返回它所生成结果的对象. int executeUpdate(String sql) :执行给定SQL语句,该语句可能为insert.up ...

  7. 说说移动端web开发中的点击穿透问题

    最近一直在忙于一个无线端的项目,由于之前主要工作都是在桌面端,移动端接触的比较少,所以中间遇到了很多的坑,做一个简单的记录. 问题背景 需求中有这样的一个功能,点击取件信息的时候会弹出一个地址列表的浮 ...

  8. android 拍照和从相册选择组件

    android 拍照及从相册选择组件 单独封装到一个 activity 中便于更好的复用 拍照或从相册选择成功后使用 EventBus 发出广播回传图片路径,和调用者充分解耦合 根据传入参数支持裁剪和 ...

  9. 9、在Shell脚本中调用其他脚本

    在Shell脚本的执行过程中,Shell脚本支持调用另一个Shell脚本,调用的格式为:程序名 实例:在Shell脚本test1中调用test2. 1.调用test2#test1脚本root@ubun ...

  10. EF 连接到 Azure-SQL

    using Autofac; using Autofac.Integration.Mvc; using System; using System.Collections.Generic; using ...