Linux deploy ubuntu 18.04 arm64 安装笔记

前言

旧安卓手机利用起来当个小服务器,部署点项目玩玩,也不用买树莓派了。
arm上安装lamp是真的坑多啊,折腾了一整天,终于搞定了,赶紧备份下系统。

  • 机型:Huawei P8
  • 配置:Kirin 935 + 3g + 64g
  • 系统:LineageOS 14.1(Android 7.1.2)

安装列表

  • Ubuntu 18.04 arm64
  • JDK 1.8
  • LAMP apache 2.4 | mysql 5.7 | php 7.1
  • KodExplorer 可道云
  • Seafile 云盘

1 安装 Linux deploy

https://github.com/meefik/linuxdeploy/releases

2 部署 ubuntu 18.04 arm64

参考CSDN博客 Linux Deploy 使用 Repository部署Linux系统

3 修改 源

sudo sed -i 's#http://ports.ubuntu.com/#http://mirrors.ustc.edu.cn/ubuntu-ports/#' /etc/apt/sources.list
sudo apt update

4 修改 bash

sudo sed -i 's#/home/android:/bin/sh#/home/android:/bin/bash#' /etc/passwd

5 安装 常用软件

sudo apt install -y vim git lrzsz wget screen unzip

6 设置 ROOT 密码

sudo passwd root

7 安装 JDK

arm64版本的jdk自行搜索下载下

tar zxvf jdk-8u201-linux-arm64-vfp-hflt.tar.gz
sudo vim /etc/profile
# set java environment
export JAVA_HOME=/opt/jdk1.8.0_201
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile

8 安装 LAMP

参考:LAMP一键安装包
由于当前平台是arm64,LAMP一键安装脚本的作者并没有测试和支持arm平台,目前遇到的问题和解决方案已经列出。

  • 问题1:
    php选7.0.33版本会编译不通过,查阅资料发现应该是php7.0的一个bug,Bug#73898 ,然后选择 php-7.1.33版本编译通过。
  • 问题2:
    apache编译成功启动报错,咨询了脚本作者,是apr版本的问题,修改了 config.sh apr-1.7.0修改为apr-1.6.5,支持arm64,以下命令中clone的仓库地址我已经改为自己码云fork的仓库并修改了apr的版本。
  • 问题3:
    mysql不是编译安装的,所以除此之外,还要手动编译一个arm64平台的mysql。
git clone https://gitee.com/westinyang/lamp.git
cd lamp
chmod 755 *.sh
./lamp.sh

9 安装 MySQL 5.7

参考1:Linux Deploy Ubuntu 安装 MySQL
参考2:arm64架构下Ubuntu安装配置mysql5.7

安装或重装备份的系统时,需要重新执行以下命令才能启动mysql

ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Android使用了一个激活的特殊内核补丁CONFIG_ANDROID_PARANOID_NETWORK。此修补程序允许网络访问属于具有硬编码ID的特定特殊组的系统用户。
这是因为Android通常仅在特定应用具有网络权限时才将用户(即应用)添加到这些组
说是Android内核已使用CONFIG_ANDROID_PARANOID_NETWORK进行编译。可以通过将mysql用户添加到aid_inet和aid_net_raw组来修复它。

usermod -a -G aid_inet,aid_net_raw mysql

错误信息

本次使用的是参考1里面的教程,安装完会有个错误,但是貌似不影响mysql正常使用。
查到的解决方案是:ERROR: Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server-5.7 (--configure):
 installed mysql-server-5.7 package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server

解决不用密码也能登录

安装完mysql发现不用输入密码也能登入,并且改了密码也没用。可能是arm版的问题多多吧,暂时不想那么多了,以下是解决方案。参考:https://www.jianshu.com/p/37f823e45496

mysql mysql -uroot
use mysql;
update user set authentication_string=PASSWORD("root") where user='root';
update user set plugin="mysql_native_password";
flush privileges;
quit;
/etc/init.d/mysql restart
mysql -uroot -proot

phpMyAdmin报错

参考:phpMyAdmin报错:mysqli_real_connect(): (HY000/2002): No such file or directory 错误正确解决方法

  1. 使用命令:cat /etc/mysql/mysql.conf.d/mysqld.cnf 找到mysqld.sock位置:socket = /var/run/mysqld/mysqld.sock
  2. 修改php配置文件:vim /usr/local/php/etc/php.ini,修改内容如下:
pdo_mysql.default_socket = /var/run/mysqld/mysqld.sock
mysqli.default_socket = /var/run/mysqld/mysqld.sock

解决 phpMyAdmin 的 “Configuration of pmadb…错误” 问题

参考:http://www.cagesblog.com/index.php/20170420/5/

10 安装 KodExplorer 可道云

上一步的LAMP一键安装脚本,选项中最后一项可选择安装。单独安装最新版待尝试...

11 安装 Seafile 云盘

还没尝试,先挂个参考链接:Seafile server on arm64 (aarch64). - WORKING

你可能感兴趣的:(Linux,技术方案,linux,mysql,java,ubuntu,centos)