스마트폰으로 웹 서버, DB - 2 [ 안드로이드 루팅, 리눅스 디플로이 설치 ]
목차 ------------------
------------------------
조건
갤럭시S7 ( 국내용 ) 엑시노스
centos7 , tomcat7 or 8, java , mysql 5.7
목표
루팅 후 리눅스 설치
나는 기존 웹서버를 centos7, java , tomcat으로 구동하고 있었음
그래서 스마트폰에 옮길 계획이었음.
단계
1. 루팅은 기기마다 조건이 다르고, 설치하는게 달라서 직접 설명하지 않음
루팅이 필요한이유 - 관리자 권한을 얻으려고
루팅하면 리눅스 명령어, sudo, su 를 쓸수있는 작업이다. 별게아님
( 생각보다 귀찮은 작업이긴함.. )
2. 리눅스 디플로이 설치
https://blog.djjproject.com/192
해당 글이 제일 좋았음.
해당 글은 debian 기준이다.
나는 centos7 버전으로 작성하겠다.
언급안한건 기본으로 선택
- centos 선택하면 버전은 7밖에 없음
- 아키텍처는 aarch64
- username 은 root로 한다. 그냥 root권한으로 접근해라 난 user추가해서 하려는데 안되더라
- password는 비번 알아서 설정
- localization 은 en_US.UTF-8
- init, ssh 는 위의 블로그글대로 하면 됨.
다음 내용은 블로그글처럼 진행
설치는 10~20분 정도 걸릴 수 있음
에러발생시
--- 아래메시지처럼 설치시 작동안하는 경우 ---
<<< deploy
>>> deploy
https://www.youtube.com/watch?v=LatmMA7rHlw&t=133s
참고
-----------------------------------
3. 안드로이드 기기의 CPU 버전에 따라, java, mysql 설치 버전이 달라진다.
리눅스디플로이에서 centos 설치할 때도 아키텍처의 종류를 여러가지 설정이 가능하다.
이건 CPU에 맞추서 설치를 해야한다.
그렇지 않을경우 이런 메시지가 뜬다
Not a compatible architecture: x86_64
cpu 검색법
# arch -- 해당 cpu의 유형을 보여줌
# getconf LONG_BIT -- 비트 확인
갤럭시s7은 aarch64 이었다.
java는 arm64용을 사용했던걸로 기억한다. ( 설치가 안되면 다른거 설치해보면 된다 )
centos java 설치방법은 다른 블로그를 참고 바란다.
4. mysql 5.7 버전을 사용하고 있어서 해볼려고 진짜 개피똥사면서 고생했는데....
안됨.
##안되는 이유
- aaarch64 에서는 8 버전 부터 사용 가능하다. 5버전은 설치파일 자체가 없음
https://dev.mysql.com/doc/mysql-repo-excerpt/8.0/en/linux-installation-yum-repo.html
- 8버전을 설치는 가능. 실행이 안됨.
- systemclt를 지원하지 않음 ( 루팅으로는 불가능 )
해당 자료보면 systemclt 로 실행한다.
루팅으로는 systemclt 이게 지원이 안됨. ( 아래 글이 엄청나다 .. 이걸 알아낸게 대단한거같음 )
https://whitewing4139.tistory.com/22?category=1056251
service를 사용해도 systemclt로 리다이렉트 되서 똑같음.
etc/init.d/mysql start로도 실행이 실행해봤지만 안됨.
systemclt 가 안되는거와 비슷한이유로 안드로이드 안에 따로 동작하는 리눅스에서는 한계점이 있음.
- 소켓연결이 안된다는 에러 발생
( mysql.sock 파일이 설치가 안되어있음. 여러 자료를 찾아본 내 추측으로는 해당 파일이 centos 에 설치되지 않고 안드로이드에 설치된것으로 추측 )
그리고 mysql 소켓도 연결되어있지 않음
결과
- centos7, tomcat 8 설치 가능 , 웹 서버 이용가능 (tomcat)
- centos7 aarch64에서 mysql 5.7 사용 불가
- centos7 aarch64에서 maria 8 설치 가능, 실행 불가 (3일 밤새 해도 안됨, 될 수도 있는데, 내 결론은 안됨. 되면 알려주기 바람 )
- centos가 안되서 debian 으로 시도.
- debian은 mysql 5.5 가능. 5.7 불가 ( 5.5를 누가 쓰냐 .... 진짜 가볍게 사용할 목적으로 개발하려면 되긴하겠지만... )
- 5.7 이 안되서 결국 포기
개인적인 결과
db 서버가 결국은 필요해서... 국내 클라우드를 사용함 (싸니까)
기존은 google cloud platform 사용했는데... 비쌈. 환율올라서 더비쌈. 그리고 google 생각보다 구림.. 역시 아마존이지만 이건또 구글보다 더비쌈