[转载]在安卓中安装宝塔面板运行PHP+MySQL

手机上的操作

我用的手机是小米10pro,其他手机应该也能用相同的方法安装成功。

  1. 安装Linux Deploy,然后给它root权限。

    Linux Deploy.apk(17.10 MB)

  2. 点击左上角的菜单按钮。

    image.png

  3. 点击+号,创建一个名为debian的配置文件。如果已经有了名为debian的配置文件,选择它即可。

    file-hash-png-1986d7e8f75e363f5923e3964b5af6d179152.png

  4. 返回首页,点击右下角的配置按钮。

    image.png

  5. 按如下配置(没有提到的选项保持默认):

    长图,点击放大:

    image.png

    • 发行版: Debian

    • 架构: arm64
      (如果手机不支持64位,选择armhf)

    • 发行版版本: buster

    • 源地址: http://mirrors.tuna.tsinghua.edu.cn/debian/
      (如果要用其他源,注意得选择支持arm64的源。阿里云镜像不支持arm64,安装时会得到404错误)

    • 安装类型: 目录

    • 安装路径: /data/linux/debian
      (debian的文件会保存在这个文件夹,可以用安卓的root文件管理器往里面复制文件)

    • 用户名: android
      (可以改成你想要的,下文中的android都得改成你这里设置的用户名)

    • 用户密码: 123456
      (可以改成你想要的,下文中的123456都得改成你这里设置的密码)

    • 特权用户: 不用改,改了也没用,会被自动改回来

    • 本地化: zh_CN.UTF-8

    • DNS: 自动

    • 初始化-启用: 勾选
      (注意这个一定要勾选,否则宝塔不能自启动)

    • 初始化系统: sysv
      (注意这个一定要选对,否则宝塔不能自启动)

    • SSH-启用: 勾选

  6. 返回到首页,点击右上角的下拉按钮。

    image.png

  7. 点击安装。

    image.png

  8. 等出现<<< deploy,说明安装好了,点“启动”。

    image.png

  9. 如果看到:: Starting extra/ssh ... done字样,说明SSH启动好了,可以去连接了。
    注意不是下面的ssh ... done,这个即使变成ssh ... fail也没关系,因为上面那个extra/ssh才是真正的SSH服务。

    image.png

  10. 注意,首页顶部显示的IP可能不是手机的WiFi IP,而是数据网络的IP,使用该IP可能无法连接到手机(比如这里是10.131.37.68)!

    Screenshot_2020-11-07-23-17-24-128_ru.meefik.linu.ip.jpg

    手机的WiFi IP应该去WiFi状态页面查看(比如我的WiFi IP是192.168.144.177,等下连接SSH时就用这个):

    Screenshot_2020-11-07-23-56-09-412_com.android.settings.jpg


电脑上的操作

如果你没有电脑,也可以在手机上完成后续操作。你可以在手机上安装JuiceSSH来连接SSH服务。不过,因为在电脑上操作更方便,所以后续步骤我会在电脑上完成。

  1. 使用你喜欢的SSH客户端连接到手机上已经启动的SSH服务,使用以下信息:

    主机名: 手机的WiFi IP,比如我的是192.168.144.177
    端口: 22
    用户名: android (如果你改了,换成你自己的)
    密码: 123456 (如果你改了,换成你自己的)

    比如我使用SSH命令连接:

    file-hash-png-b1adf4c1b213c2a23f8158e7a62cb9b048595.png

  2. 安装wget,然后使用宝塔官方安装教程中的Debian安装命令安装宝塔:

    sudo -i
    apt updateapt install wget
    wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

    注意:安装时手机不要锁屏,否则安装速度会变慢!只要一直处于Linux Deploy应用界面,手机就不会自动锁屏(但是OLED不要连续几天不锁屏,否则可能会有烧屏问题。降低亮度有助于避免烧屏)。

    等宝塔、PHP和MySQL等都安装完了就可以锁屏,网站运行慢点就慢点,不会有太大的影响。

    不过,如果你的手机锁屏后会断开WiFi,则必须禁用该功能。

  3. 等待宝塔安装完成。注意Building wheel for gevent (setup.py) ...需要很久时间才能完成,因为涉及到代码编译。不要觉得是卡死了。

    如果你觉得卡住了,不知道安装程序在做什么,你可以打开另一个SSH窗口,然后安装htop任务管理器:

    sudo -iapt install htophtop

    这样你就能看到安装程序在做什么了。

    image.png

    按q退出。

  4. 宝塔安装好了,用时约30分钟。可以去浏览器打开宝塔面板了。

    不要急着关闭SSH。安卓和GNU/Linux不同,需要手动授权才能让采用非默认用户启动的进程联网,所以待会儿还要用到SSH。

    file-hash-png-c6c19e0e9498e19ecce17e6cf0b7ec6236201.png

    注意:这里的内网面板地址显示的还是数据网络IP,不是WiFi IP。地址中的10.164.145.41得替换成192.168.144.177,我才能打开。

    不用担心我密码泄露,我待会儿就删了这个宝塔。不过你可不能把这个信息共享给别人。


浏览器内的操作

  1. 访问面板地址,输入用户名密码登陆。
    比如我的面板地址是: http://192.168.144.177:8888/a71ce884
    用户名和密码都显示在SSH里了。

    1.png

  2. 一键安装LNMP,但不要安装FTP。如果你真的要使用类似FTP的功能,可以使用SFTP(基于SSH的FTP)代替,无需安装,只要启动了SSH服务就可用。Windows里可以使用WinSCP来连接,登陆方式同SSH。

    我不会介绍让FTP正常工作的方法,所以如果你一定要安装FTP,请自行寻找让其正常工作的方法。

    2.png

  3. 等待安装完成。注意手机不要锁屏,否则安装速度会变慢!只要一直处于Linux Deploy应用界面,手机就不会自动锁屏(但是OLED不要连续几天不锁屏,否则可能会有烧屏问题。降低亮度有助于避免烧屏)。

    3.png

  4. 安装完了,花了约40分钟。

    4.png

    现在进入软件商店>已安装里看看,你会发现MySQL没启动。就算你点击启动,MySQL也启动不了,因为它现在没有访问网络的权限。

    image.png

    我说过,安卓和GNU/Linux不同,需要手动授权才能让采用非默认用户启动的进程联网。现在让我们回到SSH。


SSH里的操作

  1. 给nginx、MySQL、php-fpm等组件必要的权限:

    sudo usermod -a -G aid_inet,aid_net_raw wwwsudo usermod -a -G aid_inet,aid_net_raw mysql

    解释:

    • nginxphp-fpm是用www用户运行的,所以第一行结尾是www

    • mysql是用mysql用户运行的,所以第二行结尾是mysql

    • 把用户加入某个aid_开头的组,用户就获得了该组所具有的权限。
      aid_inet代表通过IP协议联网的权限,aid_net_raw代表发送/接受以太网原始数据帧的权限(比如ping操作就需要该权限)。
      完整的权限用户组可以用以下命令获得:

       cat /etc/group | grep aid
    • 为了让新加的权限生效,必须在Linux Deploy里点停止再点启动才行。单单在宝塔里重启服务是无效的。

  2. sendmail服务我们并不需要,而且它启动要很久的时间,所以我们可以把它卸载了:

    sudo apt purge sendmail sendmail-bin
  3. 有个文件夹/var/lock/subsys需要手动创建一下,否则在宝塔里重启某些服务(比如memcached)时可能会报错。

sudo mkdir -p /var/lock/subsys

手机里的操作

打开Linux Deploy,点底部的“停止”,再点底部的“启动”。

image.png

如果你看到以下内容:

mysqld ... donephp-fpm-xx ... done……
bt ... donenginx ... done

说明所有组件都启动成功了。其中的bt是宝塔面板,并不是蓝牙


浏览器内的操作

现在再回到面板,所有组件就都是启动状态了。可以愉快的使用了。

image.png


常见问题


问:MySQL的默认root密码是什么,我用了面板上给出的,不对,无法登陆PHPMyAdmin。

答:默认root密码是空,面板显示的不对,而且PHPMyAdmin禁止空密码登陆。

不过,你只需要在面板上修改一次root密码,就可以登陆了。输入一个新密码,或者点输入框后面的重置按钮随机生成一个,然后点击提交即可。

1.png

问:我在Linux Deploy点启动时为什么没有看到mysqldphp-fpm-xxbtnginx

答:你可能选错了初始化系统,必须选sysv

2.png

安装完成后再改也可以,改完点停止再点启动就能生效。


问:我装了memcached,启动不了怎么办?

答:memcached使用memcached用户运行,但是它仅使用该用户,不使用用户组。所以无法通过前面提到的方法给它授予访问网络的权限。

最简单的解决方法是改用aid_inet用户运行,如图所示:

3.png

此外如果遇到以下错误:

警告消息:

touch: 无法创建 '/var/lock/subsys/memcached': 没有那个文件或目录

运行以下命令可解决:

sudo mkdir -p /var/lock/subsys

问:我的PHP连不上memcached怎么办?或者看起来好像连上了,但是完全获取不到里面的数据!

必须给运行php-fpm进程的用户(默认是www)联网权限,否则它就连不上memcached,但是它也不会报错,只会静默失败。

可以用以下命令授权:

sudo usermod -a -G aid_inet,aid_net_raw www

然后手机上打开Linux Deploy,点底部的“停止”,再点底部的“启动”,让授权生效。


问:为什么网站根目录的.user.ini文件删不掉也不能修改?

答:该文件被设为禁止修改、禁止删除。用以下命令可以解除:

cd /www/wwwroot/网站目录名
sudo chattr -i .user.ini

然后你就可以修改、删除它了。修改完后,请务必再次加锁,防止内容被恶意PHP程序修改:

sudo chattr +i .user.ini

问:宝塔的防火墙功能似乎无效?

答:对,因为Debian默认使用systemd启动ufw防火墙,但安卓不支持systemd,所以只能使用sysv,从而导致ufw防火墙默认无法启动。

如果你想启动防火墙,可以运行以下命令:

sudo apt install sysv-rc-conf
sudo sysv-rc-conf ufw on

然后手机上打开Linux Deploy,点底部的“停止”,再点底部的“启动”,让防火墙自启动。

但是,防火墙依然可能会不生效,因为ufw设置防火墙规则的方法可能和安卓不兼容。如果真的出现这种情况,你可以再关闭ufw的自启动:

sudo sysv-rc-conf ufw off

安装一个WordPress,试试宝塔的功能是否正常

  1. 创建一个新网站

image.png

  1. 通过SSH下载、解压WordPress程序

sudo -i
cd /www/wwwroot/wordpress
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
tar --strip-components=1 -xf latest-zh_CN.tar.gz
chown -R www:www .

出现以下提示是正常的,忽略即可:

chown: 正在更改'./.user.ini' 的所有者: 不允许的操作

image.png

  1. 开始WordPress安装:

1.png

2.png

3.png

  1. 登陆WordPress:

5.png



转载自虎绿林:https://hu60.net/q.php/bbs.topic.96798.html

Bài viết này đến từ http://www.chieng.cn, được sao chép, vui lòng ghi rõ!

赞助 支付宝 微信
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论

Top