리눅스 |
|
|
|
운영자 |
|
ㅣ 기사입력 |
2006/08/26 [08:43] |
|
|
|
* 인터넷 설정 확인 : ipconfig - eth0 : lan카드 사용여부와 ip, net mask등을 확인할 수 있다. - io : 자기자신의 컴퓨터를 지칭하기 위함. (1207.0.0.1) * tail : 파일 뒷부분의 내용을 10줄출력. ex) # tail /var/log/messages # tail -20 /var/log/messages # tail -f [ 교재 p200 ~ ] * 가상콘솔 모드 : ctrl + alt +f2 , x윈도우 모드 : ctrl + alt +f7 1. 계정생성 : useradd (adduser) 계정 2. 해당 계정에 비밀번호 입력 : passwd 계정 <실습> user 만들고 password 등록하고, 그 아이디로 로그인 과정 # useradd 계정 # passwd 계정 - 비밀번호 동일하게 두번입력 # passwd : 본인의 패스워드가 바뀜 # passwd 계정 : 해당계정의 패스워드 바뀜 3. user 삭제 : -r을 사용하지 않으면 user의 home계정이 그대로 자리를 차지 하고 있음. #userdel -r aaa : aaa라는 일반유저 삭제 - '-r'의 의미 : 유저아래의 하위디렉토리까지 전부 삭제. - shadow파일과 passwd 파일에서 일반 유저 aaa 줄을 삭제한 것과 동일 - userdel로 지우려면 exit로 로그아웃한 후에 user 삭제 가능 4. /etc 안의 'passwd' 파일 - 일반 user 계정 앞에 '#'을 붙임. (삭제하지 않고 잠시 접속을 제한시킴.로그인이 안됨) - root 계정 외의 일반 유저들은 비밀번호를 만드는 원칙에 제한이 있다. - 리눅스 재설치시 passwd파일만 백업시켜두었다가 덮어쓰면 일반유저가 바로 생김. ※ /etc/passwd 파일에 저장되는 사용자 패스워드 구조 계정명:패스워드:uid:gid:설명:/계정위치:/쉘 - UID와 GID가 '0:0' (root와 같은 super user의 권한이 주어짐) 5. /etc 안의 'shadow' : 일반 유저들은 파일내용을 볼 수 없다. 오직 root만이 그 권한이 있다. - password는 암호화 형태로 기억되므로 관리자도 알수 없다. - 관리자가 리셋 시킬 수 있다. - 패스워드 삭제하면 비밀번호없이 계정전환이 바로 된다. 6. su : user끼리 권한 전환하는 명령 # su 계정이름 : 계정만 이동하고 디렉토리는 변하지 않음. (권한을 완벽하게 얻는 것은 아님) cd ~ : 홈디렉토리로 이동 # su - 계정이름 : 계정전환과 동시에 디렉토리 초기화 됨. (권한 전부를 얻게됨.) # su 계정, 패스워드 입력 : 로그아웃하지 않고 계정이동 가능 # su - ccc # su bbb * root 계정은 원격접속이 불가함. * user끼리는 패스워드 확인해가면서 상대방 계정으로 전환이 가능. <실습> # pico /etc/passwd 형식> root:x:0:0:root:/root:/bin/bash (id) (권한) (user이름 앞에 '#'붙여 해당 user 접속 제한) # pico /etc/shadow § 사용자 계정 만들기 useradd 아이디 useradd aaa 이렇게 aaa 유저를 생성하면 aaa유저는 /home/aaa 디렉토리에 유저의 홈디렉토리가 생성된다. passwd aaa유저 생성 후 패스워드까지 할당을 해야 유저 생성이 완료 된다. [root@newstoon root]# passwd aaaChanging password for user aaa.New password:BAD PASSWORD: it's WAY too shortRetype new password:passwd: all authentication tokens updated successfully. su : 유저 전환을 할 수 있는 명령어 root 유저는 패스워드 확인 없이 일반유저로 전환을 할 수 있으며 일반 유저가 su 을 사용시 유저 전환을 하려는 아이디의 패스워드를 알아야 한다. su aaa : aaa 유저로 전화 su - aaa : - 옵션이 들어가면 aaa 유저의 환경설정파일을 읽어 드리기 때문에 -옵션을 붙여 사용하는 것이 좋다. su - root (su) : su 로 유저에서 root로 전환시 - 옵션을 꼭쓰는것이 좋다. 유저의 정보가 저장되는 파일 /etc/passwd (일반유저 들도 볼 수 있다.) /etc/shadow ( 오직 root만 볼 수 있다.) /etc/group (그룹 정보를 가지고 있다.) passwd 파일 root:x:0:0::/root:/bin/bash ========================================root:아이디:x:패스워드(shadow파일로이동)0:uid 번호 ( 0의 의미는 superuser의미 일반유저는 500부터시작)0: gid 번호 /root: 홈디렉토리 /bin/bash : 이 유저가 사용할쉘 리눅스는 bash 쉘 사용 shadow root:*********:: root:아이디********: 패스워드는 암호화 되어 있어 무엇인지는알수 없으며 이 패스워드를 지우면 로그인시 패스워드를 확인 하지 않는다. userdel -r 아이디 (-r 옵션을 추어가 지우려고 하는 아이디가 사용하는 홈디렉토리와 파일 삭제 ) 임시적으로 유저의 접속을 막고자 한다면 passwd 파일 아이디 앞에 # 을 추가하면 된다. * p219 ~ 그룹 관리 - UID : - GID : * p225 ~ : 파일 링크1. 심볼릭 링크 걸기 (많이 사용) # ln -s /usr/local/src work : work라는 이름으로 링크 걸림 # 'ls -al' 로 확인 : work 생성 # cd work (실제 디렉토리가 아님) ex) 'work -> ' : 심볼릭링크가 걸렸다는 의미. (윈도우의 단축아이콘과 동일한 의미) # rm -rf work <실습> # ln -s /etc/passwd passwd : passwd라는 이름으로 링크 걸림. # ls -al (파일의 자세한 정보를 보여줌) # cd passwd (/etc/passwd 디렉토리로 이동) ( 파일속성에 'l'이 설정, 일반 파일은 'd'가 설정.) 2. 하드링크 : 하나의 파일이 수정되면 링크된 다른 파일도 함께 수정됨 ex) a.pls 의 파일내용을 수정하면 그 파일에 링크걸린 다른 파일도 함께 수정이 됨. § 심볼릭 링크 ln -s /usr/local/src work lrwx---wrx work-> /usr/local/src 이렇게 심볼링크를 걸면 cd work 하면 실제 /usr/local/src 이동을 한것이다. work를 삭제 해도 /usr/local/src 이 삭제 되는 것은 아니다. * p227 ~ : 허가권(permission)과 소유권(ownership) 1. 소유권 변경 : chown ( 오직 관리자에게만 권한이 있음) - 파일허가권 형식 : 파일유형,소유자,그룹,외부사용자 - 한개의 id는 한개의 group (기본원칙) - 여러명이 한개의 컴퓨터를 쓰기 때문에 사용하는 개념 # ls -al # chown bbb:bbb ccc ( ':' 대신 '.'도 사용가능) bbb(유저id):bbb(그룹id) ccc(디렉토리명) -> ccc 디렉토리의 유저아이디와 그룹아이디를 bbb로 바꾼다는 의미. # chown bbb.bbb ccc -r : 하위 디렉토리까지 전부 소유권이 변경됨. § 소유권 변경 chown 아이디:그룹아이디 디렉토리면 chown aaa:aaa bbb 2. 허가권 변경 : chmod (본인과 관리자만 허가권 변경이 가능) - 형식 :drwxrwxrwx(d:디렉토리, 본인, 그룹, 외부사용자:421421421) - 주로 외부사용자의 값으로 조절 # chmod 707 파일 : 가장 불합리한 퍼미션 # chmod 700 su : 본인 외의 권한에서는 su명령 사용 불가.) 3. 4개의 퍼미션을 사용 -> 's'가 들어감. 특정파일을 실행하는 동안만 그 사용자에게 root 권한이 주어짐. ( send mail에서 많이 사용) - 운영체제 개발자가 자체적으로 설정.(user들은 별루사용안함.) § 펴미션 drwx---rwx chmod 707 디렉토리명 ======================================================================= # telnet 192.168.2.40 # su - : root를 얻겠다는 의미임. 원격지 서버에 접속. # ssh 192.168.2.44 # exit : sansung 접속해제 <p 234 ~> mount와 umount - mount : hdd, cdrom, fdd등을 물리적인 장치를 파일시스템으로 인식. - umount : # cd /mnt/ # cd cdrom : cdrom의 내용을 보기 위해서는 그 시스템을 활성화해야 함.(iso9660 포맷에 저장) # cd : 루트로 이동 # mount –t iso9660 /dev/cdrom /mnt/cdrom : 활성화 과정 # cd /mnt/cdrom : cdrom안의 내용을 확인. # umount /mnt/cdrom :cdrom보다 상위디렉토리에서 명령실행 (사용중에는 umount 불가. 비활성상태에서 cdrom 열림.) <p 198~ > 한글 설치 : zhcon 1. rpm –Uvh libgii_0.8.3_2pdc.i686.rpm 2. rpm –Uvh libggi_2.0.3_2pdc.i686.rpm 3. rpm –Uvh zhcon_0.2.2_2pdc.i686.rpm 4. zhcon * 윈도우용 파일을 리눅스로 끌어와서 실행 : mount시킴 # fdisk –l /dev/had # mount –t vfat /dev/hda1 /mnt/floppy/ # cd /mnt/floppy/ # ls # cp autoexec.bat /root/ <p236 ~ > 파일시스템 자동 마운트 (/etc/fstab) <p238 ~ > ext3 파일시스템 :저널링시스템안에 exe3라는 리눅스시스템이 존재. <p244 ~ > Disk Quota - user 관리차원 (용량할당, 파일갯수제한, 유예기간 등으로 유저에게 사용 제한을 주는 기능 <p260 ~ > 압축관리 <p290 ~ > shell : bash shell을 기본 쉘로 사용 l bash 관련 설정 파일 1. # pico .bash_history : 본인이 입력한 명령 목록 기록 2. # pico .bash_profile : 도스의 autoexec.bat와 동일한 기능 - 경로(path)를 이용하여 다른 디렉토리에 수록된 명령을 사용가능하게 설정. # su – 계정 : 해당계정의 .bash_profile을 읽어들임 # su 계정 : 새로운 계정의 .bash_profile이 적용되지 않음. # echo $PATH : 로그인과 함께 설정된 path 상태를 보여줌. # mv /bin/ls /mnt/ : ls 실행시, /mnt/ls 형식으로 실행해야 함. * path 추가 # pico .bash_profile -> ‘:/mnt’만 path에 추가 # su - : root 권한으로 다시 로딩 # echo $PATH 3. # /etc/profile : 시스템 전체의 path가 걸려있는 파일 4. # pico .bashrc <p295 ~ > # ls –al > aaa.txt : 실행결과가 파일로 저장 # pico test.sh #!/bin/bash ls –al /home tar cvfz aaa.tar.gz /home/aaa tar cvfz bbb.tar.gz /home/bbb -- 저장 후 종료 (일반유저들의 데이터 백업시 서버관리자가 주로 사용하는 작업.) # ./test.sh (접근거부) # chmod 700 test.sh (실행권한 부여) ================================================================ 1. Mount 실습 - # pico /etc/fstab : fstab파일을 일부러 고장냄.( 부팅이 안됨) - #shutdown –r now (재부팅) –오류 - 1번 CD로 복구( cd로 부팅) - 부트시 프롬프트 boot: linux rescue (복구모드) - #fdisk –l /dev/had - #df –h (디스크가 얼마나 사용되었는지 보여줌) - #cd /mnt/sysimage - #ls –al 2. root 패스워드를 잊어버렸을 때 - /etc/shadow 안에 들어가서 root 의 패스워드를 삭제하고 저장 (root로 로그인, 패스워드를 묻지 않고 부팅) - #passwd로 패스워드 다시 부여 - /etc/fstab - #sysc : 어떠한 작업후에 memory의 내용을 하드에 그대로 반영해주는 명령. 3. <실습> 1번cd 넣고 복구 - #linux rescue - enter로 진행 - 하드디스크가 마운팅이 안되는 경우 : #mount –t ext3/dev/hda2 /dev/hda2 /mnt/sysimage - sh-2.05b# cd /mnt/sysimage - sh-2.05b# cd etc - #pico shadow - #pico fstab - #exit (종료후 다시 로그인) 4. p304 ~ : x 윈도우 # pico /etc/inittab : 리눅스 가동시 가장먼저 읽어들이는 파일로 부팅을 어떻게 할 것인지 설정함. 부팅모드 설정( run level) – 3 : 텍스트모드로 부팅(서버용도로 쓰임) - 5 : x 윈도우로 부팅(gui 방식으로 부팅) 5. p325 ~ : X 윈도우 매니저 - KDE : - GNOME : 주로 사용 6. p358 ~ : VNC(Virtual Network Compution) – 리눅스cd안에 포함. # vncpasswd (패스워드 설정) # vncserver :3 (vncserver를 3번 포트로 열겠다.) l 윈도우에서 vnc로 리눅스 화면 제어하기 - iwav.co.kr 에서 윈도우용 vnc를 다운받아 설치- 프로그램 목록에 vncviewer 실행 - 상대 컴퓨터에 vncserver가 가동중이어야 함. - Run winvnc(App mode) : 윈도우에서 vncserver 가동. l #ifconfig (네트워크상태 확인) - #ifup eth0 (랜카드 살리기) - #ifdown eth0 (랜카드 죽이기) 7. p361 ~ : RPM 패키지 관리 l rpm : 리눅스용 파일(설치만 하면 사용 가능함) l 1번cd의 /mnt/cdrom/RedHat/RPMS (rpm 파일들 모음) l rpm 명령 - #rpm –ivh aaa.rpm (설치시 버전까지 모두 기입.) - #rpm -Uvh aaa.rpm (update시 주로 사용되는 옵션으로 없으면, 설치하고 버전검사까지 자동으로 함.) -#rpm –qa ( 설치된 모든 패키지 출력) -#rpm –qa | grep apache ( 내가 검사하고자 하는 패키지만 확인 : grep 패키지명) -#rpm –e 패키지명 (삭제시 버전까지는 쓸 필요없음. 프로그램의 이름만 입력하면 됨. 삭제 전에 의존성검사를 하므로 관련 프로그램이 있을 때 삭제 오류) -#rpm –e perl-libwww-perl --nodeps (의존성 검사를 하지 않고 삭제함. 삭제시 주로 사용. -#rpm –Uvh –force 패키지명 ( 기존 설치된 패키지를 무시하고 다시 설치 -#rpm –qf 명령이나 파일 (어느 패키지에 속한 명령인지를 보여줌) ============================================================ 1. rpm 실습 # rpm –qa | grep telnet # rpm –e telnet # rpm –e telnet-server # rpm –qa | grep httpd Þ 웹서버 프로그램 # rpm –e httpd Þ 의존성문제로 삭제 오류 # rpm –e httpd --nodeps 2. telnet 서버 설치부터 가동까지 # telnet 127.0.0.1 Þ 내 pc에 telnet server가 가동되지 않았으므로 접속실패 l telnet 설치 : 1번cd와 3번cd의 RedHat/RPMS # 1번 : rpm –Uvh telnet-***.rpm # 3번 : rpm –Uvh telnet-server-***.rpm # cd /etc/xinetd.d Þ telnet 설치하면 생김 # pico telnet Þ disable 를 ‘no’로 변경후 저장 # /etc/rd.d/init.d/xinetd restart Þ telnet 서버를 재가동 # telnet 127.0.0.1 Þ 로그인 창이 뜸 p441 Daemon (데몬) : 백그라운드 모드로 작동하여 비활성화 상태에서 요청이 있을 때만 동작하는 프로세스. 1. 슈퍼데몬 :Xinetd Þ 데몬용 프로그램 중 대표적 데몬. 데몬 하나가 여러 개의 프로그 램을 관리해 줌. 2. Standard alone P392 ~ 부트로더 : GRUB <특징> 멀티부팅이 자유롭다. (다른 운영체제와 함께 설치시 리눅스를 가장 나중에 설치할 것. 부트로더를 grub로 사용) <부팅과정> BIOS Þ 부트로더(GRUB> Þ OS로 p395 ~ grub 설정 # pico /boot/grub/grub.conf l /etc Þ 설정파일들을 기록하는 디렉토리 - grub 설정 파일 # /boot/grub/grub.conf # /etc/grub.conf 는 심볼링크 파일이다. # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/hda3 # initrd /initrd-version.img #boot=/dev/hda default=0 # dos timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz title Red Hat Linux (2.4.20-8) root (hd0,0) kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ initrd /initrd-2.4.20-8.img title dos p400 ~ grub 패스워드 설정 : x윈도우 모드에서 # hanterm 실행 # grub # md5scrypt Þ 패스워드입력Þ비밀번호 암호화코드 블록설정 Þ 스크롤버튼을 드래그 # 다른창으로 hanterm 하나 더 실행 # pico /boot/grub/grub.conf - eth0 의 아래부분에 붙이기 : shift + insert l grub 모드가 잘못되어 부팅이 안될 때 1번cd로 부팅후 ‘linux rescue’로 복구 p 402 ~ 리눅스로 부팅이 안될 때 - 윈도우로 부팅 # fdisk/mbr Þ grub 모드 전체를 삭제(부트로더가 지워지면 멀티부팅이 안되므 로 도스모드로 부팅이 됨.: 부트로더 초기화) - grub 복원 # ‘ linux rescue ’ : 리눅스 1번cd로 부팅 # df – h Þ 하드디스크의 장치명이 보여야 함(/dev/hda2 /mnt/sysimage). 없으면 수동으로 하드디스크를 마운트시킬 것. Þ # mount –t ext3 /dev/hda2 /mnt/sysimage # cd .. # chroot /mnt/sysimage Þ 루트의 위치를 변경. Cd로 부팅했으나 하드디스크로 부팅한 것처럼 경로를 맞춰줌. # grub-install /dev/had Þ 하드디스크로 부팅한 것과 같은 상태여야 함. (root의 위치를 하드디스크로 변경) l grub가 잘못되었을 때 : ‘/boot/grub/grub.conf’에서 수정 # exit 를 두번 입력하면 변경된 환경을 적용하기 위해 재부팅 됨. P404 ~ LILO : grub는 하는 역할은 같다. (우리는 grub만 사용할 꺼야!) ============================================================= # ftp 192.168.2.40 - 로그인 > 모드변경 – 대부분의 프로그램이나 데이터파일(bin), 텍스트나 html파일(asc) > mget *.rpm – ‘y’로 내려받기 > bye # rpm –Uvh xkobo.***.rpm # rpm –Uvh vsftpd.***.rpm @ xkobo 실행 : x 윈도우 상에서 실행 @ vsftpd : ftp 서버용 프로그램으로 inetd 모드에서 시작해야 한다. # /etc/rc.d/init.d/vsftpd start (무조건 처음부터 경로를 지정해서 실행) # ./vsftpd start ( 해당 경로로 먼지 이동후 현재경로에서 명령을 실행.) @ 실행파일 : 대부분이 패키지명으로 실행이 됨. P455 ~ : 데몬 및 프로세스 관리 # ps aux : PID값을 확인 (프로세스를 구분하는 번호. 일반 프로세스를 실행하면 PID값이 생김) # kill –9 PID값 : zombie 상태의 프로세스를 강제로 죽이는 옵션 @ 좀비 : 정상적으로 종료 안됨. 완전히 죽은 상태의 프로세스 p457 ~ : Background 와 Foreground 작업 # gimp & : 내 터미널과 상관없이 프로세스가 별도로 실행된다. # ftp ftp.bora.net @ ctrl + z : 임시중단 # bg : 프로세스가 백그라운드에서 실행되게 바꿔줌. # fg : 프로세스를 포그라운드로 바꿔줌. @ fg나 bg는 예전에 쓰던 방법, 요즘은 창하나를 새로 띄워서 작업함. # pstree : 실행중인 프로세스 상태를 트리구조로 보여줌 # top : 프로세스 상태를 실시간으로 모니터링 하게해줌. P422 ~ : init와 inittab ( 시스템 초기화 프로세스 ) # pico /etc/inittab @ /etc/rc.d/ : 부팅시 rc.d 디렉토리안의 어떠한 파일들을 참조하면서 실행됨 è 대부분 심볼릭링크 파일로 구성. 실제 파일들은 대부분 init.d에 수록 # vsftpd start : 무조건 명령을 path가 걸린 경로를 지정해야 함.(실행안됨) # ./vsftpd start : 설정된 경로를 검색하지 않고 현재 경로에서 실행파일 로딩 # /etc/rc.d/init.d/vsftpd start : 무조건 경로를 지정하여 실행. @ p424~ : runlevel # ./vsftpd stop # ./vsftpd start # ftp 127.0.0.1 # ntsysv : 컴퓨터 부팅시 자동실행파일 설정 (서버용 파일) # pico /etc/rc.d/rc.local : 부팅시 자동으로 로딩키는 설정 파일 § /usr/local/apache/bin/apachect1 start (경로명 잘 알아둘 것! 담에 접할 경로) p441 ~ : Xinetd 데몬과 데몬관리 # pstree : 프로세스 상태 확인 # /etc/rc.d/init.d/vsftpd start § standard alone 데몬 : 컴퓨터가 자원을 많이 사용. 사용자가 많은 서버에서 독 립적으로 구현할 때 유리. § xinetd 데몬 : 일반 데몬들을 관리해주는 데몬 (대표적 용도 – telnet) p443 ~ : xinetd (슈퍼데몬) : inetd 데몬의 업그레이드 버전. 여러가지 데몬들을 관리. - 설치는 기본설치로 됨 - 설정파일 : /etc/xinetd.conf : 가장 기본적인 설정만 기록 - /etc/xinetd.d/ 안에 별도로 수록됨. # pico /etc/xinetd.conf # cd /etc/xinetd.d # pico telnet # /etc/rc.d/init.d/xinetd restart è 설정파일이 적용되려면 다시시작. § /usr/sbin/in.telnetd ( 실제 구동되는 텔넷파일.) (sbin : 서버용 프로그램 모음, bin : 일반 유저용 프로그램이 주로 저장) ============================================================== § 웹서버의 종류 - apache : 리눅스기반이 원칙(윈도우에서도 쓰이기는 함.) - IIS : 윈도우기반 - WAS(Web Application Server) : 내부적으로는 아파치를 쓰면서, 프로그램 기능을 추가한 서버임. (대용량의 서버에서 많이 사용) § 아파치 설치 - RPM으로 설치 - 소스 컴파일로 설치 : 우리가 사용할 방식 § 설치순서 : MySql -> PHP -> Apache 순으로 설치가 되어야 웹서버 구동됨. § http://apache.kr.net - Apache 1.3.31 : 서로 독립적인 버전이므로 뒤의 숫자가 높은 것이 최신버전. - Apache 2.0.* : § Apache 1.3.31 (p796 ~ ) - Apache 내부에 php까지 포함해서 설치 - 기존의 apache서버는 2개의 프로세스가 가동됨( 프로그램 서버와 db서버) - apache.kr.net -> apache 1.3.31 버전 다운로드 - 압축풀기 : # tar xvfz apache 1.3.31.* § 소스로 설치하는 과정 # ./configure : 실행해서 주변상태 검사 # make -> 컴파일과정 # make install -> 컴파일 된 것을 설치 § 설치확인 # cd /usr/local/apache/conf # pico httpd.conf : 서버네임 변경 # /usr/local/apache/bin/apachectl start < 실습 > # cd apache_1.3.31 # ./configure # make # make install # cd /usr/local/apache/conf/ # pico httpd.conf - servername : 본인의 ip 주소로 변경 (line 276) # /usr/local/apache/bin/apachectl start : 가동 § cd /usr/local/apache/ -> 아파치 설치파일이 저장되는 디렉토리 - /conf -> 환경설정 파일 - /htdocs -> http 관련파일들 (htdocs 안의 디렉토리 모두 삭제 : 자신만의 html 파일들만 모음) # pico index.html (/usr/local/apache/htdocs 디렉토리에 저장) - 브라우저상에서 ip주소를 입력하여 확인. (처음 설정파일이 index.html로 들어감) # netstat –an | more ( 웹서버 구동후 80 포트가 작동되었는지 확인) # ntsysv : rpm방식으로 설치시에 등록이 됨. § 소스 컴파일로 설치한 서버 -> 부팅시 자동으로 아파치 서버 구동 # pico /etc/rc.d/rc.local ( ‘/usr/local/apache/bin/apachect1 start ’ 추가 ) § http://192.168.2.40/~username (유저들의 홈페이지임을 의미) <실습> zzz유저에게 홈페이지 공간 할당 # 유저생성 : useradd zzz , passwd zzz # su – zzz # mkdir public_html ( 반드시 이 디렉토리안에 유저들의 홈페이지 입력) # cd public_html # pico index.html l 브라우저 상에 표시 - forbidden (퍼미션 문제임) - index.html 의 퍼미션 확인 -> 문제없으면 상위 디렉토리 퍼미션 확인 -> 단계적으로 올라가며 확인해 볼 것. - 퍼미션 : 701 ( 가장 최적화된 퍼미션임.) , 755(같은 유저들끼리 서로 들어갈 수 있음) § /usr/local/apache/bin # pico httpd ( 실제 실행파일) # pico apachect1 ( start시키면 httpd가 실행됨) # ./httpd –t : httpd.conf의 에러를 검사. # ./httpd –v : 현재 가동중인 아파치의 버전 확인 § cd /usr/local/apache/conf - httpd.conf.default (설정 초기값이 저장 – httpd.conf 내용 초기화시에 사용) # pico httpd.conf - server type standalone ( line 53 ) : 대부분의 웹서버가 독립형으로 구축 - start servers 5 : 서버가동시 여분의 프로세스 개수 지정 - index.html’검색 : directoryIndex index.html ( 원하는 파일 추가 가능) (사용자가 주소만 입력할 때, 시작페이지를 설정한 파일로 지정.) - public_html 검색 : userdir public_html (가급적 변경안함.) - nobody 검색 : user nobody , group nobody ( # ps –aux | grep httpd : 해당웹서버의 모든 통제권은 root에 있음. 자식프로세스를 nobody로 설정함. – 시스템 보호 차원에서 리눅스 설치시 자동 생성되는 자식 프로세스.) - port 80 : port번호를 내부적으로 바꿀 수 있다.(사용자가 모르게 하기위해) - htdocs : document root “usr/local/apache/htdocs” (웹서버의 처음 시작페이지의 위지 지정. 홈페이지만 관리할 수 있는 유 저디렉토리로 변경해서 사용- 가상호스팅으로) =======================================================
* 순서 : MySql -> Apache -> PHP -> apache ->Zend
<down load>
1. mysql : www.mysql.com - product - mysql4.0 - source downloads -tarball
2. php : www.php.net - download ->php-4.3.8.tar.gz(4.8mb)
3. Zend Optimizer : www.zend.com (zendoptimizer-2[1].5.3-linux-blibc21-i386.tar.gz)
<설치> : 교재 p799 ~
1. mysql : 압축풀고 cd mysql.***의 디렉토리로 이동.
- ./configure --prefix=/usr/local/mysql --with-charset=euc_kr
- make
- make install
- 설치완료후에 db유저만들고 소유권을 설정해줄것.
# useradd mysql : db를 관리하는 유저생성
# chown mysql:mysql /usr/local.mysqlvar -R
# cd /usr/local/mysql/bin
- 데이터베이스 가동
# /usr/local/mysql/bin/mysqld_safe & : db가동 명령
( & 기호를 사용하여 백그라운드에서 계속 가동중이게 한다.)
# ps -aux | grep mysql
# /usr/local/mysql/bin/mysql -u root -p ( db접속 )
password : 엔터
mysql>
- 루트 패스워드 설정
# /usr/local/mysql/bin/mysqladmin -u root password 123456
* shell에 path 설정 -> /etc/profile
-> 경로추가 : /usr/local/mysql/bin
|
|
|
|
|
기사입력: 2006/08/26 [08:43] 최종편집: ⓒ iwav |
|
|
|
|