* 본 게시물은 MissFlash가 "CentOS 리눅스 구축관리실무"를 참고로 유용한 단축키 및 명령어를 정리한 것입니다.
* 게시물이 지속적으로 업데이트 될 예정이니, 퍼가기 보다는 링크나 트랙백을 이용해 주세요 :)
* 게시물이 지속적으로 업데이트 될 예정이니, 퍼가기 보다는 링크나 트랙백을 이용해 주세요 :)
* MissFlash의 리눅스 유용 명령어 목록
- Apache 환경설정(httpd.conf)
- ServerRoot "usr/local/server/apache" : 웹서버가 설치된 절대경로(마지막에 /는 입력하지 않음)
- Listen 80 : 웹서버가 사용할 포트번호
- LoadModule ... : Apache에 등록된 모듈들의 목록
- <IfModule !mpm_netware_module>
User nobody
Group nobody
</IfModule> : Apache 데몬의 자식 프로세스들을 생성할 사용자 및 그룹 지정 - ServerAdmin admin@missflash.com : 서버관리자 이메일 설정
- ServerName www.missflash.com:80 : 클라이언트에게 보여지는 도메인 혹은 IP주소 입력(지정하지 않을 경우 127.0.0.1로 자동 설정)
- DocumentRoot "/usr/local/server/apache/htdocs" : Apache 서버의 웹문서가 있는 루트경로 설정
- <Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory> : 해당 디렉토리 이하의 웹문서 제어 설정 - Options : None, All 1, Indexes 2, Includes 3, IncludesNOEXEC 4, FollowSymlinks 5, ExecCGI 6, MultiViews 7, SymLinksIfOwnerMatch 8 9
- AllowOverride : None, All 10, AuthConfig 11, FileInfo 12, Indexes 13, Limit 14, Options 15, Order 16 17
- <IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule> : 클라이언트가 디렉토리에 접근했을 때, DirectoryIndex에 설정한 파일 순서대로 출력
- <FilesMatch "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch> : 특정 파일의 접근제어 설정(Satisfy All은 Allow from에 해당하는 경우에 허용하는데, 이 경우 Allow from이 지정되지 않았으므로 모두 Deny됨) 18
- ErrorLog logs/error_log : 웹서버의 에러로그 파일 위치 설정
- LogLevel warn : 에러로그 파일 기록관련 설절(emerg, alert 19, crit 20, error 21, warn 22, notice 23, info 24, debug 25) 26
- <IfModule log_config_module>
...
LogFormat "%h %l %u %t \"%r\" %>s %b" common 27
...
CustomLog logs/access_log common 28
</IfModule>
- <IfModule alias_module>
Redirect permanent /data http://blog.missflash.com/util 29
Alias /path /filesystem/path 30
ScriptAlias /cgi-bin/ "/usr/local/server/apache/cgi-bin/" 31
</IfModule>
- <IfModule cgid_module>
#Scriptsock logs/cgisock 32
</IfModule>
- DefaultType text/plain : 웹서버가 데이터를 전송하는 문서 형식 지정
- <IfModule mime_module>
TypesConfig conf/mime.types 33
AddEncoding x-compress .Z 34
AddType application/x-compress .Z 35
AddType application/x-httpd-php .php
AddHandler cgi-script .cgi 36
AddOutputFilter INCLUDES .shtml
...
</IfModule>
- MIMEMagicFile conf/magic : 인터넷 문서 형식이 지정되어 있지 않을 때, conf/magic 파일을 참고해 문서 형식 결정
- ErrorDocument 500 "The server is not available now."
#ErrorDocument 404 /missing.html
ErrorDocument 404 "/cgi-bin/missing_handler.pl"
ErrorDocument 402 http://blog.missflash.com/missing.html : 에러 발생시 클라이언트에게 응답할 방법 설정(메시지 출력, 서버내 파일 출력, 외부 URL 링크 모두 가능)
- #EnableMMap off : 메모리맵핑(서버성능 저하 및 안정성을 해칠수 있으므로 기본값 유지) 37
- #EnableSendfile off : 커널이 지원하는 매커니즘을 통해서 파일 전송
- #include [환경설정 파일명] : 별도 환경설정 파일을 Include
- httpd-mpm.conf : 다중처리 모듈 설정 파일 38
- httpd-multilang-errordoc.conf : 에러 메시지 다중언어 지원 설정 파일
- httpd-autoindex.conf : 디렉토리 목록 설정 파일
- httpd-languages.conf : 다중언어 지원 설정 파일
- httpd-userdir.conf : 사용자 홈디렉토리 설정 파일
- httpd-info.conf : 웹서버 상태 및 환경 설정 파일
- httpd-vhosts.conf : 가상호스트 설정 파일
- httpd-manual.conf : 웹사이트에서 아파치 메뉴얼을 사용하기 위한 설정 파일
- httpd-dav.conf : WebDAV 지원 모듈 설정 파일
- httpd-default.conf : 아파치 기본 설정 파일
- httpd-ssl.conf : SSL 모듈 설정 파일
- httpd-autoindex.conf : <Directory ~>에서 Options Indexes를 이용해 디렉토리 목록을 출력할 때 화면 설정
- <IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule> : 인터넷을 통해 비공개 문서 전송시 사용(https로 구분)
- Apache 환경설정(extra/httpd-autoindex.conf) 39
- IndexOptions FancyIndexing HTMLTable VersionSort : 디렉토리 목록을 표시할 때 사용하는 옵션
- DescriptionWidth=[n | * 40] 41 : 문자단위로 설명열의 폭 지정
- FancyIndexing : 디렉토리의 fancy 목록 생성
- FoldersFirst : 디렉토리가 먼저 나오고, 일반 파일이 뒤에 출력(FancyIndexing과 함께 사용해야 함)
- HTMLTable : HTML 표로 fancy 디렉토리 목록 생성
- IconsAreLinks : fancy 목록에서 파일명 링크에 아이콘 포함
- IconHeight[=pixels], IconWidth[=pixels] : 파일 아이콘의 img 태그에 height와 width 속성을 포함(페이지 구성 미리 계산 가능)
- IgnoreCase : 대소문자를 구별하지 않고 파일 정렬
- IgnoreClient : 클라이언트가 보내는 모든 질의변수 무시
- NameWidth=[n | *] : 바이트 단위로 파일명 열의 폭 지정
- ScanHTMLTitles : fancy 목록에서 HTML 문서 타이틀 추출
- SuppressColumnSorting : FancyIndexed 디렉토리 목록에서 열 이름의 순서를 바꾸는 링크 미제공
- SuppressDescription : fancy 목록에서 파일 설명 미포함
- SuppressHTMLPreamble : 문서의 처음부터 header 파일 내용 첨가(보통은 HTML 시작부분 뒤에 첨가) 42
- SuppressIcon : 아이콘 제외(SuppressRules와 함께 사용시 HTML 3.2에 알맞은 표준 출력을 함)
- SuppressLastModified : 마지막 수정일 미표시
- SuppressRules : 디렉토리 목록에서 수평줄(hr 태그) 미사용(SuppressIcon과 함께 사용시 HTML 3.2에 알맞은 표준 출력을 함)
- SuppressSize : 파일크기 미표시
- TrackModified : 디렉토리 목록의 HTTP 헤더에 Last-Modified와 ETag 값을 포함
- VersionSort : 버전 번호를 포함한 파일명 정렬
- XHTML : HTML 3.2 대신 XHTML 1.0 코드 생성
- Alias /icons/ "/usr/local/server/apache/icons/" : icon 파일들이 들어있는 디렉토리를 가리키는 가상디렉토리(/icons/) 생성
- AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip : FancyIndexing에서 파일 옆에 보여줄 아이콘 지정
- AddIconByType (TXT,/icons/text.gif) text/* : MIME-type의 파일 옆에 보여줄 아이콘 지정
- AddIcon /icons/binary.gif .bin .exe : FancyIndexing에서 해당 확장자 파일의 아이콘 지정
- DefaultIcon /icons/unknown.gif : 기본 아이콘 지정
- #AddDescription "GZIP compressed document" .gz : 특정 파일에 대한 설명 설정
- HeaderName HEADER.html : 파일 목록 위에 보여줄 페이지 설정
- ReadmeName README.html : 파일 목록의 끝에 보여줄 페이지 설정
- IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t : 디렉토리 목록에서 감출 목록 추가
- Apache 환경설정(extra/httpd-dav.conf) 43
- DavLockDB "/usr/local/server/apache/var/DavLock" : 잠금 데이터베이스의 전체 경로를 확장자를 제외하고 지정
- <Directory "/usr/local/server/apache/uploades">
Dav On 44
...
AuthType Digest 45
AuthName DAV-upload 46
AuthUserFile "/usr/local/server/apache/user.passwd" 47
...
</Directory>
- BrowserMatch "MS FrontPage" redirect-carefully : HTTP 요청 헤더 User-Agent에 따라 환경변수 설정
- Apache 환경설정(extra/httpd-default.conf) 48
- Timeout 300 : 설정된 시간동안 클라이언트와 서버간에 아무런 메시지가 발생하지 않을 경우, 오류로 처리됨
- KeepAlive On : 특별한 요청없이 연결을 지속할 것인지 설정
- MaxKeepAliveRequests 100 : 클라이언트가 접속된 시간동안 아파치 서버에 요청할 수 있는 최대 요청개수 지정(0은 제한없음 의미)
- KeepAliveTimeout 5 : 지정한 시간동안 요청이 없을때 접속 종료
- UseCanonicalName Off : IP주소를 역DNS 검색하여 서버명을 알아냄
- AccessFileName .htaccess : 디렉토리별로 접근제어 할 정보를 담고있는 파일 지정
- ServerTokens Full : HTTP 응답 헤더 중 Server 항목 설정(Prod, Major, Minor, Min, OS, Full 중 한 가지 선택 가능) 49
- ServerSignature On : 서버가 생성하는 문서의 마지막 부분에 다음 내용(<address>[헤더의 Server 항목] Server at blog.missflash.com Port 80</address>) 추가
- HostnameLookups Off : 웹서버의 로그를 지정하는 포멧 설정(IP, Domain 중 한가지 선택, Off는 IP를 의미)
- Apache 환경설정(extra/httpd-languages.conf)
- AddLanguage fr .fr : 특정 문서의 언어 지정
- LanguagePriority en ca cs : 언어의 우선순위를 내림차순으로 지정
- ForceLanguagePriority Prefer Fallback : (리눅스 초보님 답변) 강제적인 언어 우선권에 관한 옵션, 클라이언트가 브라우저로 요청한 언어에 부합하는 페이지가 한 개가 아니면 서버는 "NOT ACCEPTABLE"이나 "MULTIPLE CHOICES"로 응답하게 됨... 이 오류를 피하기 위해 클라이언트가 요청한 언어를 무시, LanguagePriority 지시어 순서로 응답하도록 하는 옵션
- AddCharset UTF-8 .utf8 : 특정 파일의 확장자에 대한 문자셋 지정
- AddDefaultCharset utf8 : text/plain이나 text/html 형식에 대한 응답을 할 때, 기본 문자셋 지정
- Apache 환경설정(extra/httpd-manual.conf)
- AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|pt-br|ru))?(/.*)?$ "/usr/local/server/apache/manual$1" : 정규표현식을 이용해 URL을 특정 디렉토리로 연결
- <Directory "/usr/local/server/apache/manual">
...
<Files *.html> 54
SetHandler type-map
</Files>
SetEnvlf Request_URI ^/manual/(de|en|es|fr|ja|ko|pt-br|ru)/ prefer-language=$1 55
RedirectMatch 301 ^/manual(?:/(de|en|es|fr|ja|ko|pt-br|ru)){2,}(/.*)?$ /manual/$1$2 56
...
</Directory>
- Apache 환경설정(extra/httpd-mpm.conf) 57
- <IfModule !mpm_netware_module>
PidFile logs/httpd.pid
</IfModule> : 아파치 서버의 프로세스가 생성되어 있을 때, PID를 기록하는 파일 지정
- <IfModule !mpm_winnt_module>
<IfModule !mpm_netware_module>
LockFile logs/accept.lock
</IfModule>
</IfModule> : LockFile 경로지정
- <IfModule mpm_prefork_module> 58
StartServers 5 59
MinSpareServers 5 60
MaxSpareServers 10 61
MaxClients 150 62
MaxRequestsPerChild 0 63
</IfModule>
- Apache 환경설정(extra/httpd-multilang-errordoc.conf) 64
- Alias /error/ "/usr/local/server/apache/error/" : 에러 페이지가 있는 디렉토리 설정
- ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var : 지정된 에러(404)가 발생했을 때, 보여줄 페이지 지정
- Apache 환경설정(extra/httpd-userdir.conf) 65
- UserDir public_html : 사용자 디렉토리 설정(missflash라는 사용자의 경우, missflash 홈 디렉토리 아래의 public_html 디렉토리에 있는 index.html 파일을 불러옴)
- <Directory /home/*/public_html> ... </Directory> : 사용자 디렉토리 접근에 대한 옵션 지정
미국에서 본 '하늘에 걸린 신호등'입니다. 도로가 널찍널찍하다보니 저런식으로 줄에 묶어 놓더군요 :)
여기까지 오시느라 수고 많으셨어요~ 이제 잠시 쉬세요!
- 옵션을 사용하지 않음 [본문으로]
- MultiViews를 제외한 모든 옵션 사용 [본문으로]
- DirectoryIndex에 지정한 파일이 없을 때, 모든 파일목록 출력 [본문으로]
- SSI 사용을 허용 [본문으로]
- SSI는 사용하나, #exec, #include는 허용하지 않음 [본문으로]
- 심볼릭 링크 허용 [본문으로]
- Perl같은 CGI 허용 [본문으로]
- 웹브라우저 혹은 웹문서 종류에 따라 가장 적합한 페이지 출력 [본문으로]
- 심볼릭 링크가 가리키는 파일 소유자가 같을 때만 허용 [본문으로]
- 어떤 인증 정보도 참고하지 않음 [본문으로]
- 모든 Access 정보 참고 [본문으로]
- AccessFileName 지시자에 명시한 파일(.htaccess)에 대해 사용자 인증 지시자 사용 허락 [본문으로]
- AccessFileName 지시자로 설정한 파일에 대해 문서 유형을 제어하는 지시자 사용 허락 [본문으로]
- AccessFileName 지시자로 설정한 파일에 대해서 디렉토리 Indexing을 제어하는 지시자 사용 허락 [본문으로]
- AccessFileName 지시자로 설정한 파일에 대해서 호스터 접근을 제어하는 지시자 사용 허락 [본문으로]
- AccessFileName 지시자에 명시한 파일에 대해서 Options, XBiHack 같은 지시자 사용 허락 [본문으로]
- Deny, Allow에 대한 기본값 설정 [본문으로]
- 이 경우 확장자에 ht가 포함된 파일은 모두 무시합니다. [본문으로]
- 긴급한 상태, 시스템 사용 불가 [본문으로]
- 즉시 행동을 취해야 하는 상태 [본문으로]
- 위험한 상태 [본문으로]
- 에러 상태 [본문으로]
- 경고 상태 [본문으로]
- 보통이지만 중요한 상황 [본문으로]
- 보통의 수준 [본문으로]
- 디버그-레벨 메시지 [본문으로]
- 로그저장 포멧 설정 [본문으로]
- 로그형식(common) 설정 [본문으로]
- /data로 접속하면 http://blog.missflash.com/util로 접속 [본문으로]
- 경로를 짧게 줄이거나 다른 디렉토리에 접근할 수 있게 설정 [본문으로]
- Alias와 동일하나 서버스크립트를 포함 [본문으로]
- CGI 데몬과 통신하기 위해 사용할 소켓의 이름 설정 [본문으로]
- 웹서버의 mime type을 지정한 파일 설정 [본문으로]
- 특정 확장자의 파일을 특정 형식으로 인코딩 [본문으로]
- 특정 확장자의 파일 형식 지정 [본문으로]
- 특정 확장자의 파일 핸들러 지정 [본문으로]
- #로 주석처리합니다. [본문으로]
- 모든 환경설정의 경로는 "conf/extra/"입니다. [본문으로]
- Indexes를 이용해 브라우저에 출력되는 목록의 형식을 설정하는 파일입니다. [본문으로]
- 열의 폭을 n 바이트로 고정 [본문으로]
- 열의 폭을 가장 긴 쪽에 맞춤 [본문으로]
- html, head 태그 등이 해당합니다. [본문으로]
- 아파치에 WebDAV class1과 class2 기능을 추가하는 설정 파일입니다. [본문으로]
- WebDAV 기능을 사용하도록 설정 [본문으로]
- 인증모드 설정(Digest, Basic) [본문으로]
- 인증 이름 설정 [본문으로]
- 사용자 인증에 쓸 사용자명과 암호 목록을 저장하는 파일 지정 [본문으로]
- 아파치 성능과 관련된 기본설정이 정의 파일입니다. [본문으로]
- Server: Apache/2.2.4 (Unix) DAV/2 PHP/5.2.1에 해당합니다. [본문으로]
- 서버의 상태와 성능을 비롯한 종합적인 정보를 제공하는 파일입니다. [본문으로]
- server-status, server-info 두 가지가 가능한데, server-info의 경우 서버 설정에 대한 종합적인 정보 제공 [본문으로]
- server-status, server-info 두 가지가 가능한데, server-info의 경우 서버 설정에 대한 종합적인 정보 제공 [본문으로]
- 자기자신만 접속 [본문으로]
- 해당 디렉토리에 있는 파일에만 적용 [본문으로]
- 요청의 종류에 따라 환경변수 정의 [본문으로]
- 지정한 정규표현식과 URL을 비교해 맞다면 파일명 대체 [본문으로]
- 다양한 OS에서 동작할 수 있도록 설정하는 파일입니다. [본문으로]
- 아파치가 설치된 OS와 일치하는 것 선택 : mpm_preform_module(유닉스, 리눅스), mpm_beos_module(BeOS), mpm_netware_module(Novell Netware), mpm_mpmt_os2_module(OS/2), mpm_worker_module(멀티쓰레드 사용) [본문으로]
- 아차피 웹데몬이 구동될 때, 자식 프로세스를 몇 개로 할 것인지 지정 [본문으로]
- 성능 향상과 빠른 응답속도를 위한 유휴서버 최소개수 설정 [본문으로]
- 성능 향상과 빠른 응답속도를 위한 유휴서버 최대개수 설정 [본문으로]
- 아파치 웹서버에 접근할 수 있는 클라이언트의 최대 개수 설정 [본문으로]
- 아파치 웹서버의 자식 프로세스들이 요청받을 수 있는 클라이언트 개수 [본문으로]
- 여러 언어의 에러페이지를 설정하는 파일입니다. [본문으로]
- 일반 사용자의 홈디렉토리에 대해 설정하는 파일입니다. [본문으로]
- 여러 개의 도메인이나 호스트를 설정해주는 파일입니다. [본문으로]
- *는 현재 서버에 할당된 모든 IP 주소를 의미함 [본문으로]
- 해당 서버의 관리자 이메일 입력 [본문으로]
- 해당 서버의 홈 디렉토리 [본문으로]
- 해당 서버의 도메인 [본문으로]
- 해당 서버 에러로그 파일 경로와 파일명 입력 [본문으로]
- 로그 파일 경로와 파일명, 포멧 입력 [본문으로]
'Tip&Tech > Server' 카테고리의 다른 글
[팁] 웹서버 보안을 위한 툴, ModSecurity 적용하기! (0) | 2009.07.15 |
---|---|
[팁] MissFlash의 리눅스 유용 단축키, 명령어 모음(20) - 웹서버(APM) 설치 및 환경설정 (3) (2) | 2009.06.03 |
[팁] MissFlash의 리눅스 유용 단축키, 명령어 모음(18) - 웹서버(APM) 설치 및 환경설정 (1) (3) | 2009.05.07 |
[팁] MissFlash의 리눅스 유용 단축키, 명령어 모음(17) - DHCP 서버와 IP 마스크레이드 (4) | 2009.05.05 |
[팁] MissFlash의 리눅스 유용 단축키, 명령어 모음(16) - vsftpd 설정 및 운영 (6) | 2009.05.04 |