[ubuntu] 호스트네임(Hostname) 변경후 'sudo: unable to resolve host...' 메세지 나올때
## 기준: ubuntu 16.04 LTS
호스트네임(hostname) 변경후 sudo 사용시, 'sudo: unable to resolve host...' 메세지가 나올때
$ sudo rm readme.txt
sudo: unable to resolve host [hostname]
hosts 파일에 아래와 변경된 호스트네임을 넣어주면 됩니다.
$ sudo vi /etc/hosts
127.0.0.1 hostname
완료후에는 reboot
$ sudo reboot
[ubuntu] 아파치(Apache) 가상호스트에 한글 도메인 연결
* 기준 OS: ubuntu 16.04 LTS
아파치 가상호스트에 한글 도메인 연결하기 + 한글 2차 도메인까지
1. 한글 도메인의 퓨니코드(Punycode)를 확인합니다.
▸ http://whois.kisa.or.kr/idnconv/index.jsp
▸ EX: 경기도.com ⇒ xn--289an1ao6j.com
2. 호스트 설정 파일에 퓨니코드를 지정합니다.('경기도.com'으로 샘플)
<VirtualHost *:80>
ServerName xn--289an1ao6j.com
ServerAdmin name@email.com
ServerAlias www.xn--289an1ao6j.com xn--289an1ao6j.com
DocumentRoot /html/gyeonggido
<Directory /html/gyeonggido>
Options IncludesNoExec
ServerSignature Off
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/gyeonggido-error.log
CustomLog ${APACHE_LOG_DIR}/gyeonggido-access.log combined
</VirtualHost>
3. 2차 도메인의 경우, 똑같이 퓨니코드를 이용합니다.('분당구.경기도.com'으로 샘플)
<VirtualHost *:80>
ServerName xn--2e0b78hl7j.xn--289an1ao6j.com
ServerAdmin name@email.com
ServerAlias xn--2e0b78hl7j.xn--289an1ao6j.com
DocumentRoot /html/gyeonggido/bundanggu
<Directory /html/gyeonggido/bundanggu>
Options IncludesNoExec
ServerSignature Off
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/bundanggu-error.log
CustomLog ${APACHE_LOG_DIR}/bundanggu-access.log combined
</VirtualHost>
[HTML] Blogger에 Open Graph 적용하기
Blogger에 Open Graph 적용방법에 대한 내용을 정리합니다.
1. 블로그 관리 페이지 [테마 ⇒ 사용중인 디자인 ⇒ HTML편집]을 선택
2. 소스코드 상단에 아래와 같은 코드를 찾습니다.
<html b:version='2' class='v2' expr:dir='data:blog.languageDirection' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
3. 위 코드 마지막 부분에 아래 코드를 추가합니다.
xmlns:og='http://ogp.me/ns#'
추가된 코드<html b:version='2' class='v2' expr:dir='data:blog.languageDirection' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr' xmlns:og='http://ogp.me/ns#'>
4. <head>...</head>의 제일 아래쪽(</head> 바로위)에 아래 코드를 삽입합니다.
<!-- BEGIN: Open Graph Meta -->
<meta content='blog' property='og:type'/>
<meta content='summary' name='twitter:card'/>
<meta expr:content='data:blog.pageTitle' property='og:title'/>
<meta expr:content='data:blog.title' property='og:site_name'/>
<meta expr:content='data:blog.title' name='twitter:title'/>
<meta expr:content='data:blog.canonicalUrl' property='og:url'/>
<b:if cond='data:blog.postImageThumbnailUrl'>
<meta expr:content='data:blog.postImageThumbnailUrl' property='og:image'/>
<meta expr:content='data:blog.postImageThumbnailUrl' name='twitter:image'/>
</b:if>
<b:if cond='data:blog.metaDescription'>
<meta expr:content='data:blog.metaDescription' property='og:description'/>
<meta expr:content='data:blog.metaDescription' name='twitter:description'/>
<meta expr:content='data:blog.metaDescription' name='description'/>
</b:if>
<!-- END: Open Graph Meta -->
5. 참고
https://goo.gl/vTbwg5
https://goo.gl/rck6i9
https://goo.gl/8PbePd
[ubuntu] 네트워크 설정
* 버전: 16.04 LTS
- 설정파일은 [/etc/network/ > interfaces] 입니다.
$ sudo vi /etc/network/interfaces
- 처음 설치시 아래와 같이 DHCP로 기본 설정되어 있습니다.
# The primary network interface
auto enp0s25
iface enp0s25 inet dhcp
- 고정 아이피(IP)로 바꾸려면 아래 내용을 참고해서 수정하면 됩니다.
# The primary network interface
auto enp0s25
iface enp0s25 inet static
address 192.168.0.xxx
netmask 255.255.255.0
gateway 192.168.0.xxx
dns-nameservers 8.8.8.8
- 네트워크 설정 변경후에는 reboot 또는 네트워크 재시작을 해줘야 합니다.
$ sudo reboot
OR$ sudo systemctl restart networking.service
[HTML/JS] Blogger에 Syntax Highlight 추가(highlight.js 추가)
Blogger에 Syntax Highlight를 위해 highlight.js를 추가하는 방법을 정리합니다.
1. 블로그 관리 페이지의 [테마 > 사용중인 디자인 > HTML 편집]을 선택
2. <head>...</head>의 제일 아래쪽(</head> 바로 위)에 아래 코드 삽입
<-- hightlight.js -->
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.10.0/styles/default.min.css" />
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.10.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
3. 글쓰기 모드에서 코드 작성후 [HTML] 선택 작성한 코드를 <pre><code>...</code></pre>로 묶어 준다.
// 샘플코드
<pre><code>
<?php
echo "Hello World!!";
?>
</code></pre>
* 참조
https://highlightjs.org/
https://highlightjs.org/download/
https://highlightjs.org/static/demo/
https://highlightjs.readthedocs.io/en/latest/css-classes-reference.html
https://github.com/isagalaev/highlight.js/tree/master/src/styles
https://goo.gl/rlTX55
http://t.grooboo.net/code/
[Apps] ATOM 패키지(Package)
ATOM 에디터에 사용하고 있는 패키지(Package)를 정리해 봅니다.
[Package]
- auto-encoding (자동 언어 설정)
- aligner (소스코드 정렬)
- autoclose-html (HTML 태그 자동 닫기)
- autocomplete-paths (경로 자동 완성)
- file-icons (파일 타입 아이콘 표시)
- highlight-line (현재 커서 위치 라인 강조 표시)
- highlight-selected (선택된 단어 강조 표시)
- language-asp (ASP 구문 표시)
- linter (코딩 규칙과 에러 체크)
- minimap (전체 소스코드를 작게 보여줌)
- php-cs-fixer ('PHP Coding Standards Fixer' 지원)
- pigments (색상 표시)
[Theme/Syntax]
- UI: One Dark
- Syntax: One Dark
[Setting]
- Font: D2Coding (별도 설치)
- Font Size: 13
- Tab Length: 4
[Life] 새로운 시대?
2017년 3월 10일
오늘
새로운 시대가 시작되는 시발점이 되길 바랍니다.
-
다만, 그들은 쉽게 포기하지 않을 것이고 집요할 것입니다.
앞으로 우리는 지금보다 더 힘들고, 많은 불편함을 감수해야 할지도 모릅니다.
-
조금 더 낳은 세상을 위해서...
잊지 맙시다. 지치지 맙시다. 힘냅시다.
[HTML] Open Graph
간단한 Open Graph 팁(Tip)과 샘플입니다.
▸ 이미지(og:image)사이즈: 600 X 314 또는 1146 X 600 또는 1200 X 630
▸ 업데이트 시간(og:updated_time)은 UTC로 작성(ex: 2016-03-08T10:35:24+09:00)
▸ 샘플 코드
<!-- Open Graph -->
<meta property="og:type" content="website">
<meta property="og:site_name" content="site name">
<meta property="og:title" content="site title">
<meta property="og:url" content="site address">
<meta property="og:image" content="image url">
<meta property="og:description" content="site description">
<meta property="og:updated_time" content="update time(UTC)">
<!-- Twitter -->
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="website title">
<meta name="twitter:description" content="site desciption">
<meta name="twitter:image" content="image url">
▸ 참고
http://ogp.me/
https://developers.facebook.com/docs/sharing/opengraph
https://dev.twitter.com/cards/getting-started
https://dev.twitter.com/cards/markup
http://socialdebug.com/
[ubuntu] 아파치(Apache) 가상호스트 추가(도메인 추가)
아파치(Apache)를 사용하는 웹서버에 가상호스트(VirtualHost)를 통해 도메인을 추가하는 방법입니다.
1. 디폴트 conf 파일 또는 다른 도메인 conf 파일을 복사
/etc/apache2/sites-available/000-default.conf
$ sudo cp 000-default.conf domain.conf
2. 복사한 domain.conf 파일을 수정
$ sudo vi domain.com.conf
3. 호스트 등록
$ sudo a2ensite domain.com
4. 서비스 재기동
$ sudo service apache2 restart (or reload)
* 참고1 - 호스트 등록 취소(호스트 내리기)
$ sudo a2dissite domain.com
* 참고2 - domain.com.conf 샘플
<VirtualHost *:80>
ServerName domain.com
ServerAdmin name@email.com
ServerAlias www.domain.com domain.com
DocumentRoot /domain/directory
<Directory /domain/directory>
Options IncludesNoExec
ServerSignature Off
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/domain-error.log
CustomLog ${APACHE_LOG_DIR}/domain-access.log combined
</VirtualHost>
[ubuntu] .htaccess 설정 방법
Apache(아파치)를 이용해 웹서버를 구동하는 경우, .htaccess를 사용하면 디렉토리별로 설정을 변경할 수 있습니다. .htaccess 설정에 대한 내용을 정리합니다.
단, 특별한 경우가 아니라면 .htaccess 사용을 권장하지 않으며, httpd.conf 파일 또는 도메인 conf 파일의 <Directory>...</Directory>를 이용하는 것이 좋습니다.
========
- httpd.conf > <Directory>...</Directory>에 AllowOverride None이 있으면 작동하지 않는다.
- .htaccess의 설정은 .htaccess 파일이 있는 디렉토리와 그 하위 디렉토리까지 영향을 받는다.
- 디렉토리 리스닝 방지(가장 기본)
Options All -Indexes
- 특정 파일 접근 차단
<files filename.php>
order allow,deny
deny from all
</files>
- .htaccess 파일 보호
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
</files>
- 특정 IP 차단
deny from 1.1.1.1
deny from 2.2.2.2
deny from 1.1.1.1 2.2.2.2
# IP대역을 차단
deny from 3.3.3.0/255.255.255.0
- 참조
Google+htaccess+설정
Google+htaccess+보안
https://goo.gl/Ze2v1t
https://goo.gl/rQZG5E
https://goo.gl/VK1cH7
[Bootstrap] Panel Heading 배경색 변경
- 부트스트랩(Bootstrap) Panel-Heading 배경색(Background-color) 변경
- 버전 3.3.7 기준
- 기본적으로 bootstrap.css에는 아래와 같이 정의되어 있습니다.
.panel-default > .panel-heading {
color: #333;
background-color: #f5f5f5;
border-color: #ddd;
}
- [.panel-heading]의 배경색 변경은 아래와 같이 하면 됩니다.
.panel-default > .panel-heading {
background-color: #F00 !important;
}
[PHP] PHP 사용중 정리
1. 특수문자 제거 등 문자 치환(정규 표현식)
// 특수문자를 제거한다.
$string = preg_replace("/[ #\&\+\-%@=\/\\\:;,\.'\"\^`~\_|\!\?\*$#<>()\[\]\{\}]/i", "", $string);
// HTML 또는 Javascript 등을 제거한다.
$string = preg_replace("(\<(/?[^\>]+)\>)", "", $string);
// 숫자를 제외한 모든 문자 삭제
$string = preg_replace("/[^0-9]*/s", "", $string);
// 전화번호 표기(하이튼 표기)
preg_replace("/(0(?:2|[0-9]{2}))([0-9]+)([0-9]{4})/", "\\1−\\2−\\3", $phone_number);
2. JSON 출력
$value = array (
'Key' => $string,
'Key' => $string
);
// Header 정의
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json; charset=utf-8');
// json 출력
echo json_encode($value, JSON_NUMERIC_CHECK | JSON_UNESCAPED_UNICODE);
exit;
- JSON_NUMERIC_CHECK: 숫자로된 문자열인 경우 숫자(integer) 형태로 출력한다.
- JSON_UNESCAPED_UNICODE: 문자를 유니코드로 Escape 해서 출력하지 않는다.
3. JSON 출력(Callback이 있는 경우)
// Callback 함수 받기
$callback = $_REQUEST['callback'];
// Header 정의
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json; charset=utf-8');
// json 출력
if($callback) {
echo $callback."(".json_encode($value, JSON_NUMERIC_CHECK | JSON_UNESCAPED_UNICODE).")";
} else {
echo json_encode($value, JSON_NUMERIC_CHECK | JSON_UNESCAPED_UNICODE);
}
exit;
4. 문자열 자르기(나누기)
$string = explode('|' , $string);
5. ereg() 오류
- php7에서는 ereg() 사용시 'ereg() is deprecated' 오류 발생
- preg_match() 사용 또는 교체
// ereg() 사용
ereg('%', $variable);
// preg_match() 사용
preg_match('/%/', $variable);
6. 에러메세지 출력하기
- php.ini에서 에러메세지 출력을 막아 놓았을때, 임시로 에러 메세지 출력을 합니다.
- 소스 상단에 아래 코드를 넣으면 됩니다.
error_reporting(E_ALL);
ini_set("display_errors", 1);
...또는...ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);
7. 문자열 공백(스페이스) 제거
// 앞, 뒤의 스페이스 제거
$string = trim($string);
// 문자열내 모든 스페이스 제거
$string = preg_replace("/\s+/", "", $string);
* 본 포스팅은 수시로 업데이트 될 수 있습니다.
[ubuntu] 패키지 업데이트 :: Package Update
우분투(ubuntu)서버 패키지 업데이트(Package Update)방법
- 기본
$ sudo apt-get update
$ sudo apt-get upgrade
- 보안 패치만 업데이트
$ sudo apt-get update
$ sudo apt-get install unattended-upgrades
$ sudo unattended-upgrade
- ubuntu 설명서
$ sudo apt-get update
$ sudo apt-get dist-upgrade
- 업데이트 자동 적용
$ sudo dpkg-reconfigure unattended-upgrades
- 패키지 삭제(설정 파일은 남겨둠)
$ sudo apt-get remove packaganem
- 패키지 삭제(설정 파일까지 삭제)
$ sudo apt-get --purge remove packaganem
- 패키지 삭제(자동 삭제)
$ sudo apt-get autoremove packaganem
피드 구독하기:
글 (Atom)