* 확장모듈 :PHP에서 기본적으로 제공하는 함수 이외에 확장 가능한 함수를 포함하는 것 [출처]PHP 확장 모듈 추가 설치|작성자소화 php에서 사용하고 싶은 모듈 다운로드 (여기서는 ssh2 를 사용한다) [root@~]# tar xvfz ssh2-0.11.0.tgz [root@~]# cd ssh2-0.11.0 [root@~]# phpize (php가 설치된 경로의 /bin 안에서 phpize 실행, ex) /usr/local/php/bin/phpize) phpize 명령어 실행시 반응이 없으면, ① 설치가 안되었거나 ② path 설정이 잘 못 되었을때 [root@~]# ./configure [root@~]# make [root@~]# make install or .so 파일을 직접 복사 (make install이 .so파일을 모듈경로에 복사한다는 의미) php.ini 에 extension=ssh2.so 추가 아파치 재시작
CGI사용은 ScriptAlias로 지정된 위치에서 사용하는게 기본이지만, ExecCGI를 사용하면 지정된 디렉토리내에서 CGI 사용 허용* AddHandler cgi-script 지시자에서 정의한 확장자만 유효 아파치는 ScriptAlias에 설정되어 있는 디렉토리 안의 모든 파일을 html이 아닌 실행파일로 인식한다. 따라서 html이나 이미지 파일 등도 제대로 인식하지 않고 실행하려 한다. 또한 ScriptAlias로 설정된 디렉토리에서는 "*.cgi","*.pl" 등의 파일확장자도 필요치 않다. ScriptAlias로 설정되지 않은 디렉토리에서 스크립트를 실행하려면 *.cgi,*.pl 등만 스크립트 파일로 인식시켜야 한다. 아파치가 이것을 인식할 수 있도록 하는 것이 AddHandler(httpd.conf) 이다. AddHandler cgi-script .cgi httpd.conf 파일 중에서 위와 같이 설정을 하면 서버의 모든 디렉토리에서 .cgi로 끝나는 모든 파일을 cgi로 인식하여 실행한다. 단, 주의할 점은 스크립트로 사용하려하는 디렉토리가 ExecCGI 옵션이 설정되어 있어야 한다는 것이다. 예)ScriptAlias를 이용한 일반적 설정(h
- 서버에 접속한 사용자의 접속정보 및 작업정보 [root@ ~]# w 13:10:50 up 21:37, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 175.198.97.114 09:53 0.00s 0.17s 0.00s w root pts/1 175.198.97.114 11:56 1:13m 0.01s 0.01s -bash TTY : teletype JCPU : 모든 프로세스의 CPU 사용시간 PCPU : WHAT 필드에서 사용하는 CPU 사용시간
ext3와 ext4 파일 시스템 차이점 ext4는 ext3와 비교하여 아래와 같은 개선된 기능이있다.1. 더 큰 파일시스템 2. extends(큰 파일 처리를 개선히고 조각화 현상을 줄여준다) 3. 영속적인 선행 할당.(디스크 공간을 프로그램이 실제로 사용하기 전에 할당해야 한다면 대부분의 파일 시스템은 앙직 사용하지 않은 공간에 0을 기록함으써 선행 할당을 하지만, ext4는 이렇게 하지않고도 선행할당가능.) 4. 저널 자료 체크섬ext3파일 시스템에 없었던 저널 체크섬 기능이 추가되어 파일시스템 손상 가능성이 더 줄어들었습니다. 5. 더 많은 하위 디렉토리서브디렉토리 개수 제한이 32000개에서 64000개로 늘어남 6. 온라인 조각 모음ext3에서는 지원하지 않던 온라인조각모음을 지원한다. 7. 파일 복구 8. 빠른 파일 시스템 점검ext4는 디스크검사를 할때 사용하지 않는 부분은 건너뜀으로써 시스템 검사를 빨리 할수 있다. 9. 나노초 타임 스탬프타임스탬프가 초 단위가 아닌 나노초 단위로 재어지며, ext2,ext3에서는 1901년 12월 14일~2038년 1월18일을 지원했지만 ext4에서는 1901년 12월14일~2514년 4월25일을 지원한다.
kill -9 PID pid번호와 -9옵션으로 종료한다.
리눅스 시간개념 # atime (access time) 파일을 열어본 시간, 디렉토리 내용을 확인해본 시간 # mtime (modification time) 파일 내용이 변경된 시간, 디렉토리 내용이 변경된 시간 # ctime (creation time) 파일 속성이 변경된 시간, chmod나 chown등으로 파일의 속성이 변경된 시간 # ls -l 파일의 생성시간 # ls -ult 파일의 사용시간, 파일의 atime # ls -clt 파일의 최근 변경시간, 파일의 ctime # ls 명령어 옵션 -R : 서브디렉토리와 모든 파일들 출력 -r : 파일명, 디렉토리명을 내림차순으로 출력 -S : 파일사이즈를 내림차순으로 출력 -l : 자세하게 출력 -a : 모든 파일들 출력 -A : .와 ..는 제외 -h : 용량단위 출력 -n : UID, GID 출력 -F : 파일형태를 표시하는 특수문자 출력 * : 실행파일 / : 디렉토리 @ : 심볼릭링크 | : FIFO파일 = : 소켓파일 -X : 확장자 없는 파일 먼저 출력, 오름차순으로 출력 -U : 디스크에 저장된 순서대로 출력
몇번 부팅레벨로 부팅할지 결정 /etc/inittab → id:3:initdefault: 부팅레벨 0 : 시스템종료 /etc/rc.d/rc0.d/ 부팅레벨 1 : 싱글모드(관리모드), 콘솔로그인만 가능하고 root만 사용함 /etc/rc.d/rc1.d/ 부팅레벨 2 : NFS 지원하지 않는 멀티유저 실행모드 /etc/rc.d/rc2.d/ 부팅레벨 3 : NFS 지원 멀티유저 실행모드 /etc/rc.d/rc3.d/ 부팅레벨 4 : 사용하지 않음 /etc/rc.d/rc4.d/ 부팅레벨 5 : X윈도우 환경 멀티유저 실행모드 /etc/rc.d/rc5.d/ 부팅레벨 6 : 재부팅 /etc/rc.d/rc6.d/ 부팅레벨 변경 : init 0~6 레벨 확인 : runlevel 부팅레벨기록 : runlevel
◎ useradd 명령어 옵션 설명 -u uid : 사용자 ID를 지정-g gid : 그룹이름이나 GID를 지정-d dir : 사용자의 홈 디렉토리의 절대 경로지정-c comment : 패스워드 파일에 기재할 주석문을 넣을때 사용-m : 사용자의 홈 디렉토리가 없는 경우 생성-k : 홈 디렉토리에 저장될 각종 정보를 포함시킬 디렉토리 지정-s : 사용자가 사용할 쉘을 지정 ◎ useradd 환경을 설정하는 파일들1. /etc/default/useradd2. /etc/login.defs3. /etc/skel/모든파일 1. [/etc/default/useradd]useradd 의 기본파일, useradd 로 계정 생성시에 어떤 환경과 어떤 파일들을 참조하여 새로운 계정을 생성할 것인가 # cat /etc/default/useraddGROUP=100 // 기본 등록 그룹의 GIDHOME=/home // 홈디렉토리 경로INACTIVE=-1 // 패스워드 종료일 이후의 유효(기간)여부 설정 (0, -1, 1 이상의 숫자)EXPIRE= // 계정 종료일자 지정SHELL=/bin/bash // 기본사용자 쉘SKEL=/etc/skel // 홈디렉토리에 복사할 기
etc/hosts 파일은 localhost의 리졸버들이 사용하는파일이다 'localhost의 리졸버'의 의미는 localhost의telnet, mozilla, ftp, stmp, ... 등등 localhost가 원격의 어떤호스트에 접속하기 위해서 '호스트->IP'로 변환해 주는 테이블입니다.원격의 호스트가 사용하지 않고 localhost의 모든 리졸버가 사용하고실시간으로 변경된 /etc/hosts 파일을 확인해서 사용합니다. dns서버의 질문하여 목적지를 찾기전에 /etc/host 파일에 목적지 도메인주소의 ip주소를 입력해놓으면먼저 hosts파일의 내용을 참조한다. [root@web etc]# cat hosts# Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 web localhost.localdomain localhost::1 localhost6.localdomain6 localhost6[root@web etc]# ll hosts-rw-r--r-- 1 root root 191 No
top 명령어 프로세스의 상태를 실시간 모니터링 할수있다.top [옵션]-d 시간 : 화면 갱신 주기-c : 생략된 명령어 전체 표시 top실행중 명령어q : top프로그램 종료숫자 1 : cpu(s)로 표시되어 평균값만 출력하는데 1을 눌러 각각의 cpu 사용량을 볼수 있다.스페이스바 : 프로세스 상태 갱신 예top - 14:32:44 up 217 days, 12:45, 1 user, load average: 0.00, 0.02, 0.00Tasks: 140 total, 1 running, 139 sleeping, 0 stopped, 0 zombieCpu(s): 0.5%us, 0.0%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%stMem: 8126608k total, 5693960k used, 2432648k free, 468156k buffersSwap: 4192924k total, 1632k used, 4191292k free, 3898592k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 15 0
cp 명령어 옵션 -a : 가능한 한 원 파일의 구조와 속성을 그대로 복사한다. -S : 복사할 때 덮어쓰게 되는 파일은 백업을 만들면서 확장자 지정 (-S=확장자) -d : 심볼릭 링크는 심볼릭 링크로 복사한다. 그리고 원본 파일과의 하드 링크 관계를 유지한다. -f : 복사 위치에 존재하는 파일을 제거하고 복사한다. -i : 복사 시 같은 이름의 파일이 존재한다면 덮어쓸 것인가 확인한다. -P : 원본 파일의 소유자, 그룹, 권한, 시간 기록을 그대로 복사한다. -R , -r : 파일과 하위 디렉토리에 포함된 파일 모두를 복사한다. -u : 변경날짜를 비교해 최신파일일 경우 복사 안함
# LoadModule rewrite_module module/mod_rewrite.so 아파치를 DSO방식으로 설치했을때 모듈을 로드하는 지시자 # LockFile logs/accept.lock → USE_FCNTL_SERIALIZED_ACCEPT 또는 USE_FLOCK_SERIALIZED_ACCEPT를 사용하여 컴파일되었을 때 사용되는 잠금 파일로의 경로. 잠금 파일의 값은 반드시 로컬 디스크에 저장되어야 함. 잠금파일 : 어떤 프로세스에서 사용중인 파일을 다른 프로세스가 함부로 변경하지 못하도록 함 httpd.lock : 웹서버가 떠 있다는 걸 알려s는 파일, 지금 웹서버 데몬이 돌고 있으니, 다른 웹서버 데몬은 돌지 말라. # PidFile logs/httpd.pid 아파치가 시작될 때 자신의 프로세스번호(PID)를 기록하는 파일 # User daemon // 리눅스 시스템에서 0~499까지 UID와 GID를 사용하므로 # Group daemon // 500번 이상의 UID와 GID를 가지는 계정으로 설정 서비스를 직접 담당하는 아파치자식프로세스들의 실행소유자와 소유그룹 (n