인증서는 보통 1년 또는 2년짜리로 발급받으며, 제때에 인증서를 업데이트 하지 않으면 사용자에 불편을 초래할 수 있다.

SSL 인증서 만료기간을 확인하는 방법은 아래와 같다.

1. 브라우저 주소창에서 인증서 확인하기

브라우저 주소 입력창에서 https:// 로 호출 한 후, "자물쇠" 모양을 클릭하면 인증서 기간(시작일자 - 만료일자)을 확인할 수 있다.

2. openssl 명령어로 cert 파일 해독하기

* 명령어
$ openssl x509 -in [SSL 인증서 경로]/[cert 파일명] -noout -dates

* 예시)

$ openssl x509 -in /data/www_sample.crt -noout -dates

notBefore=May 2 09:10:11 2020 GMT
notAfter=May 1 09:10:11 2021 GMT

3. openssl 명령어로 원격에 설치되어 있는 인증서 만료일 확인

* 명령어
$ echo | openssl s_client -servername [서버/DNS] -connect [서버/DNS:포트] 2>/dev/null | openssl x509 -noout -dates

* 예시)

$ echo | openssl s_client -servername www.sample.co.kr -connect www.sample.co.kr:443 2>/dev/null | openssl x509 -noout -dates
또는
$ echo | openssl s_client -servername 10.x.x.x -connect 10.x.x.x:443 2>/dev/null | openssl x509 -noout -dates

notBefore=May 2 09:10:11 2020 GMT
notAfter=May 1 09:10:11 2021 GMT

APACHE 2.4에 SSL을 적용 후 재구동하였을때 아래와 같은 메세지가 나왔다

AH00526: Syntax error on line 92 of /usr/local/apache/conf/extra/httpd-ssl.conf:

SSLSessionCache: 'shmcb' session cache not supported (known names: ). Maybe you need to load the appropriate socache module (mod_socache_shmcb?).

위 에러는 모듈을 로드 해줘야 한다

httpd.conf 를 열어 아래의 모듈을 추가 해주자

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

추가 후 APACHE를 재구동 해주면 정상작동되는 것을 확인 할 수 있다.


출처 : https://note-it.tistory.com/29

파일 탐색기 다시 시작
파일 탐색기는 전체 Windows 시스템의 기본 프로세스 중 하나입니다. 좋은 출발점은 다시 시작하고 문제의 파일이나 폴더가 나중에 잠금 해제되는지 확인하는 것입니다.

CTRL+ALT+DELETE를 눌러 작업 관리자를 엽니다.
프로세스 탭에서 Windows 탐색기를 찾습니다.
마우스 오른쪽 버튼으로 클릭하고 드롭다운 메뉴에서 다시 시작을 선택합니다.
이제 오류가 사라졌는지 확인하십시오.

apache 설정에서 proxy를 사용하기 위해서 mod_proxy 와 관련된 몇가지 so파일들을 컴파일 하는 방법에 대해 정리해 드리겠습니다.

별로 어렵지 않으니 따라하시다 보면 /modules/ 안에 mod_proxy.so파일이 생성된걸 확인하실수 있으실거예요.

apache mod_proxy.so 컴파일 방법

1) /apache/httpd-2.2.34/modules/proxy 해당 경로 이동

2) 아래 4개 컴파일 수행 (apache-2.2.34 설치된곳 경로지정)

/apache/apache-2.2.34/bin/apxs -i -a -c mod_proxy.c proxy_util.c

/apache/apache-2.2.34bin/apxs -i -a -c mod_proxy_http.c proxy_util.c

/apache/apache-2.2.34bin/apxs -i -a -c mod_proxy_connect.c proxy_util.c

/apache/apache-2.2.34/bin/apxs -i -a -c mod_proxy_ajp.c proxy_util.c ajp_header.c ajp_utils.c ajp_link.c ajp_msg.c

3) /apache/apache-2.2.34/modules 경로에 proxy 관련 파일 생성 확인 (4개)

mod_proxy_ajp.so
mod_proxy_connect.so
mod_proxy_http.so
mod_proxy.so

4) httpd.conf 에 삽입

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so

위처럼 하시면 일단 apache 에서 proxy를 사용하기 위핸 최소 조건인 mod_proxy.so파일의 설정이 완료된것입니다.

그럼 열공하세요..^^~

출처 : https://m.blog.naver.com/kletgdgo/90141426279

1. 자르기

[ 명령 ]
# echo "scale=2;1.16628996273/1" |bc -l

[ 결과 ]
1.16

여기에서 scale=2 부분이 소수점 두 자리까지 출력을 한다는 의미 입니다.

그리고 1.16628996273/1 는 계산 식인데, 숫자만으로 표현하면 처리가 되지 않으니

꼭 계산식으로 해야 해서 나누기 1을 해준 것입니다.

 

2. 반올림 하기

[ 명령 ]
# echo $(printf %.2f 1.16628996273)

[ 결과 ]
1.17

출처 : https://sysdocu.tistory.com/1526

[root@localhost bin]# ./httpd -t

httpd: Syntax error on line 150 of /usr/local/apache/conf/httpd.conf: Cannot load modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: undefined symbol: unixd_config

아파치 시동시에 위와 같은 에러가 뜬다.

버전정보는

Server version: Apache/2.4.53 (Unix)
PHP 5.2.17 (cli)

보통 위 에러는 apache2와 php4.x로 컴파일 할때에 생기는 오류지만 apache2.4와 php5.2에서도 발생이 되기도 한다.
php압축해제경로/sapi/apache2handler/에서 php_functions.c 파일을 일부 수정한다.
 
[PHP 5.2.17 의 경우]

>line 386

#if !defined(WIN32) && !defined(WINNT) && !defined(NETWARE)
        AP_DECLARE_DATA extern unixd_config_rec ap_unixd_config;
#endif

 

>line 417

#if !defined(WIN32) && !defined(WINNT) && !defined(NETWARE)
        snprintf(tmp, sizeof(tmp), "%s(%d)/%d", ap_unixd_config.user_name, ap_unixd_config.user_id, ap_unixd_config.group_id);
        php_info_print_table_row(2, "User/Group", tmp);
#endif

 

재 컴파일 후 Syntax 테스트

[root@localhost bin]# ./httpd -t
Syntax OK

[PHP 4.4.8 의 경우]

php4소스파일에서 아래 경로의 파일을 수정해야합니다.

/sapi/apache2handler/php_functions.c

붉게 표시된 부분을 기존 unixd_config -> ap_unixd_config로 수정

373라인
AP_DECLARE_DATA extern unixd_config_rec unixd_config;

404라인
snprintf(tmp, sizeof(tmp), "%s(%d)/%d", unixd_config.user_name, unixd_config.user_id, unixd_config.group_id);

ap_get_server_version -> ap_get_server_banner로 수정

327라인
return (char *) ap_get_server_version();

수정 후 에 재 컴파일

출처 : https://rootrator.tistory.com/112

 

apache 시동시 에러 "undefined symbol: unixd_config"

[root@localhost bin]# ./httpd -thttpd: Syntax error on line 150 of /usr/local/apache/conf/httpd.conf: Cannot load modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: undefined symbol: unixd_config 아파치 시동시에 위와 같은 에

rootrator.tistory.com

출처 : https://darksharavim.tistory.com/333

 

[PHP]libphp4.so: undefined symbol 오류

환경 : centos7+apache2.4.6(RPM)+php4.4.9(src) 위 환경에서 아파치 구동시 아래와 같이 오류가 발생하여 확인해본 결과 libphp4.so: undefined symbol: unixd_config libphp4.so: undefined symbol: ap_get_server_version apache버전업

darksharavim.tistory.com

 

프로젝트를 진행하면서 특정폴더 안에 있는 파일리스트가 필요한 상황이었는데

DOS 명령어중 dir 명령어에 옵션을 넣어 사용하면 쉽게 파일 리스트를 텍스트 파일로 저장할 수 있습니다.

dir/b

dir 명령어에 /b 옵션을 붙이면  아래와 같이 파일명들만 출력됩니다.

dir/b 명령 결과

dir/b/s

여기에 /s 옵션을 더해주면 파일의 full 경로가 아래처럼 출력됩니다.

dir/b/s 명령 결과

이제 여기서 화면에 출력된 내용을 텍스트 파일로만 저장하면 됩니다.

방법은 > 기호를 사용하여 파일로 저장할 수 있습니다.

위와 같은 명령어를 실행하면 FileList.txt 파일로  파일리스트가 아래와 같이 저장됩니다.

참 쉽죠? ^^

 

ssh 로그인할때 로그인이 느려지는 현상
로그인을 할때 로그를 보면
john dbus[7254]: [system] Failed to activate service 'org.freedesktop.login1': timed out

로그인 timed out 이 뜨면서 계속 지연이 발생이 된다. 이걸 해결하기 위해서는
# systemctl restart systemd-logind
위 명령어를 입력해서 재구동 해주면 정상적으로 빠르게 로그인이 된다.

출처 : https://algo79.tistory.com/1277

 

우리는 대체로 이렇게 생각한다.

ctime : create time , mtime = modify time , atime = access time 이라고 생각한다. 

하지만 이렇게 생각하면 안된다.

ctime : 파일이나 inode 값이 바뀐 시점이다. 다시말해 속성값이 바뀐시점이다. 퍼미션이나 소유주, 파일크기 등 파일 속성값이 변경되었을 때 ctime 은 갱신된다.

mtime : 파일의 수정시간이다. 이는 속성이 아닌 파일의 내용이 바뀌었을때 이 값이 바뀐다. 주의할 것은 파일 내용이 바뀌면 파일의 크기가 달라진다. 이때 파일의 크기가 속성이므로 ctime도 갱신된다. 만약 파일 내용을 수정했는데 파일 크기가 바뀌지 않았을수 있다. 이때는 ctime이 바뀌지 않을까? 파일이 수정되면 mtime 이 바뀐다. mtime 은 파일의 속성이다. 때문에 ctime이 바뀐다.

** mtime은 대체로 ctime 과 같다. mtime이 갱신되면 ctime도 갱신된다. 하지만 ctime이 변경된다고 mtime이 변경되지는 않는다.

atime : 파일을 오픈하면 atime이 갱신된다. grep , sort, cat 등등 명령을 주거나 open() 함수로 열었을때 

파일의 ctime, mtime, atime을 쉘에서 ls로 확인법

ls의 옵션으로 -u 는 atime, -c는 ctime,  옵션이 없다면 mtime을 출력한다.

-u 와 -c 는 동시에 사용될 수 없다.

아래 포스팅을 참조하면 도움이 된다.

https://mapoo.net/os/oslinux/find%eb%a1%9c-%ea%b2%80%ec%83%89%ec%8b%9c-%ec%98%b5%ec%85%98%ec%9d%98-atime-ctime-mtime%ea%b3%bc-%ec%a1%b0%ed%95%a9%eb%90%98%eb%8a%94-%ec%8b%9c%ea%b0%84-%ea%b8%b0%ec%a4%80%ed%91%9c/

 

find로 검색시 옵션의 atime, ctime, mtime과 조합되는 시간 기준표 – mapoo's blog

-atime +n/-n/n 엑세스 시점으로 검색. cat, sort, open() 등을 하였을 때 -ctime +n/-n/n 파일의 속성값이 바뀐 시점으로 검색. (권한,inode,소유주 등) -mtime +n/-n/n 파일의 내용이 바뀐 시점으로 검색. 파일의 크

mapoo.net

 

출처 : https://mapoo.net/os/oslinux/%eb%a6%ac%eb%88%85%ec%8a%a4-ctime-mtime-atime-%eb%8b%a4%eb%a5%b8-%ec%a0%90-%ec%84%a4%eb%aa%85/