출처 : http://www.cgmarina.co.kr/computer/13720

 

[Session]

session.save_handler = files
session.save_path = /tmp
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.gc_maxlifetime = 1440
session.cache_expire = 180

session.save_handler :
기본적으로 Files 방식을 이용한다.
session_module_name() 을 통하여 현재 설정된 정보를 볼 수 있다. 공유 메모리를 사용하는 MM방식과 USER방식을 지원하다.
USER방식을 사용하는 경우에는 session_set_save_handler(string open, string close,string read, string write, string destroy, string gc)을 이용하여session_set_save_handler("함수명", "함수명", "함수명", "함수명", "함수명", "함수명")과 같이콜백 함수를 정의하고 콜백 함수를 호출하여 세션 데이터나 세션ID등을 데이터베이스 등에 보관하여 사용할 수도 있다.

session.save_path :
세션 파일을 저장할 경로을 의미하고 files 방식에서는 /tmp가 기본적인 파일이 저장되는 디렉토리의 절대 경로이다.

session.use_cookies :
세션과 함께 쿠키를 사용할 것인가에 대한 설정으로 기본적으로 쿠키와 함께 사용하도록 되어 있다.
쿠키를 사용하지 않는 경우에는 0으로 설정하고 버전에 따라서는 On과 Off로 설정하기도 한다.

session.name :
세션ID를 쿠키에 저장한 경우 PHP에서 세션ID를 확인하기 위한 변수명을 의미한다.
기본값으로 PHPSESSID로 설정되어 있으며$PHPSESSID라고 하면 세션ID를 확인할 수 있다.

session.auto_start :
PHP시작과 동시에 세션이 자동으로 스타트 되도록 하는 옵션이다.
기본값은 0으로 자동으로 시작되지 않도록 되어 있다.
그러므로 세션을 사용하기 전에는 session_start()를 호출해야 하고, 자동으로 시작하게 하려면 1로 설정하면 된다.
버전에 따라서는 On과 Off로 설정하기도 한다.

session.cookie_lifetime :
세션ID를 저장한 쿠키의 활성화 시간 또는 유효 시간을 설정하는 것이다.
기본값으로는 0이 설정되어 있어 브라우저가 종료되면 자동으로 쿠키값은 삭제된다.
session_set_cookie_params()함수를 이용하여 쿠키의 유효 시간을 변경할 수 있으며 PHP.INI를 수정하여 쿠키 적용 시간을 변경 가능하다.

session.cookie_path :
세션ID가 저장된 쿠키가 적용될 유효 경로(디렉토리)를 설정하는 부분이다.
기본값은 "/"로 모든 경로에서 적용 가능하도록 설정되어 있다.
session.cookie_lifetime과 같이 session_set_cookie_params()함수를 이용하여 쿠키의 적용 디렉토리를 변경할 수 있다.

session.gc_maxlifetime :
사용되지 않는 것으로 보이는 세션 데이터를 삭제한다.
세션ID를 삭제하는 것이 아니라 기본 설정 시간인 1440초 동안 아무런 요청이 없을때 자동으로 세션 데이터를 삭제하도록 되어 있다.
이렇게 자동으로 삭제하는 이유는 서버의 부하를 줄이기도 하지만 클라이언트에서 접속을 종료하였는지 여부를 확인할수 없으므로1440초 동안 사용하지 않는 데이터는 삭제하게 한다.

session.cache_expire :
서버에 저장된 세션ID의 활성화 시간이다.
클라이언트에서 브라우저를 닫아버리면 서버에서는 클라이언트가 연결중인지 아닌지 확인하는 방법이 없으므로 미리 세션데이터를 삭제하고 세션ID는 180분 이후에 삭제시킨다.
만약 세션 ID를 삭제하지 않으려면 PHP.INI를 수정하여 시간을 늘려주면 된다.


세션을 핸들링하려면 세션 저장 디렉토리를 별도로 사용해야 한다.

session_save_path("저장디렉토리");
ini_set("session.cache_expire", 180); // 세션 유효시간 : 분
ini_set("session.gc_maxlifetime", 86400); // 세션 가비지 컬렉션(로그인시 세션지속 시간) :

 

 

 

 

 

실제 사용할때에는  
session_save_path($_SERVER['DOCUMENT_ROOT']."/세션폴더");
ini_set("session.cache_expire", 180); // 세션 유효시간 : 분
ini_set("session.gc_maxlifetime", 86400); // 세션 가비지 컬렉션(로그인시 세션지속 시간) :
session_start();

 

위와같이 사용 하면 됨.



출처: https://jaweb.tistory.com/entry/php-session-유지시간-설정-작업관련 [잡다구리 파크]


MySQL mysqldump 시 특정테이블만 백업 받는 방법


DB 테이블 덤프할 때 table_* 이런형태의 asterisk 별표를 사용한 특정 테이블만 받고 싶을때 사용할 수 있습니다.


방법은 여러가지가 있지만 아래처럼 하면 간단하게 백업을 받을 수 있습니다.


# mysqldump -u유저아이디 -p비밀번호 dbname table_* > backup.sql

mysqldump: Couldn't find table: "table_*"


이렇게 하면 에러가 나지요~


# mysqldump -u유저아이디 -p비밀번호 dbname $(mysql -u유저아이디 -p비밀번호 dbname -Bse "show tables like 'test_%'") > backup.sql


이런 방법으로 백업이 가능합니다.

$() 변수로 받는다는 의미입니다.


# mysql -u유저아이디 -p비밀번호 dbname -Bse "show tables like 'test_%'"


괄호 안에 있는 내용을 먼저 테스트 해보고 사용하면 됩니다.



출처: https://ivps.tistory.com/204 [iVPS 가상서버호스팅]


bash 파일 내에 sed 명령어를 넣었는데, crontab 으로 실행했을 때 먹통이 되는 경우

예) a.sh

sed -i 's/find/repl/g' a.txt

이 경우는 a.txt 파일의 인코딩이 UTF-8 이고, crontab 실행 환경은 인코딩이 ko_KR.eucKR 인 등 서로의 인코딩이 맞지 않아 발생하는 문제임.

bash 내 인코딩 설정을 추가하면 됨.

예) a.sh (UTF-8 파일인 경우)

export LANG=ko_KR.UTF-8
sed -i 's/find/repl/g' a.txt


이렇게 하면 실행환경의 인코딩이 변경되어 정상 동작

출처 : https://tod2.tistory.com/175


1. 증상

가. 대상 : Windows 7 SP1 / Windows 2008 R2 (에디션 상관 없음)

나. 업데이트 실패 목록 : KB4516065 또는 KB4519976 (2019-09 또는 10월 누적 보안패치)만 설치 하지 못함

다. 오류 코드 : WindowsUpdate_80092004 또는 80092004, 80073712

2. 오류 화면

가. 한글 OS

 

나. 영문 OS

 

3. 해결 방법

가. 해결 방법 :

KB4490628 (9.1MB) 업데이트 스택을 수동 다운로드 후 설치 

다운로드 링크 : https://www.catalog.update.microsoft.com/Search.aspx?q=KB4490628

패치 설명 : 이 업데이트는 Windows 업데이트를 설치하는 구성 요소인 서비스 스택의 품질을 개선합니다.(뭔말인지..) 

나. 설치화면 : 소요시간 1분내

 

다. 영향도 : KB4490628 패치 후 재부팅 필요 없음,  이후 실패 한 KB4516065(재부팅필요) 업데이트 실행 -> 성공

 

출처 : https://hosts.tistory.com/594

 

KB4516065/KB4519976 : 2019-09/10월 보안 업데이트 실패 해결방법

1. 증상 가. 대상 : Windows 7 SP1 / Windows 2008 R2 (에디션 상관 없음) 나. 업데이트 실패 목록 : KB4516065 또는 KB4519976 (2019-09 또는 10월 누적 보안패치)만 설치 하지 못함 다. 오류 코드 : WindowsUpda..

hosts.tistory.com

 


네임서버를 설정하고 난 후에는 아래의 명령어로 설정사항을 검사할 수 있습니다.

named-checkconf 명령과 named-checkzone 명령어에 대한 사용법을 알아보겠습니다.

=================================================================================
named-checkconf - /etc/named.conf 파일을 검사하는 명령

-사용법
named-checkconf [named 설정파일 경로]

[root@localhost root]# named-checkconf /etc/named.conf
[root@localhost root]#
엔터를 쳤을때 위와 같이 아무런 반응없이 프롬프트가 떨어지면 named.conf 파일에 이상이 없는 것 입니다.

=================================================================================
named-checkzone - /var/named 디렉토리 하위에 설정한 zone 파일을 검사하는 명령

-사용법
named-checkzone [zone 네임] [zone 파일 경로]

------------------------------
zone "hostway.co.kr" IN {
       type master;
       file "hostway.zone";
       allow-update { none; };
};
------------------------------

/etc/named.conf 파일에 위와 같이 zone 설정이 되어 있을때, 아래와 같은 방법으로 검사를 할 수 있습니다.

[root@localhost root]# named-checkzone hostway.co.kr /var/named/hostway.zone
zone localhost/IN: loaded serial 42
OK
[root@localhost root]#

=================================================================================

 

출처 : http://faq.hostway.co.kr/Linux_DNS/2247


확인된 환경 : MySQL 5.0x, MariaDB 10.1.x,

전체 DB 언어셋 및 collation 확인

SELECT SCHEMA_NAME AS 'database', DEFAULT_CHARACTER_SET_NAME AS 'character_set', DEFAULT_COLLATION_NAME AS 'collation' FROM information_schema.SCHEMATA;

특정 db 언어셋 확인

show create database DB명; (Collation확인은) use DB명 → SHOW VARIABLES LIKE 'character_set_database';

특정 테이블 언어셋 확인

show create table 테이블명;  (Collation확인은) SHOW TABLE STATUS WHERE NAME LIKE '테이블명';

특정 테이블 칼럼별 collation 확인

SHOW FULL COLUMNS FROM 테이블명;

특정 데이터베이스의 default character set 수정방법

alter database 디비명 default character set = utf8;

특정 테이블의 default character set 수정방법

alter table 테이블명 default character set = utf8;

[출처] http://www.legendry.net/board_YNNJ65/783


scp 를 이용하면서 아주 가끔씩은 속도 제한을 걸

고 전송 해야하는 경우가 있다.

-l 옵션을 이용하면 속도제한을 걸수 있다.

scp -l 1000 blah.tgz .....

이렇게 쓴경우라면 초당 1000 kbit 전송이니깐 125Kbyte/sec 속도로 전송하게된다

[출처] http://blog.kfmes.com/entry/scp-이용시-속도-제한걸기

 

 

 

 

conf/server.xml 파일에서 아래 항목을 수정한다.

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
 
 port="8080" 을 port="80"으로 변경

만약 위 방법으로 진행했는데 80으로 접속이 안된다면 아래를 시도할 것. 

톰켓은 기본적으로 8080 포트를 이용하여 통신을 수행하게 됩니다.
즉 http://192.168.0.1:8080 과 같은 형식으로 접근해야 합니다.

하지만 접근의 편의성을 위해서는 80포트를 사용하는 것이 더욱 편리할 것입니다.
80 포트를 이용하면 http://192.168.0.1 과 같은 형식으로 접근할 수 있게됩니다.

톰켓 환경설정( usr / local / tomcat / conf / server.xml ) 파일을 수정하여 80포트로 접근하게 설정할 수 있으나 아마 정상적으로 동작하지 않음에 당황하시는 분들도 꽤 될거라 생각됩니다.

리눅스나 유닉스는 1024 이하의 포트(well-known port)들은 일반 유저 권한에서 바인딩 할 수 없도록 되어 있습니다.

보안에 문제가 생길 가능성을 차단하기 위해서 입니다.

톰켓서버는 구동시 tomcat 유저 권한으로 구동되게 됩니다. 물론 root 권한으로 구동되게 한다면 80 포트에 별 문제없이 바인딩하여 통신이 가능합니다. 하지만 톰켓서버가 일반 유저 권한으로 구동되는데는 다 그만한 이유가 있겠지요?

웹을 이용한 해킹을 방지하기 위해서 입니다. tomcat 유저 권한으로 동작하는 톰캣 서버는 공격을 받는다 하더라고 tomcat 유저 권한에 해당하는 부분까지만 접근 가능하기 때문에 root 권한으로 구동되는 것보다는 안전하다고 할 수 있습니다.

이런 문제는 회피하는 가장 좋은 방법은 iptables 를 이용한 포트포워딩 방식을 이용할 수 있습니다.

# vim /etc/sysconfig/iptables
iptables -t nat -A OUTPUT -d localhost -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A OUTPUT -d 192.168.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 8080

# /etc/rc.d/init.d/iptables restart

빨간색 부분을 웹 서버를 구동할 서버의 IP 주소를 적으시면 됩니다.
그럼 80으로 접근한 요청을 리눅스 커널단에서 8080으로 포워딩 시켜주게 됩니다.

관련자료
http://cafe.naver.com/egosproject/29

 

TOMCAT 80 포트 운용방법

톰켓은 기본적으로 8080 포트를 이용하여 통신을 수행하게 됩니다. 즉 http://192...

cafe.naver.com

[원문출처] https://www.happyjung.com:6001/lecture/1228

 

[Linux] Tomcat 80 포트로 바인딩하기 (80, 443 포트 권한 바인딩) > 기술자료 | 해피정닷컴

톰켓은 기본적으로 8080 포트를 이용하여 통신을 수행하게 됩니다. 즉 http://192.168.0.1:8080 과 같은 형식으로 접근해야 …, 해피정닷컴 - 홈페이지제작, 웹에이전시, 웹디자인, 웹사이트 개발 및 리뉴얼, 유지보수, 고급웹디자인, 웹기획, 웹개발

www.happyjung.com:6001

 


# getconf -a | grep glibc
GNU_LIBC_VERSION                   glibc 2.12