Skip to content

APP VM 인스턴스 설정

Terminal window
sudo apt-get update
sudo apt-get install vim -y
  • Nginx 기반으로 서비스된다.
  • 버추얼호스트 설정으로 다수의 도메인에 대해 서비스를 제공한다.
    1. Nginx 설치
      Terminal window
      sudo apt-get install nginx -y
    2. 배포 디렉토리 생성
      Terminal window
      sudo mkdir -p /var/www/mintchoco.biz
      sudo mkdir -p /var/www/demo.mintchoco.biz
      sudo mkdir -p /var/www/storybook.mintchoco.biz
    3. nginx 디렉토리 소유자 변경
      1. /var/www
        Terminal window
        sudo chown -R ${USERNAME}.${USERNAME} /var/www
        ls -al /var/www
      2. /etc/nginx/sites-available
        Terminal window
        sudo chown -R ${USERNAME}.${USERNAME} /etc/nginx/sites-available
        ls -al /etc/nginx/sites-available
      3. /etc/nginx/sites-enabled
        Terminal window
        sudo chown -R ${USERNAME}.${USERNAME} /etc/nginx/sites-enabled
        ls -al /etc/nginx/sites-enabled
    4. 버추얼호스트 설정 추가
      1. mintchoco.biz
        Terminal window
        cat << EOF > /etc/nginx/sites-available/mintchoco.biz.conf
        server {
        listen 80;
        server_name mintchoco.biz;
        root /var/www/mintchoco.biz;
        index index.html;
        }
        EOF
      2. www.mintchoco.biz
        Terminal window
        cat << EOF > /etc/nginx/sites-available/www.mintchoco.biz.conf
        server {
        listen 80;
        server_name www.mintchoco.biz;
        root /var/www/mintchoco.biz;
        index index.html;
        }
        EOF
      3. demo.mintchoco.biz
        Terminal window
        cat << EOF > /etc/nginx/sites-available/demo.mintchoco.biz.conf
        server {
        listen 80;
        server_name demo.mintchoco.biz;
        root /var/www/demo.mintchoco.biz;
        index index.html;
        }
        EOF
      4. storybook.mintchoco.biz
        Terminal window
        cat << EOF > /etc/nginx/sites-available/storybook.mintchoco.biz.conf
        server {
        listen 80;
        server_name storybook.mintchoco.biz;
        root /var/www/storybook.mintchoco.biz;
        index index.html;
        }
        EOF
      5. daisy.mintchoco.biz
        Terminal window
        cat << EOF > /etc/nginx/sites-available/daisy.mintchoco.biz.conf
        server {
        listen 80;
        server_name daisy.mintchoco.biz;
        root /var/www/daisy.mintchoco.biz;
        index index.html;
        }
        EOF
      6. 버추얼호스트 설정 활성화
        Terminal window
        sudo ln -s /etc/nginx/sites-available/mintchoco.biz.conf /etc/nginx/sites-enabled/mintchoco.biz.conf
        sudo ln -s /etc/nginx/sites-available/www.mintchoco.biz.conf /etc/nginx/sites-enabled/www.mintchoco.biz.conf
        sudo ln -s /etc/nginx/sites-available/demo.mintchoco.biz.conf /etc/nginx/sites-enabled/demo.mintchoco.biz.conf
        sudo ln -s /etc/nginx/sites-available/storybook.mintchoco.biz.conf /etc/nginx/sites-enabled/storybook.mintchoco.biz.conf
        sudo ln -s /etc/nginx/sites-available/daisy.mintchoco.biz.conf /etc/nginx/sites-enabled/daisy.mintchoco.biz.conf
    5. Nginx 서버 재기동
      Terminal window
      sudo systemctl restart nginx
  1. apache2-utils 패키지 설치
    Terminal window
    sudo apt-get install apache2-utils -y
  2. .htpasswd 파일에 사용자 추가
    Terminal window
    sudo htpasswd -c /etc/nginx/.htpasswd ${USERNAME}
  3. .htpasswd 파일 내역 조회
    Terminal window
    cat /etc/nginx/.htpasswd
  4. 가상호스트 설정파일 수정
    auth_basic "Security";
    auth_basic_user_file /etc/nginx/.htpasswd;
  5. Nginx 서버 재기동
    Terminal window
    sudo systemctl restart nginx
  6. 브라우저에서 가상호스트 도메인 접속
    1. 브라우저에서 인증창 뜨는지 확인
    2. 사용자명과 비밀번호 입력
    3. 페이지가 정상적으로 표시되는지 확인
  1. Mysql 설치
    Terminal window
    sudo apt-get update
    sudo apt-get install mysql-server -y
  2. 관리자 계정으로 접속
    Terminal window
    sudo mysql -u root -p mysql
  3. 관리자 비밀번호 설정
    alter user 'root'@'localhost' identified with mysql_native_password by '${ROOT_PASSWORD}';

Mysql 데이터베이스 및 사용자 생성

Section titled “Mysql 데이터베이스 및 사용자 생성”
  1. Database 생성
    create database ${DATABASE_NAME};
  2. 사용자 생성
    create user '${USER_NAME}'@'%' identified by '${PASSWORD}';
  3. 사용자 조회
    select * from user where user = '${USER_NAME}';
  4. 권한 설정
    grant all privileges on ${DATABASE_NAME}.* to '${USER_NAME}'@'%' with grant option;
  5. 모니터링 권한 설정
    grant process on *.* to ${USER_NAME};
    grant select on performance_schema.* to ${USER_NAME};
    grant show databases on *.* to ${USER_NAME};
  6. 설정내역 디스크에 저장
    flush privileges;
  1. Mysql 설정 파일 수정
    Terminal window
    sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
  2. mysqld.cnf 파일에서 bind-address 항목을 찾아서 수정한다.
    /etc/mysql/mysql.conf.d/mysqld.cnf
    bind-address = 0.0.0.0
  3. Mysql 서버 재시작
    Terminal window
    sudo systemctl restart mysql