'리눅스'에 해당되는 글 78건

  1. 2015.04.14 우분투 싱글모드 접속
  2. 2015.04.13 raid 구성
  3. 2015.04.13 ftp user 폴더변경 접속제한 사용권한
  4. 2015.04.13 Apache : CSR 생성 및 SSL 인증서 적용
  5. 2015.04.09 sftp
  6. 2015.04.09 sendmail + dovecot
  7. 2015.04.08 톰캣 아파치 연동하기
  8. 2015.04.07 crontab
  9. 2015.04.07 etc/host.conf
  10. 2015.04.06 mysql 테이블 복구


grub모드에서 e 키 입력


linux /boot/vmlinuz...~ ro


ro 를 변경한다


rw single init=/bin/bash 입력후 ctrl+x

'리눅스' 카테고리의 다른 글

HDD 파티션, 마운트, 포멧  (0) 2015.04.15
configure 옵션 확인  (0) 2015.04.15
raid 구성  (0) 2015.04.13
ftp user 폴더변경 접속제한 사용권한  (0) 2015.04.13
Apache : CSR 생성 및 SSL 인증서 적용  (0) 2015.04.13
Posted by Narusika
,

raid 구성

리눅스 2015. 4. 13. 16:49


디스크를 묶어서 하나처럼 쓴다 (100+100=200)




디스크 하나는 원본 하드의 백업용 (100+100=100) 




 최소 3개 이상의 하드디스크로 구성되며, 레이드0처럼 데이터 저장시 각 디스크에 쪼개져서 저장되지만, 패리티 정보란 것이 각각의 디스크에 번갈아가면서 저장되는데, 디스크 하나 고장시 옆 디스크에 있는 패리티 정보로 고장난 디스크를 복구할 수 있다. 즉, 패리티 정보란 다른 디스크에 저장될 정보가 분산되어서 저장이 되므로, 하나의 디스크가 고장나도 분산되어 저장된 패리티 정보로 복구를 시킬수 있다는 것인데, 두개이상의 디스크가 고장나버리면 이또한 황천길.. 그래서, 스패어 디스크를 추가로 장착하기도 한다. / 하드디스크 용량의 총합의 70% 정도로만 사용됨( 나머지 30% 정도는 패리티 정보로 저장 )










데이터는 많은 조직에서 가장 중요하고 요즘 같은 인터넷 시대에는 데이터를 빠르고 믿을 수 있게 접근하는 것이 매우 중요하다. 그렇게 조직은 대부분 데이터를 무결하게 유지하기 위해 RAID의 어떤 레벨을 사용한다. 


요즘은 대부분 그렇지만 RAID 5가 쉽고 최선일 것 같기 때문에 얼마나 많은 서버에 RAID 5를 적용하고 있을까? 대부분의 경우 RAID 5가 옳은 선택이지만 쓰기 성능을 고려한다면 다른 RAID 레벨이 최선일지도 모른다. 


지금 얼마나 많은 사람들이 RAID 10과 50를 즉석해서 설명할 수 있을까? 새로 발명된 RAID 레벨이 RAID 5의 단점을 보완할 수 있고 아직도 스토리지 시스템에서는 많은 것을 예비용으로 사용한다. 이 글에서 기본적인 RAID 레벨의 장단점을 소개하고 다음 글에서 나는 RAID 10같이 네스티드(nested)라고 불리는 좀 더 복잡한 RAID 레벨을 소개하려고 한다. (주: http://www.acnc.com/04_00.html에서 각 RAID 레벨의 그림을 볼 수 있다.)


RAID 0(디스크 스트라이핑)

* 최소 드라이브 개수 : 2

* 최대 용량 : 디스크의 수 x 디스크의 용량

* 설명 : 데이터를 블럭으로 쪼개서 저장하는데 각 블럭은 다른 디스크로 나뉘어 저장된다. 


* 장점 : 매우 빠르다. 데이터는 여러 개의 "모터(spindles)"로 스토리지에서 읽고 쓴다. 즉, I/O 로드가 분산되는 것을 의미하기 때문에 매우 빠르다. 이론적으로 디스크를 추가하는 족족 성능은 향상된다. 보통 엄청난 성능이 필요할 때 사용하는데 성능이 정말 좋은지 알아 보기 위해 스토리지를 아이오미터(IOmeter)같은 도구를 사용하여 확인한다.

* 단점 : 드라이브 하나가 고장 나면 이 RAID 레벨은 어떤 안전장치도 없기 때문에 천체 어레이가 고장 날 수 있고 디스크를 추가할 수록 위험이 증가한다.(주: 어레이는 여러 개의 디스크 배열을 의미)


RAID 1 (디스크 미러링)

* 최소 드라이브 개수 : 2

* 최대 용량 : (디스크의 수/2) x 디스크의 용량

* 설명 : 스토리지에 저장되는 모든 데이터는 두 개의 물리적인 디스크에 각각 저장되고 모든 데이터는 중복된다.


* 장점 : 드라이브 하나가 고장 나면 똑같은 내용의 다른 드라이브가 하나 더 있기 때문에 매우 안전하다. RAID 1은 읽기 성능이 단일 드라이브에서의 성능과 같거나 훨씬 좋다. 

* 단점 : 각 드라이브는 미러링되기 때문에 전체 용량의 절반밖에 사용하지 못한다. 드라이브 두 개에 동일한 데이터를 써야 하기 때문에 쓰기 성능이 나빠질 수 있지만 아직 다른 RAID 레벨의 쓰기 성능보다는 훨씬 낫다. 


RAID 2: 이 레벨은 더 이상 사용되지 않는다


RAID 3(패리티를 사용하고 디스크를 병렬로 처리한다)

* 최소 드라이브 개수 : 3 

* 최대 용량 : (디스크의 수 - 1) x 각 디스크의 용량

* 설명 : 데이터는 바이트 단위로 쪼개져서 모든 디스크에 균등하게 나뉘어 저장되고 패리티 정보는 별도의 전용 디스크에 저장된다.


* 장점 : 한 개의 드라이브가 고장 나는 것을 허용하며 순차적 쓰기(sequential write) 성능과 순차적 읽기(sequential read) 성능이 우수하다. 

* 단점 : 잘 사용되지 않고 문제를 해결하는 것이 어려울 수 있다. 하드웨어 RAID가 되어야 실제로 쓸만하다. RAID 3은 보통 매우 효율적이지만 임의 쓰기(random write) 성능이 나쁘고 임의 읽기(random read) 성능은 꽤 좋다. . 


RAID 4 (각 디스크는 패리티 블럭을 공유한다)

* 최소 드라이브 개수 : 3

* 최대 용량 : (디스크의 수 - 1) x 디스크의 용량

* 설명 : 모든 파일은 블럭으로 쪼개지고 각 블럭은 여러 디스크에 저장되지만 균등하진 않다. RAID 3처럼 RAID 4도 패리티를 처리하기 위해 별도의 디스크를 사용한다. 동시 트랜잭션 사용량이 많은 시스템에서 읽기 속도는 매우 중요한데 이런 시스템에 적합하다. 

* 장점 : 드라이브 하나가 고장 나는 것을 허용하고 읽기 성능이 매우 좋다. 

* 단점 : 쓰기 성능이 나쁘지만 블럭 읽기(block read) 성능은 괜찮다. 


RAID 5(패리티를 순환시키는 것 없이 각 어레이에 접근한다)

* 최소 드라이브 개수 : 3

* 최대 용량 : (디스크의 수 - 1) x 디스크의 용량

* 설명 : RAID 4처럼 데이터의 블럭은 모든 디스크에 나뉘어 저장되지만 항상 균등하진 않고 패리티 정보도 모든 디스크에 나뉘어 저장된다. 

* 장점 : 지원하는 회사가 많고 한 개의 드라이브가 고장 나는 것을 허용한다. 

* 단점 : 디스크 재구성(rebuild)이 매우 느리고 쓰기 성능은 패리티 정보를 끊임없이 갱신해야 하기 때문에 우수하다고 할 수는 없다. 


RAID 6(각 디스크에 패리티 정보가 두 번 독립적으로 분산된다) 

* 최소 드라이브 개수 : 3

* 최대 용량 : (디스크의 수 - 2) x 디스크의 용량

* 설명 : RAID 4처럼 데이터의 블럭은 모든 디스크에 나뉘어 저장되지만 항상 균등하진 않고 패리티 정보도 모든 디스크에 나뉘어 저장된다. 


* 장점 : 두 개의 드라이브까지 고장 나는 것을 허용하고 읽기 성능이 우수하고 매우 중요한 경우에 적합하다. 

* 단점 : 쓰기 성능은 패리티를 여러 번 갱신해야 하기 때문에 RAID 5보다 매우 나쁘다. 디스크를 재구성하는 동안에 성능이 매우 나빠질 수 있다.


'리눅스' 카테고리의 다른 글

configure 옵션 확인  (0) 2015.04.15
우분투 싱글모드 접속  (0) 2015.04.14
ftp user 폴더변경 접속제한 사용권한  (0) 2015.04.13
Apache : CSR 생성 및 SSL 인증서 적용  (0) 2015.04.13
sftp  (0) 2015.04.09
Posted by Narusika
,


유저 폴더 변경


1.

ex) vi /etc/passwd


 2.

test 계정에 해당하는 라인으로 이동

ex) test:x:1111:1111::/home/test:/bin/bash


 3.

test 계정에 해당하는 라인 중 홈디렉토리 부분을 /data 로 수정

ex) test:x:1111:1111::/data:bin/bash


 4.

이제 ftp 로 test 계정에 접속하면 /data 가 홈디렉토리가 됩니다.


 5.

test계정으로 /data 디렉토리를 사용할 수 있도록

chown 명령으로 /data 디렉토리의 소유권을 test로 변경해 줍니다. 

ex) chown test /data

 chown -R test /data   (하위 폴더 까지 모두 소유권 변경)





vi /etc/vsftpd.conf

#접속 제한 및 사용권한

listen=YES                #standalone 으로 서비스여부(아닐경우 inetd에 수동추가)

                          #다수의 사용자시 standalone가 유리하다.

anonymous_enable=YES      #익명연결을 허용하려면 주석제거

local_enable=YES          #로컬계정 사용자들의 접속 허용 

write_enable=YES          #FTP 전송명령어 중 write를 허용여부  

local_umask=022           #같은그룹과 Others 그룹의 쓰기권한 금지

ascii_upload_enable=YES   #ASCII 파일 업로드 가능 

ascii_download_enable=YES #ASCII 파일 다운로드 가능 

dirmessage_enable=YES     #디렉토리 이동시 메세지 표시여부

xferlog_enable=YES        #트레이스 로그여부

 

#환영 메세지

ftpd_banner=Welcome to Damul Project baikal FTP service.

#파일시스템 접근제한 설정

chroot_local_user=YES   #계정 홈디렉토리 상위폴더 이동제한

chroot_list_enable=YES  #아래 파일을 사용여부 

# (default follows)     

#위의 값이 모두 YES이면,아래파일을 생성하여 제한풀어줄 대상자의 id를 1행당 1개씩 기술.

#파일질라가 자체 캐싱을 하는건지,바로 적용은 안되고 몇번이고 데몬을 restart한

#후에 반영이 되는듯 하다.

#반대로 chroot_local_user=NO이면

#아래 파일의 내용은 계정 상위폴더 이동 제한을 걸 사용자들을 기술한다.

chroot_list_file=/etc/vsftpd.chroot_list

#재시작

sudo service vsftpd restart



★usermod

사용자의 정보를 변경하는 명령이다.


- 사용법

usermod [옵션] 홈디렉토리 계정


- 옵션

-c : 사용자의 설명을 수정한다.

-d 홈 디렉토리 : 사용자의 홈 디렉토리를 변경한다.

-G 그룹 : 사용자의 그룹을 변경한다.

-s shell : 사용자의 로그인 셀을 변경한다.


webdev 사용자의 홈디렉토리를 변경해보자.

[root@host3 root]# usermod -d /usr/java/apache-tomcat-7.0.53/webapps/ROOT webdev

홈디렉토리 변경.


[root@host3 root]#  chmod a-w /usr/java/apache-tomcat-7.0.53/webapps/ROOT

vsftpd 상위 디렉토리 접근을 막기위해 폴더 권한 설정


/etc/init.d/xinetd restart



'리눅스' 카테고리의 다른 글

우분투 싱글모드 접속  (0) 2015.04.14
raid 구성  (0) 2015.04.13
Apache : CSR 생성 및 SSL 인증서 적용  (0) 2015.04.13
sftp  (0) 2015.04.09
sendmail + dovecot  (0) 2015.04.09
Posted by Narusika
,

Apache : CSR 생성 및 SSL 인증서 적용

[본 가이드는 인증서 적용시 참고 예제이며, 고객사 서버에 설치/적용의 완벽한 성공을 보증하지는 않습니다]

Apache 설치방법 보기

Apache 웹서버에 SSL를 적용하기 위해 아래 두 항목이 웹서버에 설치되어 있어야 합니다.

- Openssl 암호화 라이브러리 
- Mod_ssl 모듈 

위 두 항목이 웹서버에 설치되어 있다면 개인키를 생성하고 생성된 개인키를 바탕으로 CSR 파일을 생성합니다. 
생성된 CSR 파일을 한비로에 접수하여 정식 인증서를 발급받습니다.
발급된 인증서를 웹서버에 설치하게 되면 SSL 설정을 완료하게 됩니다.

위 일련의 진행사항은 아래와 같은 절차를 따르게 됩니다. 

1. openssl 라이브러리 설치상태 확인 
2. mod_ssl 모듈 설치상태 확인 
3. 개인키 생성 
4. CSR 생성 
5. 한비로에 접수 
6. 정식 인증서 발급 
7. SSL 설정


1. Openssl 라이브러리 설치상태 확인

먼저 SSL를 설치하고자 하는 웹서버에 openssl 라이브러리 설치상태를 find 명령어를 활용하여 아래와 같이 확인합니다.
 
위와 같은 값을 보인다면 openssl 라이브러리 모듈은 rpm으로 설치된것입니다.
만약에 경로가 /usr/local 아래 있다면 모듈은 소스로 설치된 것입니다. 
rpm으로 설치된 것이라면 rpm -qa 명령어를 사용하여 openssl-devel 설치여부도 함께 점검합니다. 버전에 따라 라이브러리 버전이 아래보이는 값과 차이가 있을수 있습니다. 


Openssl 은 암호화 처리를 위한 독립 모듈로 최신버젼으로 설치하는 것을 권장합니다.


2. Mod-ssl Openssl 라이브러리 설치상태 확인

Openssl 과 마찬가지로 웹서버의 mod_ssl 설치여부를 점검합니다. 
Apache 웹서버는 두가지 방식으로 모듈설치를 지원하고 있습니다. 정적과 동적인 방식으로 정적으로 설치된 경우는 아파치의 재설치까지 요구되며 동적인 경우는 손쉽게 모듈 설치가 가능합니다. 
Apache 가 /usr/local 아래 설치된 것을 기준으로 아래와 같은 방식으로 확인합니다. 

정적으로 설치된 mod_ssl 모듈확인

동적으로 설치된 mod_ssl 모듈확인

웹서버에 설치된 모듈중 mod_so.c 를 먼저 확인후 동적으로 설치된 모듈중 mod_ssl.so 를 확인합니다.
동적으로 설치된 경우 apache 설치 디렉토리의 module 이나 libexec 디렉토리내에 mod_ssl.so 의 존재여부를 확인합니다.


3. 개인키 생성

Openssl 명령어를 이용하여 웹서버의 RSA키( 2048비트 암호화 )를 생성합니다. ( sslhanbiro.key 는 임의로 지정된 키값입니다. 원하는 이름으로 키를 생성합니다. )
패스워드를 지정하게 됩니다. 이때 입력된 패스워드는 차후 여러차례 사용되므로 본인만이 알 수 있는 패스워드로 지정해 주시는 것이 좋습니다.

윈도우 아파치 이용하실 경우 '-des3' 구문은 제외하시기 바랍니다. 
이때 생성되는 개인키는 반드시 백업을 받아놓고 사용하는 것이 좋습니다. 
생성된 키는 아래와 같이 확인이 가능합니다. 패스워드를 확인 하는데 이때는 키생성시 입력한 패스워드를 입력합니다.
개인키 생성까지 완료되면 이제 CSR 생성을 하게됩니다.



4. 인증요청서( CSR ) 생성

*발급이 완료된 인증서는 재발급 또는 변경이 불가하므로 CSR 생성시 절대 주의 바랍니다. 

☞ CSR ( Certificate Signing Request ) 이란?


SSL 서버를 운영하는 회사의 정보를 암호화하여 인증기관으로 보내 인증서를 발급받게 하는 일종의 신청서입니다. 
CSR은 ASCII 텍스트 화일로 생성됩니다. 
CSR을 생성할 때 서버의 식별명을 입력하게 됩니다. 식별명은 각 서버를 공유하게 나타내는 이름으로 다음과 같은 정보를 포함합니다. 

Country Name ( 국가코드) [] : KR
State or Province Name ( 지역 ) [] : Seoul
Locality Name ( 시/군/구 ) [] : Seocho
Organization Name ( 회사명 ) [] : Hanbiro Inc
Organizational Unit Name ( 부서명 ) [] : Linux Team
Common Name ( 서비스도메인명 ) [] : www.hanbiro.com
Email Address [] : hanbiro@hanbiro.com

☞ CSR 항목에 대한 설명

Country Name : 이것은 두 자로 된 ISO 형식의 국가 코드입니다. 
State or Province Name : 시 이름을 입력해야 하며 약어를 사용할 수 없습니다. 
Locality Name : 이 필드는 대부분의 경우 생략이 가능하며 업체가 위치한 곳를 나타냅니다. 
Organization : 사업자 등록증에 있는 회사명과 일치되는 영문회사명을 입력하시면 됩니다. 
Organization Unit : "리눅스 관리팀", "윈도우 관리팀" 등과 같이 업체의 부서를 입력할 수 있습니다. 
Common Name : 인증받을 도메인주소를 입력하시면 됩니다.

이 정보로 웹 사이트를 식별하므로 호스트 이름을 변경할 경우 다른 디지털 ID를 요청해야 합니다. 
호스트에 연결하는 클라이언트 브라우저가 디지털 ID의 이름과 URL이 일치하는지를 확인합니다. 

☞ CSR 항목 입력시 주의사항
* Common Name 에는 인증서를 설치할 사이트의 도메인의 이름을 정확하게 입력하셔야 합니다.
* Common Name 에는 IP 주소, 포트번호, 경로명, http:// 나 https:// 등은 포함할 수 없습니다.
* CSR 항목에는 < > ~ ! @ # $ % ^ * / \ ( ) ? 등의 특수 68 문자를 넣을 수 없습니다.
* CSR 생성후 서버에 개인키 (Private Key) 가 생성됩니다. 개인키를 삭제하거나 분실할 경우 인증서를 발급받아도 설치가 불가합니다. 따라서 꼭 개인키를 백업받아 두셔야 합니다.
* 정보입력과정 마지막에 나오는 A challenge password 와 An optional company name 두 항목은 입력하지 마시고 Enter 만 누르고 넘어가야 합니다. 두 정보가 입력될 경우 잘못된 CSR 생성될 수 있습니다.

↘ 위 주의사항을 유의하여 아래와 같은 절차로 CSR 생성을 진행합니다.
(* 윈도우+아파치의 경우 -config "openssl.cnf 절대 경로" 입력 하시기 바랍니다.)

↘ 생성된 CSR 정보는 아래처럼 확인이 가능합니다.


5. 한비로에 접수--->6. 정식 인증서 발급

생성된 CSR 을 출력하면 아래와 같은 base64 형식의 문서를 볼 수 있습니다.

이문서의 첫 줄 -----BEGIN … 부터 마지막 줄 -----END … 까지 복사하여 지정된 SSL 접수페이지에 복사하여 붙여 넣은 뒤 입력정보와 함께 전송하면 접수가 완료됩니다.

7. 인증서 설치

접수한 CSR 파일이 정상적으로 생성되었다면 별다른 문제없이 인증서를 발급 받을 수 있습니다.
인증서 파일은 신청시 기록한 Email 주소를 통해 인증서를 첨부파일로 수신하게 됩니다.

① 인증서 서버에 복사

메일로 받은 인증서 파일을 압축을 해제하시면 AddTrustExternalCARoot.crt,COMODOHigh-AssureanceSecureServerCA.crt, 도메인.crt 3개의 파일을 보실 수 있습니다. 
여기에서 필요한 파일은 COMODOHigh-AssureanceSecureServerCA.crt,도메인.crt 2개의 파일입니다.
이 파일을 서버에서 적절한 위치에 복사합니다.

② 웹서버 환경설정

아파치가 설치된 디렉토리로 이동하여 conf 디렉토리내의 httpd.conf 파일의 복사본을 만들어 둡니다.
웹서버 설정의 기본이 되는 파일로 만일의 경우를 대비하여 백업본을 유지하는 것이 좋습니다.
백업이 완료되면 vi 편집기를 이용하여 httpd.conf 내용중 아래사항을 설정하신 정보에 맞게끔 수정합니다.

httpd.conf 예문

[ InstantSSL , InstantProSSL , PremiumSSL , Premium Wildcard , Multi DomainProSSL 인 경우 ]

[ FreeSSL , PositiveSSL , MultiDomain SSL 인 경우 ]

1. <VirtualHost 127.0.0.1:443> 127.0.0.1 를 사용하는 장비의 아이피로 변경 
 - 443 : SSL 통신포트번호 입니다. 일반적으로 웹서버는 80 포트를 사용합니다. 
2. SSLEngine 스위치 off 를 on 으로 변경해 줍니다. 
3. SSLCertificateFile / SSLCertificateKeyFile 에는 인증서의 설치경로와 개인키 파일의 경로를 적어 줍니다. 


③ root 인증서 경로설정

SSLCACertificateFile 에는 root 인증서 위치를 알려주는 것으로 유저의 브라우저에 신뢰받는 CA리스트가 없을 경우를 위해 경로를 반드시 지정해 주어야 합니다. 


④ 웹서버 재실행

설정파일의 정상적인 수정여부를 점검하기 위한 체크 ./httpd -t 
수정된 사항의 적용을 위해 아파치 데몬정지 ./apachectl stop 
아파치 데몬 활성화 ./apachectl startssl ( 아파치 데몬 활성화는 ./apachectl start 로 가능합니다. 여기에 ssl 를 붙여줌으로서 ssl 를 사용하게 됩니다. )

초기 개인키 생성시 입력했던 패스워드를 기억하시고 계실겁니다. SSL 실행을 위해 패스워드를 물어보는데 이때 개인키 생성시 입력했던 패스워드를 입력하시면 SSL 웹데몬이 활성화 됩니다.

⑤ 웹서버 포트점검

아래와 같이 활성화된 데몬의 포트를 점검해 봅니다.

⑥ 웹서비스 동작상태 점검

인터넷 주소창에 https://사용도메인 와 입력후 해당 페이지의 정상적인 동작 여부를 점검합니다.
SSL 설정한 사이트에 대한 정상적인 서비스 상태 점검

페이지 하단을 보시면 열쇠 아이콘이 보이게 됩니다. 아이콘을 클릭하게 되면 위와 같이 인증서 정보를 확인하실수 있습니다.


https://www.comodossl.co.kr/certificate/ssl-installation-guides/Apache-csr-crt.aspx



'리눅스' 카테고리의 다른 글

raid 구성  (0) 2015.04.13
ftp user 폴더변경 접속제한 사용권한  (0) 2015.04.13
sftp  (0) 2015.04.09
sendmail + dovecot  (0) 2015.04.09
톰캣 아파치 연동하기  (0) 2015.04.08
Posted by Narusika
,

sftp

리눅스 2015. 4. 9. 15:29

# cat /etc/ssh/sshd_config | grep sftp


Subsystem sftp /usr/libexec/openssh/sftp-server


sshd의 서브시스템으로 sftp 서버 기능이 들어가 있다. 

SFTP 서버 모듈은 openssh-server 패키지에 들어 있다.


통신 포트는 22번 기본적으로 ftp는 21번이다.


'리눅스' 카테고리의 다른 글

ftp user 폴더변경 접속제한 사용권한  (0) 2015.04.13
Apache : CSR 생성 및 SSL 인증서 적용  (0) 2015.04.13
sendmail + dovecot  (0) 2015.04.09
톰캣 아파치 연동하기  (0) 2015.04.08
crontab  (0) 2015.04.07
Posted by Narusika
,

sendmail + dovecot

리눅스 2015. 4. 9. 11:32





  sendmail 설치



# yum install sendmail sendmail-cf

 


sendmail.mc 파일수정


52,53 line 수정 (앞부분 dnl 제거)

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

 

 116  line 수정

127.0.0.1을 0.0.0.0으로 개방

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
(수정 후)
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl



m4 명령으로 sendmail.cf 생성

# m4 sendmail.mc > sendmail.cf


sendmail.cf 수정


95line 수정(도메인이 있을 경우 수정. 없다면 크게 신경 안써도 됨)
# my official domain name
# ... define this only if sendmail cannot automatically determine your domain
#DjYour domian name

 445 line 보안을 위해 일부 글자 다음과 같이 삭제
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b
(수정 후)
O SmtpGreetingMessage=$j Sendmail; $b

 /etc/mail/local-host-names 도메인추가
*hostname과 local-host-names과 동일한 도메인 입력할것!


 sendmail 재시작


# service sendmail restart


sendmail 테스트


# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 linux.net ESMTP Sendmail 8.13.8/8.13.8; Tue, 11 Mar 2008 17:36:47 -0400



# yum install dovecot

 

 # vi  /etc/dovecot/dovecot.conf 수정



주석 제거


# Protocols we want to be serving.

protocols = imap pop3 lmtp


# A comma separated list of IPs or hosts where to listen in for connections. 

# "*" listens in all IPv4 interfaces, "::" listens in all IPv6 interfaces.

# If you want to specify non-default ports or anything more complex,

# edit conf.d/master.conf.

listen = *                                                                    


 #/etc/dovecot/conf.d/10-auth.conf  수정


# Disable LOGIN command and all other plaintext authentications unless

# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP

# matches the local IP (ie. you're connecting from the same computer), the

# connection is considered secure and plaintext authentication is allowed.

disable_plaintext_auth = no

정정




 

dovecot 서비스 재시작

 # service dovecot restart

 

 dovecot imap4 서비스 테스트


 # telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
* OK Dovecot ready.


 

 dovecot pop3 서비스 테스트


# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK Dovecot ready.



※ 만약 localhost를 제외한 외부에서 sendmail 혹은 dovecot(imap, pop3)에 텔넷 연결이 되지 않을 경우

    다음 세 가지 사항을 점검해 볼 필요가 있다.

    1. iptables            25번, 110번, 143번 포트가 방화벽에서 허용되고 있는지 유/무

    2. netstat -avp     LISTENINIG 포트 체크

    3. ps -ef | grep sendmail        혹은   ps -ef | grep dovecot

 



-----------------------------------------------------------------------------------------------------------------------------------------------------------------



/etc/dovecot/conf.d/10-mail.conf


# <doc/wiki/MailLocation.txt>


mail_location = mbox:/var/empty:INBOX=/var/spool/mail/%u:INDEX=MEMORY           추가


'리눅스' 카테고리의 다른 글

Apache : CSR 생성 및 SSL 인증서 적용  (0) 2015.04.13
sftp  (0) 2015.04.09
톰캣 아파치 연동하기  (0) 2015.04.08
crontab  (0) 2015.04.07
etc/host.conf  (0) 2015.04.07
Posted by Narusika
,

아파치 및 PHP 는 설치되어있다는 가정하에 설명합니다.

jdk 및 tomcat 은 작성일자 (2013. 10. 08) 최신버전입니다.

 

[설치 버전]

http 2.2.17

jdk 1.7.0_40

tomcat 7.0.42

 

 

1. jdk 다운로드 및 설치

http://java.sun.com 사이트의 'Java SE' 메뉴에서 최신버전의 JDK를 다운로드 받아 서버에 올려놓습니다.

올려놓은 파일을 rpm 명령어로 설치합니다.

 

# rpm -Uvh jdk-7u40-linux-x64.rpm

 

설치가 완료되었으면 환경변수 설정을 합니다.

 

# vi /etc/profile

JAVA_HOME=/usr/java/jdk1.7.0_40

CATALINA_HOME=/usr/local/tomcat

PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

 

저장후 적용을 위해 아래 명령을 실행합니다.

# source /etc/profile

 

java가 정상적으로 설치되었는지 버전을 확인해봅니다.

# java -version

 

java version "1.7.0_40"

Java(TM) SE Runtime Environment (build 1.7.0_40-b43)

Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)

 

 

2. tomcat 다운로드 및 설치

# cd /usr/local/src

# wget http://apache.tt.co.kr/tomcat/tomcat-7/v7.0.42/bin/apache-tomcat-7.0.42.tar.gz

# tar xvzf apache-tomcat-7.0.42.tar.gz

# mv apache-tomcat-7.0.42 /usr/local/tomcat

 

tomcat 이 정상적으로 설치 되었는지 실행을 통해 확인해봅니다.

# startup.sh

 

Using CATALINA_BASE:   /usr/local/tomcat

Using CATALINA_HOME:   /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JRE_HOME:        /usr/java/jdk1.7.0_42

Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

 

 

3. mod_jk 설치

연동에 필요한 커넥터를 다운로드 하고 mod_jk.so 파일을 생성합니다.

 

# wget http://apache.tt.co.kr//tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.37-src.tar.gz

# tar xvzf tomcat-connectors-1.2.37-src.tar.gz

cd tomcat-connectors-1.2.37-src/native

# ./buildconf.sh

# ./configure --with-apxs=/usr/local/apache/bin/apxs

# make

# cp -arp apache-2.0/mod_jk.so /usr/local/apache/modules

 

yum 으로 설치시 apxs가 안보인다.

yum install httpd-devel 설치하자



------ 또다른 방법 ----------

연동에 필요한 커넥터를 다운로드 합니다.

OS bit 수 나 아파치의 버전이 틀리다면 아래 URL 에서 파일명을 제외하고 접속한 뒤

사용하는 버전 디렉토리를 찾아가 다운로드를 하면 됩니다.


# wget http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.31/x86_64/mod_jk-1.2.31-httpd-2.2.x.so

# cp -arp mod_jk-1.2.31-httpd-2.2.x.so /usr/local/apache/modules/mod_jk.so

# chmod 755 /usr/local/apache/modules/mod_jk.so

----------------------------

 

 

4. http + tomcat 연동 설정

아파치 설정 파일을 열어 아파치 구동시 모듈이 불어와지도록 아래 내용을 추가해줍니다.

# vi /usr/local/apache/conf/httpd.conf

LoadModule jk_module modules/mod_jk.so 

 

DirectoryIndex index.html index.htm index.php index.jsp

 

AddType application/x-httpd-php .html .htm .php .inc .jsp

 

<IfModule jk_module>

JkWorkersFile conf/workers.properties

JkShmFile logs/mod_jk.shm

JkLogFile logs/mod_jk.log

JkLogLevel info

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

</ifModule>


# vi /usr/local/apache/conf/workers.properties

workers.tomcat_home=/usr/local/tomcat        // tomcat 설치 디렉토리

workers.java_home=/usr/java/jdk1.7.0_40       // java  설치 디렉토리

worker.list=ajp13

worker.ajp13.port=8009

worker.ajp13.host=localhost

worker.ajp13.type=ajp13 



5. 사이트 설정 (virtualhost)

아파치 설정파일에 사이트를 추가합니다.

# vi /usr/local/apache/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>

    DocumentRoot "/home/neulwon/public_html"

    ServerName neulwon.com

    ServerAlias www.neulwon.com

    JkMount /*.jsp ajp13                 // 각 virtualhost 마다 추가

</VirtualHost> 



환경변수 

vi ~/.bash_profile

 CATALINA_HOME=/home1/tomcat                                                 설치 폴더

 JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.91.x86_64                jdk 

 export  JAVA_HOME CATALINA_HOME                                            







톰캣 설정 파일에 사이트를 추가합니다.

# vi /usr/local/tomcat/conf/server.xml

<Host name="neulwon.com" appBase="/home/neulwon/public_html" unpackWARs="true" autoDeploy="true">

    <Context path="" docBase="/home/neulwon/public_html" crossContext="true" debug="0" reloadable="true"/>

    <Alias>www.neulwon.com</Alias>

</Host>


아파치와 톰캣을 재시작하여 적용하도록 합니다.

jsp 가 잘 불러와지는지 확인을 위해 소스 기본 디렉토리에 index.jsp 라는 샘플 파일을 만들어 넣습니다.

 

# vi /home/neulwon/public_html/index.jsp

<html>

<body>

<%

String str = request.getParameter("name");

if(str == null)

{ str = "JSP"; }

%>

Hello, <%= str %>!!!

</body>

</html> 

 

저장한 뒤, 사이트 접속을 하여 정상 출력되는지 확인합니다.

 

접속 URL : http://neulwon.com/index.jsp

 

정상일 경우 출력 내용 : Hello, JSP!!!

잘못된 경우 출력 내용 : Hello, !!!  또는 소스 내용 출력

 


출처 : http://dbjara.com/board_Ljff80/252

'리눅스' 카테고리의 다른 글

sftp  (0) 2015.04.09
sendmail + dovecot  (0) 2015.04.09
crontab  (0) 2015.04.07
etc/host.conf  (0) 2015.04.07
nginx  (0) 2015.04.03
Posted by Narusika
,

crontab

리눅스 2015. 4. 7. 16:30

/etc/crontab


-e 설정된 파일 편집

-d 등록된 내용 삭제

-l 현재 등록된 내용 보기




  분           시          일         월         요일                명령어

0-59        0-23       0-31       1-12          0-7          실행할 명령 한줄로 적기.


* : 모든 시간

1,3,5   콤마로 구분하여 여러시간대 지정

1-10 시간범위 지정

2-10/3   2~10시까지 3시간 간격으로 (3,6,9를 의미)




ex)

원하는 시간형  식
  매주 토요일 새벽 2:20  20  2     *  *  6  명령어
  매일 오후 4,5,6시  0  4-6   *  *  *  명령어
  매일 2시간간격으로 5분대에  5  */2 *  *  * 명령어
  매월 1일 새벽 1:15  15  1   1  *  *  명령어
  1,7월 1일 새벽 0:30  30  0   1  1,7  *  명령어


'리눅스' 카테고리의 다른 글

sendmail + dovecot  (0) 2015.04.09
톰캣 아파치 연동하기  (0) 2015.04.08
etc/host.conf  (0) 2015.04.07
nginx  (0) 2015.04.03
host 접속 제한  (0) 2015.04.02
Posted by Narusika
,

etc/host.conf

리눅스 2015. 4. 7. 09:46


vi /etc/host.conf


multi on

이라고 적혀있다

multi 옵션은 /etc/hosts 파일에 여러개의 IP 주소를 가질 수 있도록 하는 설정 옵션이다.(복수개의 eth 인터페이스)

1개 이상의 IP주소를 가지고 있는 호스르틑 Multihomed라고 한다. 일반적으로 여러개의 IP주소가 있다는 것은 호스트가 

그만큼의 네트워크 인터페이스가 있다는 것을 의미.

'리눅스' 카테고리의 다른 글

톰캣 아파치 연동하기  (0) 2015.04.08
crontab  (0) 2015.04.07
nginx  (0) 2015.04.03
host 접속 제한  (0) 2015.04.02
ftp root 접근 제한  (0) 2015.04.02
Posted by Narusika
,


1. MySQL 특정 테이블 체크(check)

DB 콘솔 접속 후

# use [DB명];                   => 작업할 DB를 선택

# check table [테이블명];   => 확인할 테이블을 체크



2. MySQL 특정 테이블 복구(repair)

DB 콘솔 접속 후

# use [DB명];                   => 작업할 DB를 선택                 

# repair table [테이블명];    => 복구할 테이블을 복구




3. MySQL 특정 테이블 최적화(optimize)

DB 콘솔 접속 후

# use [DB명];                    => 작업할 DB를 선택

# optimize table [테이블명]; => 최적화할 테이블을 최적화



그리고 위와 같이 특정 테이블에 대해 체크, 복구, 최적화를 할 수 있으나, 서버 장애 등으로 인해 DB의 전체 상태를 점검하거나 전체를 최적화하고 싶을 때는 테이블 하나하나 확인을 하기 어렵다. 그럴 때 아래와 같이 특정 DB의 모든 테이블을 체크하고, 복구하고, 최적화 할 수 있다.



4. MySQL 특정 DB의 모든 테이블 체크 및 자동 복구

서버 콘솔에서

# cd [MySQL_HOME]/bin                                                                

=> MySQL 설치 홈의 bin 폴더로 이동

# ./mysqlcheck -u [DB계정] -p[패스워드] --auto-repair [DB명]           

=> 해당 DB의 모든 테이블을 체크 및 자동복구



5. MySQL 특정 DB의 모든 테이블 최적화

서버 콘솔에서

# cd [MySQL_HOME]/bin                                                                

=> MySQL 설치 홈의 bin 폴더로 이동

# ./mysqlcheck -u [DB계정] -p[패스워드] --optimize [DB명]               

=> 해당 DB의 모든 테이블을 최적화


출처:http://nota.tistory.com/74

'리눅스 > mysql' 카테고리의 다른 글

mysql 실행 에러  (0) 2015.06.08
mysql 실행 오류  (0) 2015.05.30
mysql ip 설정  (0) 2015.05.16
mysql 기본 명령  (0) 2015.04.06
mysql 캐릭터셋  (0) 2015.04.03
Posted by Narusika
,