본문 바로가기
클라우드노트/오라클클라우드(OCI)

(4) 오라클 클라우드에서 MariaDB, phpMyAdmin 설치

by 테크한스 2021. 11. 29.

1 (1) 오라클 클라우드 Free Tier 가입 (VM2개,100G 하드, 10TB 트래픽 평생무료)
2 (2) 오라클 클라우드 Free Tier 무료계정에 linux,nginx,mariadb,PHP,wordpress 몽땅 쓸어넣자
3 (3) 오라클 클라우드에서 unbuntu, nginx, php7 설치
4 (4) 오라클 클라우드에서 mariadb, phpmyadmin 설치
5 (5) 오라클 클라우드에서 도메인 설정, 샌드메일 설치
6 (6) 오라클 클라우드에서 nginx, https 사용을 위한 무료 SSL인증서 설정
7 (7) 오라클 클라우드에서 사용하는 워드프레스(wordpress) 설정
8 (8) 오라클 클라우드에서 무료로 사용하는 워드프레스, DB 백업과복구
9 (9) 오라클 클라우드에서 무료로 사용하는 오브젝트스토리지(S3)+아카이브 20G
10 (10) 오라클클라우드에서 무료로 제공하는 블록볼륨을 연결해 보자
11 (11) 오라클클라우드 프리티어 마지막 혜택 - Ampere A1 4CPU 24G
12 (12) 오라클 클라우드에서 무료로 제공하는 오라클 데이터베이스 ATP생성과 연결

 

이번시간은 오라클 클라우드 인스턴스에 MariaDB를 설치하겠습니다.

 

마리아디비의 apt캐시 정책을 보겠습니다.

ubuntu@bluehorse:/var/www/html$ sudo apt-cache policy mariadb-server
mariadb-server:
  Installed: 1:10.6.5+maria~bionic
  Candidate: 1:10.6.5+maria~bionic
  Version table:
 *** 1:10.6.5+maria~bionic 500
        500 https://mirror.yongbok.net/mariadb/repo/10.6/ubuntu bionic/main ppc64el Packages
        500 https://mirror.yongbok.net/mariadb/repo/10.6/ubuntu bionic/main arm64 Packages
        500 https://mirror.yongbok.net/mariadb/repo/10.6/ubuntu bionic/main amd64 Packages
        100 /var/lib/dpkg/status
     1:10.6.4+maria~bionic 500
        500 https://mirror.yongbok.net/mariadb/repo/10.6/ubuntu bionic/main ppc64el Packages
        500 https://mirror.yongbok.net/mariadb/repo/10.6/ubuntu bionic/main arm64 Packages
        500 https://mirror.yongbok.net/mariadb/repo/10.6/ubuntu bionic/main amd64 Packages
     1:10.6.3+maria~bionic 500
        500 https://mirror.yongbok.net/mariadb/repo/10.6/ubuntu bionic/main ppc64el Packages
        500 https://mirror.yongbok.net/mariadb/repo/10.6/ubuntu bionic/main arm64 Packages
        500 https://mirror.yongbok.net/mariadb/repo/10.6/ubuntu bionic/main amd64 Packages
     1:10.1.48-0ubuntu0.18.04.1 500
        500 http://ap-chuncheon-1-ad-1.clouds.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages
     1:10.1.29-6 500
        500 http://ap-chuncheon-1-ad-1.clouds.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
ubuntu@bluehorse:/var/www/html$

 

마리아디비 설치 스크립트를 확인해 보겠습니다. (아래 마리아디비 홈페이지 들어가서 찬찬히 보세요)

https://downloads.mariadb.org/mariadb/repositories/#mirror=serverion

 

Download MariaDB Server - MariaDB.org

REST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server"

mariadb.org

 

ubuntu 18.04 LTS "bionic"

MariaDB 10.6

 

설치 버전은 가능한 보안상의 이유로 10.3 이상을 모든 패키지에서 요구하는 분위기입니다.

그러므로 설치하면 가능한 상위 버전을 설치할 것을 추천드립니다.

 

장기 지원 안정 시리즈는 MariaDB 10.6 , 현재 단기 지원 안정 시리즈는 MariaDB 10.9 , 현재 개발 시리즈는 MariaDB 10.10 및 MariaDB 10.11 입니다.

 

(최신)

sudo apt-get install apt-transport-https curl
sudo curl -o /etc/apt/trusted.gpg.d/mariadb_release_signing_key.asc 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo sh -c "echo 'deb https://tw1.mirror.blendbyte.net/mariadb/repo/10.6/ubuntu bionic main' >>/etc/apt/sources.list"

 

또는 

sudo apt-get install software-properties-common dirmngr apt-transport-https
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mirror.yongbok.net/mariadb/repo/10.6/ubuntu bionic main'

 

sudo apt update
sudo apt install mariadb-server

 

설치 중에 

After this operation, 199 MB of additional disk space will be used

Do you want to continue? [Y/n] y

로 진행합니다.

 

(update) 최근 미러사이트 서비스가 원할하지 않아서 직접 마리아디비 사이트가 진행도 가능합니다.

 

sudo apt-get install apt-transport-https curl
sudo curl -o /etc/apt/trusted.gpg.d/mariadb_release_signing_key.asc 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo sh -c "echo 'deb https://tw1.mirror.blendbyte.net/mariadb/repo/10.6/ubuntu bionic main' >>/etc/apt/sources.list"
sudo apt-get update
sudo apt-get install mariadb-server

 

설치 후에 설치확인해 보겠습니다.

ubuntu@bluehorse:/var/www/html$ service mysql status
● mariadb.service - MariaDB 10.6.5 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           └─migrated-from-my.cnf-settings.conf
   Active: active (running) since Mon 2021-11-29 09:30:30 KST; 11h ago
     Docs: man:mariadbd(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 1218 (mariadbd)
   Status: "Taking your SQL requests now..."
    Tasks: 9 (limit: 1118)
   CGroup: /system.slice/mariadb.service
           └─1218 /usr/sbin/mariadbd

마리아디비의 기본적인 설정은 아래 명령어로 계속 진행해 줍니다. (계정 정보 등)

ubuntu@bluehorse:/var/www/html$ sudo mysql_secure_installation

Enter current password for root (enter for none): (Enter 키)
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] y
New password: MariaDB에 사용할 암호를 넣으세요.
Re-enter new password: MariaDB에 사용할 암호를 한번 더 넣으세요.
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] y
Reload Privilege tables now? [Y/n] y

 

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

 

설치가 마무리 되었습니다.

 

마리아디비가 설치되었으니 다음은 php-mysql 모듈을 설치합니다.

ubuntu@bluehorse:/var/www/html$ sudo apt-cache policy php7.4-mysql
php7.4-mysql:
  Installed: 7.4.26-1+ubuntu18.04.1+deb.sury.org+2
  Candidate: 7.4.26-1+ubuntu18.04.1+deb.sury.org+2
  Version table:
 *** 7.4.26-1+ubuntu18.04.1+deb.sury.org+2 500
        500 http://ppa.launchpad.net/ondrej/php/ubuntu bionic/main amd64 Packages
        100 /var/lib/dpkg/status
ubuntu@bluehorse:/var/www/html$

설치가 되지 않았다면 다음의 명령어로 설치합니다.

ubuntu@bluehorse:/var/www/html$ sudo apt-get install php7.4-mysql

다음은 디비서버의 캐릭터셋을 설정합니다.

언어셋은 utf8mb4 로 합니다. 

mariadb.cnf 파일이 없다면 만들어 주어야 합니다.

ubuntu@bluehorse:/var/www/html$ sudo touch /etc/mysql/conf.d/mariadb.cnf
ubuntu@bluehorse:/var/www/html$ sudo nano /etc/mysql/conf.d/mariadb.cnf

nano 에디터 화면에서 다음을 추가합니다.

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
collation-server = utf8mb4_unicode_ci
character-set-server = utf8mb4
collation_server = utf8mb4_unicode_ci
character_set_server = utf8mb4

Ctrl X 하고 Y 버튼 누르고 엔터로 나옵니다. (저장)

 

그런후에 마리아디비 재기동합니다.

ubuntu@bluehorse:/var/www/html$ sudo service mysql restart

이렇게 한 후에 ubuntu서버를 리부트합니다. (그러나 재기동 추천 안드립니다. 터미널에서 조심히 가능)

ubuntu@bluehorse:/var/www/html$ sudo shutdown now -r

 

재기동 후에 설정되어 있는 고정 IP로 다시 브라우져에서 호출해보고 페이지가 잘보이는지 확인해 보고

만약에 화면이 로드가 안되고 하얀화면에 에러가 발생된다면 아래 명령어를 실행합니다.

sudo iptables -F

 

계속해서 phpMyAdmin 을 설치하겠습니다.

이 프로그램은 웹에서 DB를 관리할 수 있는 기능을 제공합니다.

 

그러나 그 전에 이미 앞서 설치한 마리아디비에 기본 세팅을 하고

다음으로 넘어가야 합니다. (유저 생성, 기본 데이터베이스 생성 등)

작업 내용은 별도 아래 링크를 참조해서 반드시 설정하고 넘어가세요

 

https://techhans.tistory.com/10

 

디비를 사용하기 위한 기본 설정 (grant, revoke 등)

디비를 사용하기 위한 기본 설정을 알아보겠습니다 디비(Dababase)를 어떤 제품을 선택하든 기본적으로 설정해야 하는 것이 1) 사용자 설정 (매번 root로 작업할 것인가? root는 시스템설정 필요시만

techhans.tistory.com

 

 

앞의 기본 디비설정 부분이 완료가 안되면 아래설치하면서 상당히 삽질이 될 수 있으므로

한스텝, 한스텝 완료되면 다음 단계로 진행하기를 추천드립니다.

 

아래 패키지를 다운을 받아 보도록 하겠습니다. 최신 버전이 phpMyAdmin 5.1.1 이네요

 

https://www.phpmyadmin.net/downloads/

 

Downloads

Your download should start soon, if not please click here. Please verify the downloaded file Please take additional steps to verify that the file you have downloaded is not corrupted, you can verify it using the following methods: phpMyAdmin needs your con

www.phpmyadmin.net

 

아래와 같은 순서로 phpMyAdmin 5.1.1 를 설치하겠습니다.

 

하기 명령어를 수행하기전에 /var 이후 디렉토리 권한이 root 이므로

우리가 대상인 디렉토리만 root 에서 ubuntu로 권한 변경하겠습니다.

chown -R ubuntu:ubuntu /var/www

 

설치후에 접근 URL이 http://도메인주소/phpmyadmin (접근URL 바꾸려면 하단의 심볼링 링크 이름을 수정)

wget -O /var/www/phpmyadmin511.zip https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip
unzip /var/www/phpmyadmin511.zip -d /var/www
ln -s /var/www/phpMyAdmin-5.1.1-all-languages /var/www/html/phpmyadmin

심볼릭 링크를 사용한 이유는 웹에서 디비를 관리하는 것에 대한 보안강화를 위한 것이라고 생각합니다.

 

설치후에 불필요한 파일은 지우겠습니다.

rm /var/www/phpmyadmin4.9.zip

원본경로는 /var/www/phpMyAdmin-5.1.1-all-languages 이며

링크경로는 /var/www/html/mypagedb 로

설정되었습니다.

 

브라우져 접속은 http://도메인 또는 IP/phpmyadmin 가 되겠습니다.

 

마리아디비 설치할때 설정한 root 계정의 패스워드를 입력하면 다음과 같은 메인 화면으로 시작합니다.

그러나 해당 어드민 페이지에 root 계정이 보안상의 이유로 거절되어 패스워드가 잘못된거 처럼 뱉을 수 있으니

 

터미널에서 mysql -u root -p 로 패스워드로 접속하여

새로운 웹접속용 아이디를 아래와 같이 패스워드와 함께 다시 만들어 접속을 시도합니다. 

(원격접속이 가능한 기본 디비 계정을 만들어야 한다고 중간쯤에 링크를 걸어 두었으니 내용 참조하세요)

create user '아이디'@'%' identified by '비밀번호';
grant all privileges on *.* to '아이디'@'%';

이렇게 접속하면 새로 만든 아이디로 접속이 될 것입니다. 

여기까지 화면이 보여도 몇가지 해결해야 할 부분이 있습니다.

해당 화면 하단을 내려보면 아래와 같은 에러가 보입니다.

 

일부 확장 기능들이 비활성태인것입니다.

The $cfg[‘TempDir’] (./tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.

 

설정파일은 암호화 문자열 (blowfish_secret)이 필요합니다.

phpMyAdmin의 비활성화 부분을 제거합니다.

하기의 여기를 클릭하고요

하단의 Create 링크를 누르면 됩니다.

이제 하단의 메시지가 없어졌을 것입니다.

 

마지막으로 암호화 문자열 (blowfish_secret)을 설정하겠습니다.

 

이것은 phpMyAdmin 설정파일인 config.inc.php의 blowfish_secret값이 정해져 있지 않아서 발생

우선 /var/www/phpMyAdmin-5.1.1-all-languages/config.sample.inc.php를 확인하고 이름을 변경 시도

 

ubuntu@bluehorse:~$ mv /var/www/phpMyAdmin-5.1.1-all-languages/config.sample.inc.php /var/www/phpMyAdmin-5.1.1-all-languages/config.inc.php

그이후에 /var/www/phpMyAdmin-5.1.1-all-languages/config.inc.php 파일의 17번 라인 내용인

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

저기 암호화문자열을 생성해서 넣어주어야 합니다.

how? 어떻게?

 

구글에서 'Blowfish Hash Generator'를 찾으면 된다고 합니다.

추천하는 사이트는 

https://bcrypt-generator.com/

 

Bcrypt-Generator.com - Online Bcrypt Hash Generator & Checker

Bcrypt-Generator.com is a online tool to check Bcrypt hashes. You can also use it to generate new Bcrypt hashes for your other applications that require a Bcrypt encrypted string or password

bcrypt-generator.com

여기 Encrypt 항목에 적절한 값을 넣고 Hash! 클릭하면 생성되고 이값을 저위 항목에 넣어주면 됩니다.

글쎄 이거 머하는 건지 ;;;

 

다음 한개 에러메시지 남았네요

The $cfg[‘TempDir’] (./tmp/) is not accessible. 임시디렉토리 tmp 폴더 만들기 입니다.

자 이것은 아래 문장을 실행하면 메시지가 없어질 것입니다.

mkdir /var/www/phpMyAdmin-5.1.1-all-languages/tmp
sudo chgrp www-data /var/www/phpMyAdmin-5.1.1-all-languages/tmp
sudo chmod 774 /var/www/phpMyAdmin-5.1.1-all-languages/tmp

다시 로그인하면 해당 하단의 에러메시지가 이제 보이지 않을 것입니다.

 

이번 시간은 여기까지 하겠습니다.

 


 

(참고) 무료클라우드에 대한 벤더별 비교 영상은 아래를 확인해 보세요

 

 

 

 

1 (1) 오라클 클라우드 Free Tier 가입 (VM2개,100G 하드, 10TB 트래픽 평생무료)
2 (2) 오라클 클라우드 Free Tier 무료계정에 linux,nginx,mariadb,PHP,wordpress 몽땅 쓸어넣자
3 (3) 오라클 클라우드에서 unbuntu, nginx, php7 설치
4 (4) 오라클 클라우드에서 mariadb, phpmyadmin 설치
5 (5) 오라클 클라우드에서 도메인 설정, 샌드메일 설치
6 (6) 오라클 클라우드에서 nginx, https 사용을 위한 무료 SSL인증서 설정
7 (7) 오라클 클라우드에서 사용하는 워드프레스(wordpress) 설정
8 (8) 오라클 클라우드에서 무료로 사용하는 워드프레스, DB 백업과복구
9 (9) 오라클 클라우드에서 무료로 사용하는 오브젝트스토리지(S3)+아카이브 20G
10 (10) 오라클클라우드에서 무료로 제공하는 블록볼륨을 연결해 보자
11 (11) 오라클클라우드 프리티어 마지막 혜택 - Ampere A1 4CPU 24G
12 (12) 오라클 클라우드에서 무료로 제공하는 오라클 데이터베이스 ATP생성과 연결

 

댓글