# 우분투 설치 Ubuntu 20.04 LTS 이용한 아파치 php mysql 설치기
이제 부터 보게 될 예제는 도커를 사용하여 한개의 이미지(Ubuntu 20.04) 와
세개의 컨테이너를 연습하게 될 것입니다.
1. 기본 우분투 컨테이너 만들어 apache / php 설치
$ docker pull ubuntu:20.04
# 컨테이너 실행 외부 포트 9000 도커 우분투 아파치 접속 80
$ docker run -i -t -p 9000:80 ubuntu:20.04 /bin/bash
# 아파치 설치
$ apt-get update
$ apt-get install apache2 -y
# 아파치 시작
$ service apache2 start
# 아파치 확인
http://ipip:9000/
# php 설치
$ apt-get install php -y
# vim 설치
$ apt-get install vim -y
# 아파치 재시작
$ service apache2 restart
# 웹문서 저장
$ vi /var/www/html/info.php
# phpinfo 확인
http://ipip:9000/info.php
2. 로컬호스트의 DocumentRoot 와 docker 웹 경로 동기화 (-v)
# DocumentRoot localhost 와 동기화
$ docker run -i -t --name naya_AP -p 9002:80 -v /root/www:/var/www/html/ ubuntu:20.04 /bin/bash
1번 apache + php 설치 후 접속
http://ipip:9002/
3. mysql 추가 버전 컨테이너 만들기
# DocumentRoot localhost 와 동기화
$ docker run -i -t --name naya_APM -p 9004:80 -v /root/www:/var/www/html/ ubuntu:20.04 /bin/bash
1번 apache + php 설치 후
# mysql 설치
$ apt-get install mysql-server -y
$ apt-get install php7.4-mysql -y
# 아파치 재시작
$ service apache2 restart
$ apt-get install systemd -y
# mysql start
$ service mysql restart
# mysql 접속
$ mysql -uroot -p
$ exit
http://ipip:9004/
# 사용자 및 데이터베이스 추가
create database examplegg;
create user 'examplegg'@'localhost' identified by '비밀번호';
create user 'examplegg'@'%' identified by '비밀번호';
grant all privileges on *.* to 'examplegg'@'localhost';
grant all privileges on *.* to 'examplegg'@'%';
flush privileges;
# examplegg 접속
$ mysql -uexamplegg -p examplegg
# 테이블 생성
CREATE TABLE `student_table` (
`sno` int(11) NOT NULL,
`name` char(10) DEFAULT NULL,
`det` char(20) DEFAULT NULL,
`addr` char(80) DEFAULT NULL,
`tel` char(20) DEFAULT NULL,
PRIMARY KEY (`sno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
# data insert
insert into student_table (sno, name,det,addr,tel) values ('1','hong','1234','seoul','010-0000-2222');
# 웹 에서 mysql 연동 확인
$ vi php_mysql.php
<pre>
<?php
$conn = mysqli_connect(
'localhost',
'examplegg',
'패스워드',
'examplegg',
);
if(mysqli_connect_errno()) throw new Execption("Failed to connect to Mysql");
$sql = "select * from student_table";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);
print_r($row);
http://ipip:9004/php_mysql.php
'인프라' 카테고리의 다른 글
Centos8 httpd2.4 + php7.4 html 확장자 추가 (0) | 2021.11.08 |
---|---|
[Gitlab] CI/CD 서버 에 배포 계정 추가 방법 (0) | 2021.11.05 |
[docker] 도커 아파치 컨테이너 실행 (도커볼륨 이용한 DocumentRoot 동기화) (0) | 2021.11.04 |
centos7 Docker 설치 및 우분투 아파치 설치/시작 포트 변경 (0) | 2021.11.03 |
Git flow 실제 적용 테스트 (0) | 2021.11.03 |