웹사이트 검색

Ubuntu 22.04에 관리자 데이터베이스 관리 도구를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. Ubuntu 서버에 관리자 설치
  3. 보안 관리자 설치
  4. 기본 URL 경로 변경
  5. Apache 기본 인증 추가
  6. 데이터베이스 사용자 설정(MySQL/MariaDB)
  7. 관리자에서 MariaDB 서버에 로그인
  8. 결론

Adminer(이전의 phpMinAdmin)는 MySQL/MariaDB, PostgreSQL, SQLite, MS SQL 및 Oracle과 같은 RDBMS(관계형 데이터베이스 관리 시스템)와 MongoDB 및 기타(플러그인을 통해)와 같은 NoSQL을 모두 지원하는 완전한 기능을 갖춘 데이터베이스 관리 도구입니다. . 데이터베이스를 관리하는 데 쉽게 사용할 수 있는 가볍고 사용자 친화적인 고성능 데이터베이스 관리 도구입니다.

Adminer는 phpMyAdmin의 대안으로 생성되며, PHP로 작성되고 하나의 작은 PHP 파일로 구성되며 Apache 라이선스(또는 GPL v2)에 따라 배포됩니다.

이 자습서에서는 Ubuntu 22.04 서버에 데이터베이스 관리 도구 "Adminer"를 설치하는 방법에 대한 단계별 지침을 보여줍니다.

전제 조건

다음 가이드를 시작하기 전에 다음과 같은 몇 가지 요구 사항이 있어야 합니다.

  • Ubuntu 22.04 서버.
  • 루트/관리자 권한이 있는 루트가 아닌 사용자.\n
  • 데이터베이스 서버가 컴퓨터에 설치되어 있습니다. Adminer 도구는 MySQL/MariaDB, PostgreSQL, SQLite3 및 OracleDB와 같은 여러 RDBMS(관계형 데이터베이스 관리 시스템)를 지원합니다.\n

Ubuntu 서버에 관리자 설치

최신 Ubuntu 시스템(Ubuntu 22.04 포함)에서는 기본적으로 Ubuntu Universe 리포지토리에서 Adminer 데이터베이스 도구를 사용할 수 있습니다. 이를 통해 관리자는 타사 리포지토리나 기본 설치를 위한 추가 단계 없이 Adminer를 보다 쉽게 설치할 수 있습니다.

Adminer 설치를 시작하기 전에 다음 apt 명령을 실행하여 Ubuntu 리포지토리 패키지 인덱스를 업데이트하고 새로 고칩니다.

sudo apt update

이제 다음 명령을 사용하여 "adminer" 패키지를 확인할 수 있습니다. 이 글을 쓰는 시점에 Ubuntu 리포지토리는 "universe/web" Ubuntu 리포지토리에서 사용할 수 있는 최신 버전의 Admuiner v4.8을 제공합니다. 또한 MySQL/MariaDB, PostgreSQL 및 SQLite3과 같은 여러 RDBMS용 PHP 드라이버를 포함하는 Adminer에 대한 일부 패키지 종속성이 있음을 알 수 있습니다.

sudo apt info adminer

이제 아래의 apt 명령을 사용하여 "Adminer" 데이터베이스 관리 도구를 설치할 수 있습니다. Y를 입력하여 설치를 확인하고 Enter 키를 눌러 계속하면 "관리자" 설치가 시작됩니다.

sudo apt install adminer

"Adminer" 설치가 완료되면 관리자 "/etc/apache2/conf-available/adminer.conf"에 대한 기본 Apache2 구성을 활성화해야 합니다.

다음 명령을 실행하여 Apache2 웹 서버에 대한 관리자 구성을 활성화합니다.

sudo ln -s /etc/apache2/conf-available/adminer.conf /etc/apache2/conf-enabled/

다음으로 다음 명령을 사용하여 Apache2 구성을 확인하고 확인합니다. 그런 다음 Apache2 서비스를 다시 시작하여 새 변경 사항을 적용합니다.

sudo apachectl configtest
sudo systemctl restart apache2

이제 기본 URL 경로 "/adminer"(예: http://192.168.5.75/adminer)를 사용하여 웹 브라우저를 통해 액세스할 수 있습니다. 그리고 "Adminer" 데이터베이스 관리 도구의 로그인 페이지를 가져와야 합니다.

Adminer는 PostgreSQL용 pgAdmin 또는 MySQL/MariaDB만 지원하는 phpMyAdmin과 같은 데이터베이스 관리 도구와는 매우 다른 다중 데이터베이스 관리 도구입니다.

"Adminer"를 사용하여 MySQL/MariaDB, PostgreSQL, SQLite 및 OracleDB와 같은 여러 RDBMS에 연결할 수 있습니다. "Adminer"를 사용하여 데이터베이스에 연결하려면 "Adminer" 로그인 페이지에서 데이터베이스 사용자, 암호 및 데이터베이스 세부 정보를 입력하기만 하면 됩니다.

보안 관리자 설치

Adminer를 설치한 후 이제 다른 방법을 사용하여 설치를 보호합니다.

아래에서 두 가지 방법을 사용하여 "Adminer" 설치를 보호합니다.

  • 기본 URL 경로 변경: 기본 관리자 설치는 공격자가 추측할 수 있는 경로 URL "/adminer"에서 사용할 수 있습니다. 기본 URL 경로를 변경하면 관리자 설치에 대한 URL 경로 액세스를 알고 있기 때문에 관리자의 보안이 강화됩니다.\n
  • 기본 인증 추가: 관리자 로그인 페이지를 가져오기 전에 인증을 추가합니다. 기본 인증은 Apache2 모듈 basic_auth를 사용하여 만들 수 있습니다.\n

기본 URL 경로 변경

기본 관리자 설치에는 서버에서 관리자 데이터베이스 관리 도구를 설정하는 데 사용할 수 있는 Apache2 구성 파일 "/etc/apache2/conf-available/adminer.conf"가 포함되어 있습니다.

다음 명령을 사용하여 "/etc/apache2/conf-available/adminer.conf" 파일을 편집합니다.

sudo nano /etc/apache2/conf-available/adminer.conf

행 맨 위에는 Adminer의 기본 URL 경로를 정의하는 "Alias ..." 옵션이 있습니다. 데모에서는 다음 구성을 사용하여 기본 URL 경로를 "/adminer"에서 사용자 지정 경로 "/mydbadmin"으로 변경합니다.

Alias /mydbadmin /etc/adminer

완료되면 파일을 저장하고 닫습니다.

다음으로 다음 명령을 실행하여 Apache2 구성을 확인하고 확인합니다. "Syntax OK"와 같은 출력 메시지가 표시되면 Apache2 구성이 올바른 것입니다.

sudo apachectl configtest

이제 Apache2 서비스를 다시 시작하여 아래 명령을 사용하여 새 변경 사항을 적용하십시오.

sudo systemctl restart apache2

마지막으로 새 URL 경로 "/mydbadmin"(예: http://192.168.5.75/mydbadmin)에서 관리자 설치를 방문할 수 있습니다. 그리고 Adminer 데이터베이스 관리 도구의 로그인 페이지를 가져와야 합니다.

Apache 기본 인증 추가

기본 경로 URL 설치를 변경한 후 Apache2 모듈 "basic_auth"를 사용하여 관리자에 기본 인증을 추가할 시간입니다.

다음 명령을 실행하여 Apache 기본 인증을 위한 새 사용자 파일 "/etc/adminer/.htpasswd"를 만듭니다. 이 예에서는 Apache 기본 인증을 위한 새 사용자를 "dbadmin"으로 정의합니다.

이제 사용자 "dbadmin"의 비밀번호를 입력하고 비밀번호를 반복하십시오. 그리고 Apache 기본 인증을 위한 새로운 사용자 파일이 생성됩니다.

sudo htpasswd -B -c /etc/adminer/.htpasswd dbadmin

새 사용자를 추가하려는 경우 새 데이터베이스 사용자 파일을 생성하는 것을 의미하는 "-c" 옵션을 제거할 수 있습니다. 따라서 새 사용자를 추가하는 명령은 다음과 같아야 합니다.

sudo htpasswd -B /etc/adminer/.htpasswd newuser

그런 다음 다음 명령을 사용하여 "/etc/apache2/conf-available/adminer.conf" 구성을 편집합니다.

sudo nano /etc/apache2/conf-available/adminer.conf

파일에 다음 구성을 추가합니다. 구성을 사용하면 사용자 파일 "/etc/adminer/.htpasswd"의 유효한 사용자만 로그인하고 URL 경로 "<에서 관리자 데이터베이스 관리 도구에 액세스할 수 있습니다./mydbadmin\.

<Location /mydbadmin>
  AuthType Basic
  AuthName "Restricted Resource"
  AuthBasicProvider file
  AuthUserFile /etc/adminer/.htpasswd
  Require valid-user
</Location>

완료되면 파일을 저장하고 닫습니다.

이제 다음 명령을 실행하여 Apache 구성 파일을 확인하고 확인합니다. 그런 다음 Apache2 서비스를 다시 시작하여 새 변경 사항을 적용합니다.

sudo apachectl configtest
sudo systemctl restart apache2

마지막으로 웹 브라우저로 돌아가 관리자 URL 설치(예: http://192.168.5.75/mydbadmin)를 방문합니다. 이제 관리자 로그인 페이지를 가져오기 전에 Apache 기본 인증을 묻는 메시지가 표시됩니다.

사용자 "dbadmin"과 암호를 입력한 다음 "로그인"을 클릭하십시오. 그리고 관리자 로그인 페이지를 가져와야 합니다.

데이터베이스 사용자 설정(MySQL/MariaDB)

이 예에서는 다른 서버에서 MariaDB 데이터베이스를 사용합니다. 따라서 비 localhost에 대한 사용자 이름 및 암호와 같은 데이터베이스 세부 정보를 설정해야 합니다.

새 MariaDB 사용자를 만들기 전에 MariaDB 구성 "/etc/mysql/mariadb.conf.d/를 통해 설정할 수 있는 개인 IP 주소에서 실행되도록 MariaDB를 설정해야 합니다. 50-server.cnf\.

아래 명령을 사용하여 MariaDB 구성 파일 "/etc/mysql/mariadb.conf.d/50-server.cnf"을 편집합니다.

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

기본 "listen" 주소를 MariaDB 서버 사설 IP로 변경합니다. 이 예에서 MariaDB 서버 IP 주소는 \192.168.5.20\입니다.

listen   = 192.168.5.20

완료되면 파일을 저장하고 닫습니다.

이제 다음 명령을 실행하여 MariaDB 서비스를 다시 시작하고 새로운 변경 사항을 적용하십시오.

sudo systemctl restart mariadb

다음으로 MySQL/MariaDB 서버에 로그인하고 아래의 mysql 명령을 실행합니다.

sudo mysql -u root -p

이제 다음 MariaDB 쿼리를 실행하여 MariaDB 서버에 대한 새 사용자 및 암호를 만듭니다. 이 예에서 MariaDB 사용자 "[email "는 IP 주소가 "192.168.5.75"인 관리자 서버에서 MariaDB 서버에 연결할 수 있습니다.

CREATE USER 'dbadmin'@'192.168.5.75' IDENTIFIED BY 'dbpassword';
GRANT ALL PRIVILEGES ON *.* TO 'dbadmin'@'192.168.5.75' WITH GRANT OPTION;
FLUSH PRIVILEGES;

그런 다음 다음 쿼리를 실행하여 "[email " 사용자의 권한이 MariaDB 서버의 모든 데이터베이스에 액세스할 수 있는지 확인하고 확인합니다.

SHOW GRANTS FOR ;
quit

이제 MariaDB 서버에서 실행 중인 UFW 방화벽이 있는 경우 MariaDB 액세스 보안을 위한 새로운 UFW 규칙을 추가할 수도 있습니다. 관리자 서버 IP 주소 "192.168.5.75"에서만 MySQL/MariaDB 포트를 허용하려면 다음 명령을 실행하십시오.

sudo ufw allow from 192.168.5.75 to 192.168.5.20 port 3306 proto tcp comment 'allow mysql access for Adminer'
sudo ufw reload

그런 다음 아래 명령을 사용하여 UFW 규칙 목록을 확인합니다. 그리고 UFW 방화벽에서 사용할 수 있는 포트 "3360/tcp"의 MySQL/MariaDB 액세스에 대한 새로운 규칙이 표시되어야 합니다.

sudo ufw status

관리자에서 MariaDB 서버에 로그인

시스템에서 데이터베이스 사용자를 설정한 후 Adminer 데이터베이스 관리 도구에서 데이터베이스 서버에 연결할 시간입니다.

관리자 로그인 페이지에서 세부 정보 데이터베이스 호스트, 사용자 이름 및 암호를 입력합니다. 그런 다음 "로그인" 버튼을 클릭하여 로그인하십시오.

로그인 후 관리자 대시보드에서 데이터베이스를 관리할 수 있습니다. 또한 현재 서버에 연결하는 데 사용 중인 데이터베이스 버전과 사용자를 확인할 수 있습니다.

결론

축하합니다! 이제 Ubuntu 22.04에 Adminer 데이터베이스 관리 도구를 성공적으로 설치했습니다. 또한 기본 URL 경로를 변경하고 Apache 모듈 basic_auth를 사용하여 기본 인증을 추가하여 관리자 설치를 보호했습니다. 마지막으로 Adminer를 사용하여 로그인하는 데 사용할 수 있는 데이터베이스 사용자(MySQL/MariaDB)도 구성했습니다.