前言
舊安卓手機(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ò)誤正確解決方法
- 使用命令:
cat /etc/mysql/mysql.conf.d/mysqld.cnf找到mysqld.sock位置:socket = /var/run/mysqld/mysqld.sock - 修改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ò)誤” 問題
10 安裝 KodExplorer 可道云
上一步的LAMP一鍵安裝腳本,選項(xiàng)中最后一項(xiàng)可選擇安裝。單獨(dú)安裝最新版待嘗試...
11 安裝 Seafile 云盤
還沒嘗試,先掛個(gè)參考鏈接:Seafile server on arm64 (aarch64). - WORKING