우분트 자동시작서비스 등록 실행하기

Linux
해당 기록은 제 개인적으로 기록을 해 놓은 부분입니다. 누군가에게 도움이 될수도 있지만 아마 전혀 쓸모가 없을수도 있습니다. 그렇기에 개인 기록이라는 점을 먼저 밝힙니다. crontab으로 실행하는것에 한개가 있습니다. 재부팅 되면서 실행을 해도 되고, 일정 시간을 체크해서 해도 되지만, 항상 가동해야 되는 부분이 있어서 만들게 된 부분입니다. cp /home/ubuntu/service/serviceCrawer.service /etc/systemd/systemd --------------- [Unit] Description=ServiceCrawer-1 After=network.target [Service] ExecStart=/usr/bin/php /home/ubuntu/service/service.file start ExecStop=/bin/sh /home/ubuntu/service/stop.sh Restart=on-failure [Install] WantedBy=multi-user.target ------------------ sudo chmod 644 serviceCrawer.service sudo systemctl daemon-reload sudo systemctl enable serviceCrawer.service sudo systemctl start serviceCrawer.service sudo systemctl disable serviceCrawer.service 일단 네트워크가 문제가 생기면은 재시작을 할 것이고 아니면은 항시 기동이 되도록 프로그램을 만들었습니다. 통신을 하는 부분이라서 네트워크가 죽으면 살아있어도 쓸모가 없습니다. 항상 정보를 수집하는 부분에서 일정시간마다 아닌, 실시간으로 통신을 해서 정보를 획득하기에 끊기지 않는다는것이 제일 관점있고, 그 이후 데이터를 잘 기록해야되는 부분입니다. 위에 코드는 그냥 서비스에 등록하는 부분만 있습니다.…
Read More

Port번호 사용 영역

Linux, NAS, Windows
0 ~ 1023 : well-known port번호 영역입니다. 이 영역의 port번호는 UNIX/LINUX에서 root 권한으로만 port를 열 수 있습니다. 예약영역이라고 보면 됩니다. 1024 ~ 49151번: 등록된 포트 (registered port) 이 영역은 주로 서버 소켓으로 사용하는 영역입니다. 49152 ~ 65535번 : 동적 포트(dynamic port) 이 영역은 자동으로 할당되는 영역입니다.
Read More

Dnsmasq

Linux
#apt install resolvconf이것을 설정하면은 좀 더 세팅에 편해집니다. #vi /etc/resolvconf/resolv.conf.d/tail # IPv4 nameserversnameserver 1.1.1.1nameserver 8.8.8.8nameserver 1.0.0.1nameserver 8.8.4.4 # IPv6 nameserverosnameserver 2606:4700:4700::1111nameserver 2001:4860:4860::8888nameserver 2606:4700:4700::1001nameserver 2001:4860:4860::8844 #sudo service resolvconf restart #apt-get install dnsmasq # cat /etc/hosts # cat /etc/resolv.confnameserver 172.31.0.2search ap-northeast-2.compute.internal # Google IPv4 nameserversnameserver 8.8.8.8nameserver 8.8.4.4 # Google IPv6 nameserversnameserver 2001:4860:4860::8888nameserver 2001:4860:4860::8844
Read More

홈페이지 이전에 필요한 명령어

Linux
홈페이지 이전을 해줄 경우가 생겨서 한번 기록해 놓습니다. 모래사장에서 바늘 찾을 정도로 사용을 하지만, 막상 필요할때 기억이 나지 않아서 간단히 기록을 해놓습니다. # upload 디렉토리 제외해서 압축하기 tar -zcvf public_html.tar.gz ./public_html --exclude="./public_html/uploads" # upload 디렉토리 아래의 디렉토리 구조만 압축하기 tar -zcvf public_html-upload.tar.gz --exclude="*.* ./public_html/upload" # 압축풀기 (2개가 동일 위치에 존재해야함) tar -zxvf public_html.tar.gz tar -zxvf public_html-upload.tar.gz # 소유주 변경하기 chown -R [group].[user] ./public_html --from=[group].[owner] find ./public_html -user "[user]" | xargs chown "nobody"."nobody"
Read More

HTTPS를 HTTP로 리디렉션하는 방법

Linux
SSL 보안서버 인증서가 적용된 상태에서 HTTPS를 HTTP로 리디렉션하고 싶은 경우, 다음 코드를 .htaccess 파일에 추가하면 됩니다. RewriteCond %{HTTPS} on RewriteEngine On RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} 위의 코드가 잘 작동하지 않으면, 다음 코드를 시도해볼 수 있습니다. Options +FollowSymLinks RewriteEngine On RewriteCond %{ENV:HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] .conf 파일을 사용하는 경우: ServerName domain.com RewriteEngine On RewriteCond %{HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} SSLEngine on SSLCertificateFile /etc/apache2/ssl/domain.crt SSLCertificateKeyFile /etc/apache2/ssl/domain.key SSLCACertificateFile /etc/apache2/ssl/domain.crt Siteground에서는 다음과 같은 코드를 제안하네요. (출처: Redirect from HTTPS to HTTP) Redirect HTTPS to HTTP RewriteCond %{HTTP:X-Forwarded-Proto} =https RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 참고로 위의 코드는 모두 유효한 SSL 인증서가 있는 경우에만 작동합니다. 유효한 SSL 인증서가 없는 경우 https://…로 접속하면 보안인증서 오류가 표시되고 http://…로 리디렉션되지 않습니다.
Read More
[Ubuntu] SSL 인증서 설치

[Ubuntu] SSL 인증서 설치

Linux
 SSL 발급 및 적용 방법 인증서 발급 프로그램을 서버에 설치해야한다. Let’s Encrypt 는 Ubuntu 16.04 LTS 에서 기본패키지로 추가되었다. 따라서 쉽게 설치할 수 있다. 반면 Ubuntu 14.04 LTS 에서는 기본패키지가 아니기 때문에 몇 줄 더 입력해야 한다. 발급, 설치, 적용 방법은 다음과 같다. 모든 단계는 Linux root 계정으로 진행한다. [code shell] # apt-get install letsencrypt # letsencrypt certonly --webroot --webroot-path=/home/myuser3/www -d myuser3.com -d www.myuser3.com [/code] * 명령어 설명 -d 는 도메인명을 지정하면 된다. 최대 100개의 도메인 이름을 지정할 수 있다. (한 인증서가 서로다른 100개의 도메인 인증을 할 수 있음) 일반적으로는 기본도메인과 www 도메인 두개를 지정한다. -webroot 는 웹인증을 받을 것이라는 것이다. 외부 인증프로그램이 -d 에 지정된 도메인 사이트에 접속한다. -webroot-path 는 웹루트의 경로이다. 보통 index 페이지가 위치하는 경로이다. 인증 프로그램이 이 경로에 임시 랜덤 파일을 생성하고, 외부 인증프로그램이 이 파일을…
Read More

crontab에 대한 기록

Linux
1. 개요cron(크론)은 원하는 시간에 명령(프로그램)을 시키기 위한 데몬이다.서버는 늘 깨어있다는 것을 이용한 최대한의 활용법이 될 수 있다. - 내가 새벽 3시에 서버에 특정 작업을 해줘야하는데 그 때 깨어있을 수 있는가?- 또는 30분간격으로 HDD의 사용량을 운영자에게 알리도록 해야한다면?- 매월 초에 자료를 백업 받고 싶다면? 바로 이럴 때 cron은 최고의 해결책을 제시한다.cron은 항상 지정한 시간이 되었는지 확인을 하여 해당 명령어을 실행하는 것이다. 2. cron 설정1) crontab 파일 위치 및 조회작업 설정 파일을 crontab 파일이라고 부르며, 이 파일의 위치는 OS별로 차이가 있다.리눅스는 /var/spool/cron/ID, 솔라리스는 /var/spool/corn/crontabs/ID에 위치한다.그럼 이 파일을 직접 수정해야 하는가? 그렇지 않다. crontab 명령을 통해 설정과 조회를 한다.crontab 설정 파일을 새롭게 편집하고자 한다면 -e 옵션을 주고, 수정하기 전에 현재 등록된 내용을 보고자 한다면 -l 옵션을 사용하며, 등록된 내용을 삭제하려면 -d 옵션을 사용한다설정 내용을 조회해 보자(-l 옵션). $ crontab -l no crontab for…
Read More

[Linux] Apache, PHP 정보 숨기기

Linux
Apache, PHP 정보 숨기기 Apache, PHP 를 사용하다 보면은 HTTP 응답의 Header에서 Apache 버전과 PHP 버전등 정보가 돌아오게 되어 있습니다.이 정보를 감추는 설정에 대해서 적습니다. Apache 정보 숨기기대상 파일 : http.conf #서버정보를 완전히 숨기려면 Off, 아파치정보만 보이려면 On으로 하고 ServerTokens 만 수정 ServerSignature Off ServerTokens ProductOnly ServerTokens : 아파치 1.3 이후 버젼에서 사용할수 있음ProductOnly   : 아파치 1.3.12 이후 버젼에 추가 ServerTokens 에 사용가능한 옵션   ProductOnly # 웹서버의 이름만을 알려준다. Major # 웹서버의 이름과 Major 버전번호만 알려준다. Minor # 웹서버의 이름과 Minor 버전까지 알려준다. Minimal # 웹서버의 이름과 Minimum 버전까지 알려준다. OS # 웹서버의 이름과 버전, 운영체제까지 알려준다. Full # 최대한의 정보를 모두 알려준다.(웹서버, 운영체제, 등) # 해당 값의 표현 결과 ProductOnly: Apache Major : Apache/2 Minor : Apache/2.2 Minimal : Apache/2.2.3 OS : Apache/2.2.3 (CentOS) Full : Apache/2.2.3 (CentOS)…
Read More