安装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. 基础篇:6)形位公差标注(GD&T标准)-总章

    本章目的:理解GD&T概念,读懂和绘制GD&T图纸.本章是GD&T指引章节. 1.GD&T概念 GD&T  是 Geometric  Dimensioning ...

  2. 时间超限问题处理(c++)

    c++中 如果时间超上限 做题上: 考虑关于二进制的方法 比如说 find your present (2) 这道题 可以用异或运算 来发现不重复数 对于动态规划 状态压缩发面 方面应用更多 比如说p ...

  3. JAVA中 package 和 import 的使用

    1.打包--package 包名一般为小写,而类名的第一个字母一般为大写,这样在引用时,可以明显的分辨出包名和类名.如果在类的定义之前没有使用package定义包名,那么该类就属于缺 省的包. 1.1 ...

  4. java-web 登陆功能

    目录结构 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi= ...

  5. laravel5.8的使用

    首先,确定电脑已经安装了composer.最好是全局安装 然后打开phpstorm的控制台: composer create-project --prefer-dist laravel/laravel ...

  6. 使用python uiautomation从钉钉网页版提取公司所有联系人信息

    之前写了一个提取QQ群里所有人信息的脚本 https://www.cnblogs.com/Yinkaisheng/p/5114932.html 今天写一个从钉钉网页版提取公司所有人通讯录的脚本,,本脚 ...

  7. Part 1: Setting up ARM GNU tool chain

    ARM Build Tools GNU Tools for ARM Embedded Processors. GNU Make for Windows. GNU Tools for ARM Embed ...

  8. Linux -定时任务调度

    l crond 任务调度   crontab 进行定时任务的设置,. 概述 任务调度:是指系统在某个时间执行的特定的命令或程序. 任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行.如病毒扫 ...

  9. [原]SuperMap GIS(JavaScript) 拉框放大和缩小功能实现

    版权声明:本文为博主原创文章,未经博主允许不得转载. var ZoomControl; /* * 拉框缩小 */ function ZoomOut(){ if(ZoomControl==null||Z ...

  10. ETL 工具下载全集 包括 Informatica Datastage Cognos( 持续更新)

    Datastage 8.0 BT种子下载:http://files.cnblogs.com/taven/Datastage_8.0.rar Informatica PowerCenter 8.6.0 ...