올해 4월 부터 P7010 사용하고 있는데 LCD 주변의 베젤이 조금씩 벗겨졌다. 용산 가기도 귀찮고 해서 그냥 사용하려고 했는데 LCD 화면 볼때마다 눈에 거슬려서 결국 오늘 갔다 왔다. 구입한지 3개월 정도밖에 안되서 무료로 해줄지 알았는데 사용자 부주의 때문에 그런거라고 돈 내야 된다고 한다. 내 부주의가 아니라고 얘기는 했지만 무료로 안된다고 해서 11,000 주고 고쳐왔다. 사용하다 보면 또 그럴텐데 그때는 그냥 무시하고 사용해야 겠다. 어쨌든 깨긋해진 노트북을 보니 기분은 좋다.
2.홈 디렉토리의 상위 접근 금지 a. chroot_list 빈 파일을 /etc/vsftpd에 만든다.
b-1. chroot_list에 있는 사용자만 home direcory를 벗어나지 못하도록 설정하기 위해서는 chroot_local_user항목을 추가하고 chroot_list_enable 항목의 주석을 해제한다. chroot_local_user=YES chroot_list_enable=YES
b-2. chroot_list에 있는 사용자만 home direcory를 벗어나도록 설정하기 위해서는 chroot_list_enable항목의 주석을 해제한다. chroot_list_enable=YES
일반적으로 많이 사용하는 Apache+MySql+PHP(APM)의 설치 방법에 대해서 정리한다.
1. Apache 설치 Apache 컴파일 및 설치 Apache 자동 실행 "/etc/init.d/"에 apachectl을 복사한다.
/etc/init.d/apachectl 상단에 아래 내용 추가한다. # chkconfig: 2345 60 60 # description: Apache Web Server Version 2.0 chkconfig에서 처음 인자는 어떤 run-level에서 실행될지를 의미하며, 그 다음 두개의 인자는 같은 run-level에서 실행/종료시 prority를 의미한다.
chkconfig 명령어를 이용해 등록 # chkconfig --add apachectl # chkconfig --level 2345 apachectl on
chkconfig로 apachectl을 add하고 난 후에 ntsysv로 서비스 목록을 보면 apachectl이 추가된 것을 볼 수 있다.
Tomcat의 JNDI DataSource 사용을 할 때 직접 드라이버를 로드하는 방법과 DBCP 사용을 하는 방법이 있다.
ㄱ. 직접 드라이버 로드를 하는 방식 JDBC 드라이버를 $CATALINA_HOME/common/lib에 설치를 해서 사용을 하면 된다.
ㄴ. JNDI DataSource 사용하는 방식 HP에서 제공하는 패키지로 설치한 Tomcat의 $CATALINA_HOME/common/lib의 commons-collections.jar , commons-pool.jar , commons-dbcp.jar 를 이용을 하면 Oracle JNDI 연결시 v () method를 찾지 못한다는 에러 발생한다. 버전에 맞는 것을 Tomcat 프로젝트 홈페이지에서 받아 설치하고 그것을 사용하도록 하면 해결이 됐던 것으로 기억한다.
설치 순서 # 1. Live CD 다운로드 2. Boot 3. Configuring Network 4. Partition a Disk 5. Create Filesystems 6. Mount 7. Installing a Stage Tarball 8. Inatal Portage 9. Configuring the Compile Options 10. Chrooting 11. Configuring the Kernel 12. Configuring your System 13. Configuring the Bootloader
2. Boot boot 옵션을 사용하기 위해서는 아래 문서를 참고하며 엔터를 치면 default gentoo 커널을 사용한다. boot: 상태에서 F1을 누르면 선택 가능한 커널을 알려주며 F2를 누르면 사용 가능한 옵션을 알려준다. ㄱ. default 설치 boot: gentoo ㄴ. scsi, ataraid, smp 인 경우 boot: smp doscsi doataraid
부팅후 리모트 설치를 위해 root 계정의 암호를 설정하고 sshd 데몬을 시작한다. # passwd # /etc/init.d/sshd start
3. Configure Network net-setup 명령어를 이용해 네트워크를 구성하며 자세한 내용은 다음 문서를 참고한다.
net-setup eth0
4. Partition a Disk fdisk 명령어를 이용해 디스크의 파티션을 구성한다.
# fdisk /dev/hda 또는 # fdisk /dev/discs/discs0
fdisk 명령어 m 도움말 n 파티션 생성 p 파티션 정보 t 시스템 아이디 변경
/ 4G(/usr, /var 포함) /boot 100M /tmp 1G swap 512M /var/log 1~3G /usr/local 4G home 나머지
파일 시스템 생성 # mkreiserfs /dev/hde1 # mkreiserfs /dev/hde3 # mkswap /dev/hde2
스왑 파티션 활성화 # swapon /dev/hde2
6. Mount /mnt/gentoo 마운트 # mount /dev/hda3 /mnt/gentoo
/mnt/gentoo/boot 마운트 # mkdir /mnt/gentoo/boot # mount /dev/hda1 /mnt/gentoo/boot
/mnt/gentoo/proc 마운트 # mount -t proc none /mnt/gentoo/proc
7. Installing a Stage Tarball ㄱ. 시간 설정 # date //시간 확인 # date MMDDhhmmYYYY //시간설정 ㄴ. tarball 설치 # cd /mnt/gentoo # tar -xvjpf /mnt/cdrom/stages/stage3-20031011.tar.bz2
8. Inatal Portage # tar -xvjf /mnt/cdrom/snapshots/portage-20031011.tar.bz2 -C /mnt/gentoo/usr
9. Configuring the Compile Options nano명령어를 이용해 컴파일 옵션을 수정한다. GHOST 값만 변경하고 CFLAGS값은 잘 몰라서 변경 못했음.
Optional: Preparing for GRP 항목은 선택사항이어서 이 단계는 수행하지 않고 다음 단계로 진행함
ALT+F2 : 새로운 터미날 오픈 ALT+F1 : 이전 터미날 돌아가기
11. Configuring the Kernel Timezone 설정 Asia/Seoul로 Timezone을 설정한다. # ls /usr/share/zoneinfo/Asia # ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
Source 설치 vanilla-sources the default kernel source gentoo-sources kernel source patched with performance-enhancing features gentoo-dev-sources kernel v2.6 source
설치하고 싶은 소스를 선택하고 emerge를 이용해 설치한다. # emerge vanilla-sources # ls -l /usr/src/linux
linux에 심볼릭 링크가 다른 커널 소스에 연결 되있는 경우 삭제하고 설치하고 싶은 커널 소스에 링크를 만든다. # rm /usr/src/linux && ln -s /usr/src/linux-2.4.25 /usr/src/linux
12. Configuring your System /etc/fstab 수정 nano나 vi를 이용해서 실제 사용될 파티션 정보에 맞게 수정을 하며 filesystem이 reiserfs인경우에 opt에 notail을 추가한다.
네트워크 hostname 설정 # echo tux > /etc/hostname
domainname 설정 # echo homenetwork > /etc/dnsdomainname nisdomainame 설정 # echo nis.homenetwork > /etc/nisdomainname domainname스크립트를 default run level에 추가 # rc-update add domainname default
네트워크 설정 네트워크 설정 수정(dhcp,ip,netmask,broadcast...) # nano -w /etc/conf.d/net
부팅시에 네트워크 시작하기위해 net.eth0을 defalut run level에 추가한다. # rc-update add net.eth0 default
시스템 정보
# nano -w /etc/rc.conf
13. Configuring the Bootloader GRUB 설치 # emerge --usepkg grub
GRUB shell 실행 # grub
MBR에 GRUB 인스톨 grub> root (hd0,0) (Specify where your /boot partition resides) grub> setup (hd0) (Install GRUB in the MBR) grub> quit (Exit the GRUB shell) grub.conf 수정
nano를 이용해 grub.conf 파일을 연다 nano -w /boot/grub/grub.conf
아래 내용을 참고해서 grub.conf를 작성한다. # Which listing to boot as default. 0 is the first, 1 the second etc. default 0 # How many seconds to wait before the default listing is booted. timeout 30 # Nice, fat splash-image to spice things up :) splashimage=(hd0,0)/grub/splash.xpm.gz
title=Gentoo Linux 2.4.24 # Partition where the kernel image (or operating system) is located root (hd0,0) kernel (hd0,0)/kernel-2.4.24 root=/dev/hda3
# The next three lines are only if you dualboot with a Windows system. # In this case, Windows is hosted on /dev/hda6. title=Windows XP root (hd0,5) chainloader +1
목록 # 1. 그래픽 로그온 => 콘솔 부팅으로 변경 2. XManager 사용을 위한 리눅스 설정 3. can't see Hangul Font 4. ?X86Config 샘플 파일 생성 5. console 해상도(resolution) 6. su: Permission denied 7. LANG 설정 8. 전역 환경변수 설정
자세히 보기 # 1. 그래픽 로그온 => 콘솔 부팅으로 변경 그래픽 로그온 설정으로 설치된 경우 콘솔로부팅하게 변경하는 방법 /etc/inittab id:5:defaults 에서 5를 3으로 변경한다.
2. ?XManager 사용을 위한 리눅스 설정 ㄱ. 폰트 서버 설정 /etc/X11/fs/config 파일에 아래 항목이 있을 근처) no-listen = tcp (변경 후)> #no-listen
ㄴ.폰트 서버 구동 방법 : Unix(Linux)에서 해야 # /etc/rc.d/init.d/xfs restart ?Enter
ㄷ. kde를 X윈도로 사용하는 경우 /etc/X11/xdm/xdm-config 파일의 다음 라인을 코멘트로 막습니다.(28라인 근처) DisplayManager.requestPort: 0 ==> DisplayManager.requestPort: 0
/etc/X11/xdm/Xaccess 파일의 다음 줄에 코멘트 기호(#)를 삭제합니다.(40라인 근처) #* #any host can get a login window ==> * #any host can get a login window
/usr/share/config/kdm/kdmrc 파일을 찾아서 다음과 같이 설정합니다.(77라인 근처) Xdmcp Enable=true
위 항목들 수정후 시스템 재부팅을 한다.
3. Can't see Hangul Font Install Baekmuk Font /etc/X11?/XF86Config file Add ?FontPath Item
4. XF86Config 구성 XFree86 -configure 명령어로 XFree86 -configure
5. console 해상도(resolution) ㄱ.boot mount # mount /dev/disc/disc0/part1 /boot
ㄴ.grub.conf 수정 # vi /boot/grub/grub.conf grub.conf의 kernel 항목에 video=vesafb:1024x768-32@60 추가 kernel /kernel-2.6.9-gentoo-r4 root=/dev/ram0 init=/linuxrc real_root=/dev/hde3 video=vesafb:1024x768-32@60
1. Virtual Host <VirtualHost design.paran.com> ServerAdmin happy@happy.co.kr ServerName design.happy.com ServerPath /public_html_design DocumentRoot /home/paran/public_html_design <Directory /home/paran/public_html_design> Options -Indexes FollowSymLinks MultiViews AllowOverride All <IfModule mod_access.c> Order allow,deny Allow from all </IfModule> </Directory> </VirtualHost>
2. 가상 호스트 설정후 에러나는 경우 virtualhost된 디렉토리접근시 403(Forbidden)에러 나는 경우 유저디렉토리 권한을 확인하고 700인 경우에는 705 정도로 변경 #ls -al /home #chmod -R 705 /home/happy 가상호스트로 public_html(user디렉토리로 설정)이 아닌 다른 디렉토리를 웹루트로 추가 설정한 경우 <Directory> 설정이 필요함
3. 기본 인코딩셋 설정 /etc/apache/conf/commonapache2.conf를 수정 ISO-8859-1로 되있는 것을 주석처리하고 EUC-KR을 추가 #AddDefaultCharset ISO-8859-1 AddDefaultCharSet EUC-KR
4.php, apache 파일 업로드 설정 ㄱ. php.conf에서 업로드할 파일 최대 크기를 바이트 단위로 설정한다. LimitRequestBody 524288(업로드 원하는 사이즈로 변경)
# LimitRequestBody가 업로드하려는 파일 보다 작은 경우에는 Requested content-length of 977486 is larger than the configured limit of 524288 ... 이런 에러가 아파치 error-log에 남는다.
ㄴ. php.ini에서 업로드와 관련 있는 설정 항목 post_max_size = 8M file_uploads = On upload_max_filesize = 2M
5. VirtualHost 설정시에 실제 경로는 존재하지만 DocumentRoot warning 나는 경우(레드햇 보안설정 된 경우에 발생한다.) 에러 예> Starting httpd: Warning: DocumentRoot [/home/herit/public_html] does not exist
# chcon -R -t httpd_user_content_t public_html/
6. PHP 모듈 로드 및 타입 추가 LoadModule php4_module modules/libphp4.so