웹서비스를 위해 가장 많이 사용하는 Apache, Nginx, Lighttpd (요즘은 많이 쓰지 않죠 ^^;;) 의 경우

각각 SSL 보안서버인증서를 어떻게 설정하는지 간략하게 적어보았습니다. 


 

1. Apache 

 

아래와 같이 설정하고 Apache 데몬을 재시작 합니다.  


NameVirtualHost *:443

 

<VirtualHost *:443>

 ServerName www.domain.com

 DocumentRoot /var/www/site1

 SSLEngine on

 SSLCertificateFile /path/to/www_domain_com.crt

 SSLCertificateKeyFile /path/to/www_domain_com.key

 SSLCertificateChainFile /path/to/rootCA.crt

</VirtualHost>

 

<VirtualHost *:443>

 ServerName www.domain2.com

 DocumentRoot /var/www/site2

 SSLEngine on

 SSLCertificateFile /path/to/www_domain2_com.crt

 SSLCertificateKeyFile /path/to/www_domain2_com.key

 SSLCertificateChainFile /path/to/rootCA.crt

</VirtualHost>


 

2. Nginx


설정파일에 아래와 같이 추가하고

server {

        listen 443 ssl;

        server_name www.domain.com;

 

        ssl_certificate     /usr/share/ssl/certs/www_domain_com_cert.pem;

        ssl_certificate_key /usr/share/ssl/private/www_domain_com_key.pem;

        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;

        ssl_ciphers         HIGH:!aNULL:!MD5;


(이하 설정)

.....................

 

}

 

단, 위 설정을 하기 전에 cert 파일에 root 파일 내용을 추가해야 합니다. 

보통 인증서 발급을 받으면 key, cert 파일과 함께 root 키 파일도 제공합니다. 

# cat  root.cer >> www_domain_com_cert.pem

 


 

3. lighttpd


※ 참고 : http://redmine.lighttpd.net/projects/1/wiki/Docs:SSL

 

vi /etc/lighttpd/lighttpd.conf


$SERVER["socket"] == ":443" {
      ssl.engine = "enable"
      ssl.pemfile = "/to/path/domain_com_key.pem"
      ssl.ca-file = "/to/path/domain_com_cert.pem"
      server.name = "www.domain.com"
      server.document-root = "/home_path/www"
      server.errorlog = "/weblog_path/ssl-domain_error_log"
      accesslog.filename = "/weblog_path/ssl-domain_error_log"
 }

 

, 아래와 같이 key, cert 파일을 하나의 파일로 만드는 작업이 필수입니다. 

cat private/www_domain_com.key certs/www_domain_com.cert > www_domain_com.cert

이렇게 private / cert 합하여 인증서 파일을 만듭니다. 




# Tip 하나 - key 파일 비밀번호 없애기

보안서버인증서를 발급받아 본 분들을 알겠지만 보통 인증서 발급시에 비밀번호를 입력하는데 

이 비밀번호가 웹서버 데몬을 재시작할 때 비밀번호를 입력해야 되기 때문에

자동화하는데도 문제가 있고 매번 입력해야 되니 귀찮을 때가 많다. 

이 비밀번호 입력을 하지 않도록 아래와 같이 key 파일을 재생성하여 저장하면 비밀번호 입력을 하지 않는다. 


openssl rsa -in 키이름.key -out 새로운키이름.key

Posted by 둥파 둥파네

grep 활용

서버다스리기 2014.03.19 10:29

흔히 grep은 어떤 파일에 포함된 문자열을 검색할 때 많이 사용한다.

검색어로는 단순한 단어를 사용하기도 하고 정규식을 이용하기도 한다.

 

[사용법]

grep -B 윗라인 -A 아랫라인 검색어 파일명

-B : before line

-A : after line

 

[사용예] 

grep -B2 -A2 'test' test.txt

=> test.txt 파일에서 test 에 매치되는 라인을 기준으로 상위 2라인, 하위 2라인을 함께 출력

Posted by 둥파 둥파네

출처 : https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s2-diskpartrecommend-ppc.html#id4394007


Redhat 자료에 따르면 RAM이 8G~64GB 사이일 경우 swap은 메모리의 절반정도면 적당하다고 함.

예를 들어 RAM이 16G 이면 swap 은 8G 정도로 설정하면 된다는 얘기.

Memory와 Disk 는 엄청난 속도차이가 나므로 swap을 사용할 정도가 되면 Memory 를 늘려주거나 load balancing 을 생각하는 게 나을 수도 있지만 일시적으로 써야 할 때를 위해 어느 정도 크기는 잡아줘야 함.

Table 16.2. Recommended System Swap Space

Amount of RAM in the systemRecommended swap spaceRecommended swap space if allowing for hibernation
⩽ 2GB2 times the amount of RAM3 times the amount of RAM
> 2GB – 8GBEqual to the amount of RAM2 times the amount of RAM
> 8GB – 64GB0.5 times the amount of RAM1.5 times the amount of RAM
> 64GB4GB of swap spaceNo extra space needed





Posted by 둥파 둥파네

 

소스다운로드 : cacti-spine-0.8.7a.tar.gz

사이트에서 직접 다운로드 : http://www.cacti.net/downloads/spine/cacti-spine-0.8.7a.tar.gz

 

아래 순서대로 진행하면 설치가 된다고 한다.

안타깝게도 필자는 7번 make 과정에서 에러가 나서 진행할 수 없었다. ㅡㅡ;

 

  1. shell>aclocal
  2. shell>libtoolize --force  (glibtoolize --force on Max OS)
  3. shell>autoheader
  4. shell>autoconf
  5. shell>automake
  6. shell>./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc
  7. shell>make
  8. shell>make install
  9. vi /etc/spine.conf
    DB_Host 127.0.0.1 또는 localhost가 아닌 호스트네임
    DB_Database cacti 데이터를 저장하는 DB명
    DB_User cacti유저ID
    DB_Password 비밀번호
    DB_Port 3306  <-- DB접속포트, mysql을 사용한다면 기본 3306 포트를 사용하므로 그대로 두면 된다.

 

이 글은 스프링노트에서 작성되었습니다.

Posted by 둥파 둥파네

 

출처 : http://www.cacti.net/downloads/docs/html/index.html

이 문서는 Cacti 공식사이트에 있는 install 문서를 나름대로 번역, 수정한 문서입니다.

 

부록  : cacti-spine 설치와 설정

 

설치전 필요한 패키지
  • httpd
  • php
  • php-mysql
  • php-snmp
  • mysql
  • mysql-server
  • net-snmp

 

설치 및 설정
  1. 소스파일의 압축을 푼다.
    shell> tar xzvf cacti-version.tar.gz 
  2. MySQL DB를 생성한다.
    shell> mysqladmin --user=root create cacti 
  3. 기본 cacti 테이블을 생성한다.
    shell> mysql -u root {cacti정보를 저장할 DB명} -p < cacti.sql
         예) DB명이 cacti_db라면 
         shell> mysql -u root cacti_db -p < cacti.sql
  4. cacti를 위한 MySQL id/password를 설정한다.
    shell> mysql --user=root mysql
    mysql> GRANT ALL ON cacti.* TO {cacti유저 DB ID}@localhost IDENTIFIED BY '비밀번호';
    mysql> flush privileges;
  5. include/config.php 파일을 적절히 수정한다.
    $database_type = "mysql";
    $database_default = "cacti정보를 저장할 DB명";
    $database_hostname = "localhost";
    $database_username = "{cacti유저 DB ID}";
    $database_password = "비밀번호";
  6. cacti 그래프와 로그를 저장할 디렉터리의 퍼미션을 조정한다.
    shell> chown -R cacti유저ID rra/ log/
  7. cron 에 아래 라인을 추가한다.
    */5 * * * * cacti유저ID php /cacti설치경로/poller.php > /dev/null 2>&1
  8. 아래 URL로 접속하여 admin 으로 로그인하여 설치과정을 진행한다.
    http://{서버URL}/cacti/

이 글은 스프링노트에서 작성되었습니다.

Posted by 둥파 둥파네

Apache2 와 PHP 설치 및 설정

: 몽땅 yum을 이용하여 설치함 (귀차니즘의 압박 OTL)

 

Apache2 설치

yum install httpd httpd-devel

 

PHP설치

yum install php php-devel php-gd php-common php-xml php-pear php-mysql php-mbstring

이 글은 스프링노트에서 작성되었습니다.

이 글은 스프링노트에서 작성되었습니다.

Posted by 둥파 둥파네
쉘스크립트에서 변수값을 직접 변경함
 
예)
#!/bin/bash
TEST="test02"
TEST2=${TEST/test/TEST}
echo $TEST2
 
설명 : test -> TEST로 변경
 
[ 문법 ]
${변수명/이전단어/새단어}

이 글은 스프링노트에서 작성되었습니다.

Posted by 둥파 둥파네