[웹 서버] nginx + php + mysql + phpmyadmin 구축
해당 서버는 보안 테스트 목적으로 제작하는 서버로 실제 운영하기엔 취약점 등 문제가 있을 수 있습니다.
서버 - Ubuntu 18.04
1. 필요한 패키지 설치 및 가동
apt remove apache2 // 혹시 모를 아파치 제거
apt install mysql-server mysql-client nginx php7.2-fpm // 패키지 설치로 php 버전은 7버전
systemctl start nginx // nginx 실행
- nginx 실행 확인
2. nginx 및 php 연동
vi /etc/nginx/sites-available/default // nginx 설정 파일 변경
- 설정 파일에서 주석 제거 및 php 버전 정보 수정
- php 정보 페이지 생성
vi /var/www/html/info.php // php 파일 생성
- php 연동 확인
3. php, mysql 연동
vi /etc/php/7.2/fpm/php.ini // MySQLi 라이브러리 사용
- extension=mysqli 주석 해제
4. mysql 계정 생성
mysql
CREATE USER '계정명'@'localhost' IDENTIFIED BY '계정 패스워드';
GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;
quit
5. phpmyadmin 설치
apt install phpmyadmin
- 설치하다보면 웹서버를 재구성하자고 하는데 Tab을 눌러서 apache2나 lighttpd를 선택하지 않고 OK로 넘어감
- dbconfig-commond으로 DB 설정에 관해 묻는데 Yes하고 패스워드 설정
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin // phpmyadmin 관리자 경로 심볼링 링크
- phpmyadmin으로 심볼릭링크를 생성하면 보안에 취약하나 공격자가 들어오길 원해서 그대로 갔다.
vi /etc/nginx/sites-available/default // nginx 설정 파일 변경
- index.php를 추가해서 경로 내 index.php가 있으면 초기화면으로 나타나도록 설정
systemctl restart nginx // nginx 재시작
- /phpmyadmin 경로 접근 시 정상 접근 확인됨
- 로그인은 4번에서 생성한 계정으로 로그인하면 됨
참고 사이트
1) Ubuntu에 Nginx + PHP + MySQL (LEMP) 설치 방법 (velog.io)
Ubuntu에 Nginx + PHP + MySQL (LEMP) 설치 방법
개요 LEMP 스택은 웹 서버를 설치하여 사용하기 위한 오픈 소스 소프트웨어 묶음으로 Linux, nginx, MySQL, PHP로 이루어져있다. 나의 경우는 Ubuntu 18.04.4, Nginx, PHP7, MySQL을 이용하여 구축하였다.
velog.io
2) https://syudal.tistory.com/entry/Ubuntu-Nginx-PHP-%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0
[Ubuntu, Nginx] PHP 연동하기
Nginx와 PHP를 연동하기 위해서는 FastCGI를 사용한다. Nginx는 PHP를 직접 지원하지 않으므로, PHP를 먼저 설치해야한다. 이때 설치되는 php의 버전을 잘 확인해야한다. apt-get install php-fpm 설치후에 설정
syudal.tistory.com
phpMyAdmin : 정의 + 설치 + 연동(ubuntu20.04의 nginx서버에)
phpMyAdmin 정의 및 용도 GUI(그래픽 사용자 인터페이스)를 사용하여 MySQL 및 MariaDB 데이터베이스를 관리하는 웹 기반 응용 프로그램 (오픈소스 소프트웨어) 사용자가 데이터베이스 테이블을 생성,
velog.io
4) https://jjeongil.tistory.com/1417
Ubuntu 18.04 : phpMyAdmin with Nginx 설치 방법, 예제, 명령어
phpMyAdmin은 웹 기반 인터페이스를 통해 MySQL 및 MariaDB 서버를 관리하기 위한 오픈 소스 PHP 기반 도구입니다. phpMyAdmin을 사용하면 MySQL 데이터베이스와 상호 작용하고, 사용자 계정 및 권한을 관리
jjeongil.tistory.com
'내 웹 서버 > 웹 서버' 카테고리의 다른 글
[웹 서버] nginx, php, mysql로 구성된 웹 서버 (4) | 2023.12.21 |
---|---|
[JS] 기초 문법 02 (0) | 2023.04.02 |
[JS] 기초 문법 01 (2) | 2023.04.02 |
도메인 구매하기 (0) | 2023.03.11 |
Git/Github 사용 (0) | 2023.03.06 |