일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- js for 반복문
- js 내부함수 반복문
- MariaDB
- 아두이노 ESP8266
- 구글 클라우드 플랫폼
- redirect
- 아두이노 https post
- 라즈베리파이 3b+
- Apache
- 아두이노 https
- 리디렉션
- Raspbian
- 아두이노 DB
- Centos Node js
- 아두이노
- js 내부함수
- js 반복문
- 리디렉트
- CentOS8
- 리다이렉트
- 아두이노 fingerprint
- 라즈베리파이
- Today
- Total
목록Google Cloud Platform/Compute Engine (9)
dinist
이전에 Certbot을 이용한 Let's Encrypt HTTPS인증서 발급에 대한 글을 작성한 적이 있다. 하지만 문제가 있었으니 이전에는 domain.com이라는 도메인에 대한 HTTPS인증서를 발급받은 것이었는데, 이렇게 되면 abc.domain.com에 접속할때는 HTTPS인증서가 적용되지 않는다. 그래서 *.domain.com과 같이 와일드카드문자 *을 이용하여 어떠한 주소가 앞에 오더라도 똑같이 HTTPS를 적용할 수 있도록 와일드카드 인증서를 발급하기로 했다. 다음과 같은 명령어를 입력하여 과정을 진행해보자. certbot certonly --manual -d *.example.com -d example.com --preferred-challenges dns-01 --server https:..
최근 Let's Encrypt를 통해 SSL을 적용하였다. SSL이 적용된 HTTPS페이지에 접속하려면 https://로 시작해야한다. 하지만 웹브라우저에서 그냥 URL만 입력하면 http로 요청되는점이 있다. 그래서 HTTP요청을 하면 HTTPS로 자동으로 Redirect 하도록 해보자. 먼저 mod_rewrite 모듈이 있어야한다. 하지만 CentOS에 설치된 Apache httpd에는 mod_rewrite가 기본적으로 설치되고, 로드된다. sudo vim /etc/httpd/conf/httpd.conf 명령으로 httpd.conf파일을 편집한다. 그리고 다음과 같은 내용을 추가한다. RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule .* https:/..
이제 HTTPS 사용은 필수라고 봐야한다. 현재 나의 Compute Engine에는 CentOS8이 설치되어있다. 여기에 Apache웹서버를 설치하여 웹서버로도 활용 할 수 있도록 하고있다. 그런데 크롬에서 웹페이지에 접근하면 다음과 같이 거슬리는 화면이 있다. 주의 요함이라는 말이 보인다. 클릭해보면 사진과 같이 HTTPS를 사용하지 않았다라는 얘기가 나온다. 맞는말이다 HTTP는 HTTPS통신에 비해 위험하다 데이터가 평문으로 전송되기 때문이다. 네이버의 경우에는 HTTPS가 적용되어 있어 다음과같이 보인다. 글자색이 초록색이라 뭔가 안정적인 느낌?이 든다. HTTPS를 적용해야할것만 같다. 이제 적용해보도록 하자. SSL을 발급하는 방법은 무료도 있고 유로도 있지만, 단순 개인 연습에는 무료를 사용..
하나의 보드에서 DHT11 센서와 MQ-5센서를 모두 사용하여 업로드할 것이다. 그럼 하나 소스코드에 DHT11작업과 MQ-5 작업을 모두 해야한다. 또한 DB에 업로드할때 DATETIME도 같이 올려야하므로 NTP를 통하여 시간데이터를 받아와 Time컬럼의 데이터로 활용하도록 한다. 이전에 DHT11 데이터를 수집하기 위한 테이블을 만들었었다. 하지만 지금 생각해보니 만들당시에는 Value를 저장할 컬럼이 하나밖에 없었다. 값을 저장하는 컬럼을 3가지로 늘렸다. (온도,습도,열 지수) 그러면 DHT11 테이블에는 5개의 컬럼이 존재한다. (Seq, Temperature, Humidity, Heat Index, Time) 테이블의 구조를 변경해야하므로 다음 쿼리를 mariadb 콘솔(root로 로그인)에..
Google Cloud Platform Compute Engine의 Linux VM (Centos 8)에 MariaDB를 이전에 설치했다. 센서와 아두이노를 활용하여 수집한 데이터를 이 VM의 데이터베이스에 저장하기위해 데이터베이스를 생성하는 과정과 저장을 위한 php 코드 작성 및 삽입을 진행해본다. 수집한 데이터를 저장하기위한 데이터베이스 생성은 MariaDB 콘솔에서 진행하거나 기타 프로그램을 사용하여 데이터베이스를 생성해도 된다. 선택은 본인의 몫이다. 나는 SQL 구문을 익히기위해 콘솔환경에서 DB관련 작업을 진행한다. 데이터베이스 생성과 데이터베이스 접근용 사용자 생성 작업은 MariaDB의 root계정으로 진행해야하므로 MariaDB콘솔에 root계정으로 로그인한다. 데이터베이스 생성은 쉽다..
각종 센서를 통해 수집한 값을 아두이노를 통해 Compute Engine VM에 설치된 MariaDB에 저장하려고 계획하고 있다. 물론 SSH 등을 통해 콘솔에서도 DB 작업을 할 수 있으나 GUI 환경에서 DataBase를 관리하는 것도 편할 것이므로 윈도우의 Toad Edge를 활용한 DB 외부 접속을 설정해보자. 외부에서 접속할 때는 root계정으로 접속하는 것은 매우 위험하므로 root와 비슷하지만 root보다는 약한 수준의 별도 계정을 우선 생성하는 것이 좋다. sudo mysql -u root VM의 SSH에서 root계정으로 mariadb에 접속한다. 혹시 이러한 에러가 발생한다면.. mysql 서비스가 실행중이지 않을 가능성이 크므로 다음 명령으로 서비스를 실행해준다. sudo servic..
Apache 설치하기 sudo yum -y install httpd 위 명령을 입력하여 Apache를 설치한다. sudo service httpd start 설치가 완료되면 위 명령으로 httpd 데몬을 실행시킨다. sudo service httpd status 이후 위 명령으로 상태가 active상태인지 확인한다. 이후 netstat -antp 명령으로 80포트로 리스닝하는것이 있는지 확인 (그런데 p옵션으로 pid도 같이 확인해보려는데 안나온다..) 설치하고 VM의 IP주소를 입력하면 Apache초기 화면이 나올것 같지만 나오지 않는다. 설정을 몇가지 해줘야한다. CentOS 자체의 방화벽설정과, Compute Engine의 VM에서의 방화벽설정 두가지를 모두 해줘야한다. CentOS 자체 방화벽은 ..
Google Cloud Platform의 Compute Engine을 통한 VM운영시 할당받은 IP가 계속 변동된다면, 매번 SSH접속이나 ddns설정시 변경된 IP로 바꿔야하는 번거로움이 있다. 그래서 할당받은 ip를 고정IP로 설정하는방법에 대해 설명한다. 우선 Google Cloud Platform의 전체 메뉴에서 네트워킹 > VPC 네트워크 > 외부 IP 주소 메뉴를 선택한다. 본인은 이미 고정IP설정을 완료하였으므로 유형에 "고정"이라고 되어있지만 고정IP설정이 되어있지 않다면 "임시"라고 보일 것이다. 이를 고정으로 변경해준다. 그러면 이름과 설명을 설정하라고 나오는데 이때 이름과 설명을 설정해주면 고정IP설정이 완료된다.