Linux Deploy Ubuntu 18.04 arm64 安裝筆記

前言

舊安卓手機(jī)利用起來當(dāng)個(gè)小服務(wù)器,部署點(diǎn)項(xiàng)目玩玩,也不用買樹莓派了。
arm上安裝lamp是真的坑多啊,折騰了一整天,終于搞定了,趕緊備份下系統(tǒng)。

  • 機(jī)型:Huawei P8
  • 配置:Kirin 935 + 3g + 64g
  • 系統(tǒng):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

2 部署 ubuntu 18.04 arm64

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 設(shè)置 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一鍵安裝包
由于當(dāng)前平臺是arm64,LAMP一鍵安裝腳本的作者并沒有測試和支持arm平臺,目前遇到的問題和解決方案已經(jīng)列出。

  • 問題1:
    php選7.0.33版本會編譯不通過,查閱資料發(fā)現(xiàn)應(yīng)該是php7.0的一個(gè)bug,Bug#73898 ,然后選擇 php-7.1.33版本編譯通過。
  • 問題2:
    apache編譯成功啟動報(bào)錯(cuò),咨詢了腳本作者,是apr版本的問題,修改了 config.sh apr-1.7.0修改為apr-1.6.5,支持arm64,以下命令中clone的倉庫地址我已經(jīng)改為自己碼云fork的倉庫并修改了apr的版本。
  • 問題3:
    mysql不是編譯安裝的,所以除此之外,還要手動編譯一個(gè)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架構(gòu)下Ubuntu安裝配置mysql5.7

安裝或重裝備份的系統(tǒng)時(shí),需要重新執(zhí)行以下命令才能啟動mysql

ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Android使用了一個(gè)激活的特殊內(nèi)核補(bǔ)丁CONFIG_ANDROID_PARANOID_NETWORK。此修補(bǔ)程序允許網(wǎng)絡(luò)訪問屬于具有硬編碼ID的特定特殊組的系統(tǒng)用戶。
這是因?yàn)锳ndroid通常僅在特定應(yīng)用具有網(wǎng)絡(luò)權(quán)限時(shí)才將用戶(即應(yīng)用)添加到這些組
說是Android內(nèi)核已使用CONFIG_ANDROID_PARANOID_NETWORK進(jìn)行編譯??梢酝ㄟ^將mysql用戶添加到aid_inet和aid_net_raw組來修復(fù)它。

usermod -a -G aid_inet,aid_net_raw mysql

錯(cuò)誤信息

本次使用的是參考1里面的教程,安裝完會有個(gè)錯(cuò)誤,但是貌似不影響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發(fā)現(xiàn)不用輸入密碼也能登入,并且改了密碼也沒用??赡苁莂rm版的問題多多吧,暫時(shí)不想那么多了,以下是解決方案。參考:http://www.itdecent.cn/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報(bào)錯(cuò)

參考:phpMyAdmin報(bào)錯(cuò):mysqli_real_connect(): (HY000/2002): No such file or directory 錯(cuò)誤正確解決方法

  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,修改內(nèi)容如下:
pdo_mysql.default_socket = /var/run/mysqld/mysqld.sock
mysqli.default_socket = /var/run/mysqld/mysqld.sock

解決 phpMyAdmin 的 “Configuration of pmadb…錯(cuò)誤” 問題

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

10 安裝 KodExplorer 可道云

上一步的LAMP一鍵安裝腳本,選項(xiàng)中最后一項(xiàng)可選擇安裝。單獨(dú)安裝最新版待嘗試...

11 安裝 Seafile 云盤

還沒嘗試,先掛個(gè)參考鏈接:Seafile server on arm64 (aarch64). - WORKING

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容