[웹 서버] nginx + php + mysql + phpmyadmin 구축
2023. 12. 20. 16:59
해당 서버는 보안 테스트 목적으로 제작하는 서버로 실제 운영하기엔 취약점 등 문제가 있을 수 있습니다.
서버 - 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)
2) https://syudal.tistory.com/entry/Ubuntu-Nginx-PHP-%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0
4) https://jjeongil.tistory.com/1417
'내 웹 서버 > 웹 서버' 카테고리의 다른 글
[웹 서버] 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 |