APP VM 인스턴스 설정
기본 도구 설치
Section titled “기본 도구 설치”sudo apt-get updatesudo apt-get install vim -y- Nginx 기반으로 서비스된다.
- 버추얼호스트 설정으로 다수의 도메인에 대해 서비스를 제공한다.
- Nginx 설치
Terminal window sudo apt-get install nginx -y - 배포 디렉토리 생성
Terminal window sudo mkdir -p /var/www/mintchoco.bizsudo mkdir -p /var/www/demo.mintchoco.bizsudo mkdir -p /var/www/storybook.mintchoco.biz - nginx 디렉토리 소유자 변경
- /var/www
Terminal window sudo chown -R ${USERNAME}.${USERNAME} /var/wwwls -al /var/www - /etc/nginx/sites-available
Terminal window sudo chown -R ${USERNAME}.${USERNAME} /etc/nginx/sites-availablels -al /etc/nginx/sites-available - /etc/nginx/sites-enabled
Terminal window sudo chown -R ${USERNAME}.${USERNAME} /etc/nginx/sites-enabledls -al /etc/nginx/sites-enabled
- /var/www
- 버추얼호스트 설정 추가
- mintchoco.biz
Terminal window cat << EOF > /etc/nginx/sites-available/mintchoco.biz.confserver {listen 80;server_name mintchoco.biz;root /var/www/mintchoco.biz;index index.html;}EOF - www.mintchoco.biz
Terminal window cat << EOF > /etc/nginx/sites-available/www.mintchoco.biz.confserver {listen 80;server_name www.mintchoco.biz;root /var/www/mintchoco.biz;index index.html;}EOF - demo.mintchoco.biz
Terminal window cat << EOF > /etc/nginx/sites-available/demo.mintchoco.biz.confserver {listen 80;server_name demo.mintchoco.biz;root /var/www/demo.mintchoco.biz;index index.html;}EOF - storybook.mintchoco.biz
Terminal window cat << EOF > /etc/nginx/sites-available/storybook.mintchoco.biz.confserver {listen 80;server_name storybook.mintchoco.biz;root /var/www/storybook.mintchoco.biz;index index.html;}EOF - daisy.mintchoco.biz
Terminal window cat << EOF > /etc/nginx/sites-available/daisy.mintchoco.biz.confserver {listen 80;server_name daisy.mintchoco.biz;root /var/www/daisy.mintchoco.biz;index index.html;}EOF - 버추얼호스트 설정 활성화
Terminal window sudo ln -s /etc/nginx/sites-available/mintchoco.biz.conf /etc/nginx/sites-enabled/mintchoco.biz.confsudo ln -s /etc/nginx/sites-available/www.mintchoco.biz.conf /etc/nginx/sites-enabled/www.mintchoco.biz.confsudo ln -s /etc/nginx/sites-available/demo.mintchoco.biz.conf /etc/nginx/sites-enabled/demo.mintchoco.biz.confsudo ln -s /etc/nginx/sites-available/storybook.mintchoco.biz.conf /etc/nginx/sites-enabled/storybook.mintchoco.biz.confsudo ln -s /etc/nginx/sites-available/daisy.mintchoco.biz.conf /etc/nginx/sites-enabled/daisy.mintchoco.biz.conf
- mintchoco.biz
- Nginx 서버 재기동
Terminal window sudo systemctl restart nginx
- Nginx 설치
Nginx 암호 설정
Section titled “Nginx 암호 설정”- apache2-utils 패키지 설치
Terminal window sudo apt-get install apache2-utils -y - .htpasswd 파일에 사용자 추가
Terminal window sudo htpasswd -c /etc/nginx/.htpasswd ${USERNAME} - .htpasswd 파일 내역 조회
Terminal window cat /etc/nginx/.htpasswd - 가상호스트 설정파일 수정
auth_basic "Security";auth_basic_user_file /etc/nginx/.htpasswd;
- Nginx 서버 재기동
Terminal window sudo systemctl restart nginx - 브라우저에서 가상호스트 도메인 접속
- 브라우저에서 인증창 뜨는지 확인
- 사용자명과 비밀번호 입력
- 페이지가 정상적으로 표시되는지 확인
Mysql 설치 및 설정
Section titled “Mysql 설치 및 설정”- Mysql 설치
Terminal window sudo apt-get updatesudo apt-get install mysql-server -y - 관리자 계정으로 접속
Terminal window sudo mysql -u root -p mysql - 관리자 비밀번호 설정
alter user 'root'@'localhost' identified with mysql_native_password by '${ROOT_PASSWORD}';
Mysql 데이터베이스 및 사용자 생성
Section titled “Mysql 데이터베이스 및 사용자 생성”- Database 생성
create database ${DATABASE_NAME};
- 사용자 생성
create user '${USER_NAME}'@'%' identified by '${PASSWORD}';
- 사용자 조회
select * from user where user = '${USER_NAME}';
- 권한 설정
grant all privileges on ${DATABASE_NAME}.* to '${USER_NAME}'@'%' with grant option;
- 모니터링 권한 설정
grant process on *.* to ${USER_NAME};grant select on performance_schema.* to ${USER_NAME};grant show databases on *.* to ${USER_NAME};
- 설정내역 디스크에 저장
flush privileges;
Mysql 외부접속 허용 설정
Section titled “Mysql 외부접속 허용 설정”- Mysql 설정 파일 수정
Terminal window sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf mysqld.cnf파일에서bind-address항목을 찾아서 수정한다./etc/mysql/mysql.conf.d/mysqld.cnf bind-address = 0.0.0.0- Mysql 서버 재시작
Terminal window sudo systemctl restart mysql