레이블이 centos인 게시물을 표시합니다. 모든 게시물 표시
레이블이 centos인 게시물을 표시합니다. 모든 게시물 표시

2010년 8월 25일 수요일

[CentOS 5.4] 설치 후 설정할것들


CentOS 설치 후 설정

  • 한글 설정
  • /etc/sysconfig/i18n 파일에서 다음을 설정 한다.
LANG="ko_KR.UTF-8"
  • 사용하는 터미널에서 "UTF-8"을 사용하도록 설정 한다.
  • PuTTY의 경우 : Window -> Translation 메뉴에서 "Character set translation on received data"를 "UTF-8"로 설정 한다.
  • 아래 명령을 사용하여 인터넷 접속 여부를 확인 한다.
ping -c3 google.com
  • 서버 시간 설정
echo "00 * * * * root /usr/bin/rdate -s time.bora.net" >> /etc/crontab
  • 기본 업데이트
yum -y update kernel
yum -y update kernel-PAE //--- 32 Bits 시스템에서 메모리가 4GB 이상일 경우
  • 가장 빠른 미러 사이트를 연결하는 yum 플러그인 설치
yum -y install yum-fastestmirror

CentOS Upgrade

  • Upgrade to CentOS 5.4 from 5.3
yum clean all
yum update glibc*
yum update yum* rpm* python*
yum clean all
yum update
shutdown -r now

#--- CentOS 버전 확인
lsb_release -a

CentOS Network 설정

VNC Server 설치

VNC (Virtual Network Computing)는 원격으로 Linux의 GUI 화면으로 접속할 수 있도록 한다.

  • VNC Server 설치
#--- CentOS에 root로 로그인 한다.
yum -y install vnc-server
  • vi /etc/sysconfig/vncservers
VNCSERVERS="1:root"    #--- 1번부터 5901 port를 사용 한다.
VNCSERVERARGS[1]="-geometry 1152x864" #--- 추가 옵션 : -nolisten -nohttpd -localhost
  • VNC Server 사용자 password 생성
cd
mkdir .vnc
cd .vnc
vncpasswd
#--- 여기서 암호를 입력 한다.
service vncserver restart
  • 방화벽에서 해당 사용자의 port를 오픈하여야 한다.
#--- /etc/sysconfig/vncservers에 등록된 1번부터 5901 port를 사용 한다.
  • VNC Client에서 접속 시
VNC Viewer로 접속시 "IP:5901"로 접속 한다.
TightVNC Viewer로 접속시 "IP:1"로 접속 한다.
  • 처음 접속이 완료되면 xstartup 파일이 생성된다. 이를 수정하여 예쁜화면을 사용하자.
cd
cd .vnc
vi xstartup
### twm & #--- 이 라인을 주석 처리(삭제) 한다.
gnome-session & #--- 이 라인을 추가 한다.
service vncserver restart
  • 설치 정보
  • 설치 폴더 :
  • 실행 파일 : /usr/bin/
  • 환경 설정 : /etc/sysconfig/vncservers
  • 기동 종료 : /etc/init.d/vncserver start, stop, restart
  • 서비스 확인 :
  • 참고 문헌

주요 SW 설치

CentOS용 프로그램

  • 시스템 라이브러리 설치
yum -y install zlib curl   
yum -y install gcc g++ cpp gcc-c++ compat-gcc-34-g77
yum -y install libxml2 libxml2-devel
yum -y install gd gd-devel
yum -y install freetype freetype-devel
yum -y install libpng libpng-devel
yum -y install libjpeg libjpeg-devel
yum -y install fontconfig fontconfig-devel
yum -y install mhash mhash-devel
yum -y install libmcrypt libmcrypt-devel
yum -y install openssl openssl-devel
yum -y install gmp gmp-devel
yum -y install flex
yum -y install libtermcap-devel ncurses-devel libc-client-devel bzip2-devel
  • 필요한 경우 컴파일러를 설치 한다.
yum -y install gcc gcc-c++ termcap libtermcap libtermcap-devel gdbm-devel

vsftpd 설치

  • vsftpd 설치
yum -y install vsftpd
  • 아래 설치 정보에 정리된 블랙 리스트에서 ftp를 사용할 사용자를 빼준다.
  • 방화벽에서 20, 21 port를 개방 한다.
  • 설치 정보
  • 실행 파일 : /usr/sbin/
  • 환경 파일 : /etc/vsftpd/vsftpd.conf
  • 블랙 리스트 : /etc/vsftpd/ftpusers, /etc/vsftpd/user_list
  • 기동 종료 : /etc/init.d/vsftpd start, stop, restart, status
  • 서비스 확인 : ps -ef | grep vsftpd | grep -v grep

Java 설치


MySQL 설치

PostgreSQL 설치

Apache Http Server 설치

PHP 설치

Tomcat 설치

  • Linux의 심볼 링크를 사용하여 Tomcat의 Root 폴더를 변경 하는 방법
ln -s /var/www/html /usr/share/tomcat5/webapps/ROOT

Apache ANT 설치

yum -y install ant

부팅시 자동 실행 설정

  • ntsysv 명령어를 실행하고 자동 실행할 데몬을 선택 한다.

사용자 가이드

버전 확인

lsb_release -a
cat /etc/issue

SSH 접속 방법

yum 사용법

  • 관련 폴더
/etc/yum.conf
/etc/yum.repos.d/
/etc/yum/
  • 설치 가능한 package 목록 보기
yum list [all]
yum grouplist #--- package 그룹 보기
  • package 설치 및 삭제
yum install httpd          #--- 설치
yum install httpd.i386 #--- 아키텍처를 지정하여 설치
yum update httpd #--- 업데이트
yum remove httpd #--- 삭제

yum groupinstall "그룹명" #--- package 그룹 설치
yum groupupdate "그룹명" #--- package 그룹 업데이트
yum groupremove "그룹명" #--- package 그룹 삭제
  • 설치된 package 목록 보기
yum list installed [httpd]
  • 업데이트할 package 목록 보기 및 업데이트
yum list updates           #--- 목록 보기
yum update -y #--- 업데이트

RPM 사용법

Redhat Package Manager로 레드헷에서 만든 패키지 관리자 이다.

  • RPM 파일명 구조
패키지이름-버전-릴리즈번호.소스여부.시스템.확장자
  • RPM 명령어
  • rpmfind에서 PRM 패키지(~.rpm)를 찾을 수 있다.
rpm -Uvh gcc-2.96-98.i386.rpm  #--- 패키지 설치
rpm -Uvh ftp://ftp.rpmserver.com/gcc-2.96-98.i386.rpm #--- 네트워크로 패키지 설치
rpm -e gcc-2.96-98.i386 #--- 패키지 제거
rpm -qa | grep httpd #--- 패키지 조회
rpm -qi ~.rpm #--- 패키지 상세 정보 조회
rpm -ql gcc-2.96-98.i386 #--- 패키지 설치 경로 조회
  • RPM 옵션
-i       :기본 설치. 이전 버전이 존재하면 설치하지 않음
-U  : 이전 버전이 설치되어 있으면 업그레이드. (-i 보다 권장)
-F  : 이전 버전이 설치되어 있는 경우에만 설치
-v  : 설치 메시지를 보여 줌
-h  : 진행과정을 '#'으로 표시
-e  : 패키지를 제거
-q  : 패키지가 설치되어 있는 지 확인
-qa  : 현재 설치된 모든 패키지 목록을 출력
-qi  : 현재 설치된 패키지의 간략한 정보를 출력
-ql  : 현재 설치된 패키지의 내용(위치)을 출력
-Vf  : 현재 설치된 파일의 검증. 문제가 없으면 '.'으로 표시
-Va  : 한 패키지만 검증
--force  : 충돌 등을 무시하고 무조건 설치
--nodeps : 의존성 문제를 무시하고 설치

관리자 가이드

방화벽 설정

CentOS는 디폴트로 iptables를 방화벽으로 사용 한다.

  • 특정 IP의 서버 접근 차단 방법
iptables -A INPUT -s 61.247.209.81 -j DROP
iptables -A INPUT -s 61.247.209.0/24 -j DROP

KVM

  • 참고 문헌

VirtualBox 설치

RPM 제작

  • RPM 제작을 위한 패키지 설치
yum -y install rpm-build rpm-devel
yum -y install ~.rpm
  • 설정 파일 : /etc/rpmrc, /usr/lib/rpm/rpmc


  • RPM 소스 패키지(~.src.rpm) 다운로드
  • rpmfind에서 원하는 RPM 소스 패키지를 다운로드 한다.
wget ftp://rpmfind.net/linux/fedora/development/source/SRPMS/~.src.rpm


  • RPM 소스 패키지로 RPM 패키지(~.rpm) 만들기
rpmbuild --rebuild --target=i686 ~.src.rpm
rpmbuild --rebuild ~.src.rpm #--- target은 생략 가능


  • RPM 패키지 설치
rpm -Uvh ~.rpm


  • RPM 소스 패키지 내용 보기
mkdir /usr/src/redhat
rpm -ivh ~.src.rpm
  • /usr/src/redhat/SOURCES : 소스와 패치 파일 저장
  • /usr/src/redhat/SPECS  : 스팩 파일 저장


  • RPM 소스 패키지 다시 만들기
cd /usr/src/redhat/SPECS
rpm -ba ~.spec
  • /usr/src/redhat/SRPMS : RPM 소스 패키지가 생성됨
  • /usr/src/redhat/RPMS  : RPM 패키지가 생성됨


  • /usr/src/redhat/ 폴더의 구조
  • BUILD  : rpm에 의해서 빌드가 이루어지는 디렉토리
  • RPMS  : 아키텍처별 RPM 패키지 저장
  • 아키텍처별로 athlon, geode, i386, i486, i586, i686, noarch 하위 폴더가 있음
  • SOURCES : RPM 소스 저장
  • SPECS  : RPM Spec 저장
  • SRPMS  : SRPM 저장

[CentOS 5.4] PHP에서 파일업로드 않될때


기본적으로 PHP에서 파일 업로드가 않되는 이유는 두가지정도로 알고있다.

첫번째, httpd 서비스 실행자인 nobody에게 read/write 권한을 주었느냐이다.
두번째, php.ini 환경설정에서 file_uploads 옵션이 off로 되어있는지 확인하는것이다.

첫번째 문제라면은 웹 루트폴더 (DocumentRoot)에 가서 권한설정 명령어를 때려준다.
# chown -R nobody htdocs/

두번째 문제일때
# cd /usr/local/apache/conf/
# vi php.ini
여기서 [ : ]을 누르면 화면하단에 [ : ] 표시가 보일것이다~
이것이 vi 편집기 명령어를 사용할수 있게해준다.

[ :/file_uploads ] 라고치고 엔터!! ( 동일 패턴을 검색해주는것이다~ 찾기기능 )
file_uploads = ON 으로 되어있는지 확인하고 저장 [ :wq ] 하고 나온다.

마지막으로 httpd (아파치) 서비스를 다시시작해준다.

# /etc/init.d/httpd restart

2010년 8월 24일 화요일

CentOS 5.4(5.5 Updatede) APM 설치 방법 - 확인!!

TestServer - CentOS 5.5 APM 설치 스크립트 - 작성일 : 2010년 08월 24일

TestServer 사양
OS : CentOS 5.4 / CPU : P4 2.8Ghz / RAM : 1G / HDD : 250GB

Apache, MySQL, PHP 설치이후 Apache가 실행되지 않을때,
혹은 php5 modules 이 문제가 발생되었다고 할때는 제일 아래 하단을 봐주센~ ^^

### APM 다운로드
- 섭군이는 필요한 소스를 다음 디렉토리에 저장하기로 했음~ 각자에 맞게 바꾸면 됩니다~
# /usr/local/src/
- apache 다운로드 : http://www.apache.org/
# wget http://mirror.tw/pub/apache/httpd/httpd-2.2.14.tar.gz
- php 다운로드 : http://www.php.net/
# wget http://kr.php.net/get/php-5.3.1.tar.gz/from/this/mirror
- mysql 다운로드 : http://www.mysql.org/
# wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.41.tar.gz/from/http://mirror.khlug.org/mysql/

 
1. MySQL 설치

 1) 다운로드한 파일 압축 해제
# tar -zvxf mysql-5.1.41.tar.gz
# cd mysql-5.1.41
 
 2) mysql 계정 생성
# useradd -M -s /bin/false mysql
 
 3) ./configure 실행
# ./configure \
--prefix=/usr/local/mysql \
--with-charset=utf8 \
--with-extra-charsets=all
 
 4) make && make install(설치경로 -> /usr/local/mysql)
# make && make install
 
 5) 환경설정파일 복사(support-files/ -> /etc/my.cnf)
# cp /usr/local/apm/mysql-5.1.41/support-files/my-large.cnf /etc/my.cnf
 
 6) 기본 DB 생성
# cd /usr/local/mysql
# bin/mysql_install_db --user=mysql
 
 7) 디렉토리 권한 설정
# chown -R root .
# chown -R mysql var
# chgrp -R mysql .
 
 8) 환경변수 등록(경로 추가)
# vi /root/.bash_profile
# PATH=$PATH:$HOME/bin:/usr/local/mysql/bin <- 수정
# source ~/.bash_profile
 
 9) 자동실행 설정
# cp share/mysql/mysql.server /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --list|grep mysqld
 
 10) root 암호 등록 및 테스트
   - mysql을 처음 설치하고나면 생성되는 root 계정에는 기본적으로 암호가 없다. 그러므로 암호설정을 반드시 해준다.
# /etc/init.d/mysql start
# Start MySQL          [ OK ]
# mysqladmin -u root password 1q2w3e4r
# mysql -u root -p
 
 
==========================================================================================================================
 
2. Apache 설치

 1) 소스를 받은 위치로 이동한다.
        기본경로1 : /usr/local/apm
# cd /usr/local/apm
 
 2) 다운로드한 파일 압축을 풀어준다.
# tar -zxf httpd-2.2.14.tar.gz
# cd httpd-2.2.14

 3) 압축이 풀린 디렉토리로 이동한다.
       기본경로2 : /usr/local/apm/httpd-2.2.14
# cd httpd-2.2.14
 
 4) 컴파일 환경설정을 한다. 5분가량 소요된다.
# ./configure \
--prefix=/usr/local/apache \
--enable-mods-shared=all \
--enable-so \
--enable-rewrite
 
 5) 설치를 진행한다. make 와 make install 두 과정을 합해서 15분~20분 가량 시간이 소요된다.
       기본경로3 : /usr/local/apache/
# make && make install
 
 6) 서버를 재부팅할경우 apache 데몬이 자동실행이 되도록 설정한다.
# cp bin/apachectl /etc/init.d/httpd
# vi /etc/init.d/httpd  <- vi로 httpd파일을 열고 아래내용을 맨 밑에 추가한다.
# chkconfig: 2345 90 90
# description: init file for Apache server daemon
# processname: /usr/local/server/apache/bin/apachectl
# config: /usr/local/server/apache/conf/httpd.conf
# pidfile: /usr/local/server/apache/logs/httpd.pid

# chkconfig --add httpd        ntsysv에 httpd 항목 추가
# chkconfig --list|grep httpd       ntsysv에 httpd 항목이 제대로 추가됐는지 확인
 
 7) 환경설정은 conf/httpd.conf 를 수정하면 된다.
# vi conf/httpd.conf
 
<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or#number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User nobody <- daemon=>nobody
Group nobody <- daemon=>nobody

</IfModule>
</IfModule>

 8) 테스트를 위해 아파치 데몬 실행 및 웹브라우저로 접속을 해본다.
 # /etc/init.d/httpd start      아파치 데몬 시작

 
==========================================================================================================================
 
 
3. PHP 설치

 1) 소스를 다운로드한 위치를 각자 확인한다.
     기본경로1 : /usr/local/apm/
 
 2) 다운로드한 파일의 압축을 해제 한 후 압축풀린 디렉토리로 이동한다.

# tar -zxf php-5.3.1.tar.gz
# cd php-5.3.1
 
 3) 기본경로2 : /usr/local/apm/php-5.3.1
      컴파일하기 위한 환경변수 설정을 해준다.
 
# ./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/apache/conf \
--disable-debug \
--enable-safe-mode \
--enable-track-vars \
--enable-sockets \
--with-mod_charset \
--with-charset=utf8 \
--with-xml \
--with-language=korean \
--enable-mailparse \
--enable-calender \
--enable-sysvsem=yes \
--enable-sysvshm=yes \
--enable-ftp \
--enable-magic-quotes \
--enable-gd-native-ttf \
--enable-url-include \
--enable-trans-id \
--enable-inline-optimization \
--enable-bcmath \
--with-jpeg \
--with-png \
--with-zlib \
--with-jpeg-dir=/usr \
--with-png-dir=/usr/lib \
--with-freetype-dir=/usr \
--with-libxml-dir=/usr \
--enable-exif \
--with-gd \
--with-ttf \
--with-gettext \
--enable-sigchild \
--enable-mbstring

 4) 컴파일 및 인스톨을 진행한다. 20분 가량 걸린다. 담배나 한대 피자..

# make && make install

 5) 환경설정
# cp php.ini-production /usr/local/apache/conf/php.ini    php 설정파일을 아파치가 설치된 디렉토리의 conf 디렉토리로 복사
# vi /usr/local/apache/conf/httpd.conf    아파치 환경설정파일을 열어 아래의 내용을 추가/수정 한다.
 
# 수정
<IfModule dir_module>
 DirectoryIndex index.html index.htm index.php
</IfModule>
 
# AddType 지시어 추가
<IfModule mime_module>

  AddType application/x-compress .Z
  AddType application/x-gzip .gz .tgz

  밑에부분에 추가

  AddType application/x-httpd-php .php .htm .html .inc .php4 .php3
  AddType application/x-httpd-php-cource .phps

</IfModule>

 6) php 설치가 제대로 됐는지 테스트 해본다.

# /etc/init.d/httpd restart    바뀐 환경설정 적용을 위해 아파치데몬 재시작

[참고] 아파치 가동시 아래와 같은 에러가 발생할 경우
Syntax error on line 232 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/modules/libphp5.so into server: cal/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission

###############################################
오류에 대한 해결 방법
# vi /etc/sysconfig/selinux
SELINUX=disable   <<== disable로 변경하고 재부팅한다
###############################################

# vi /usr/local/server/apache/htdocs/phpinfo.php
phpinfo.php 파일 생성 및 내용 입력후 저장
<? phpinfo(); ?>
 => http://localhost/phpinfo.php 각자의 환경에 맞는 주소입력 요망.
    phpinfo.php가 웹브라우저에서 제대로 표시되면 정상적으로 설치된것이다.
 

2010년 8월 19일 목요일

64 bit CentOS 5.x 에서 Flash Player 설치하기

CentOS 5.3 64bit를 설치한 후 FireFox를 실행하고 네이버에 들어오면 Flash Player를 설치하라는 메시지가 친절하게도 나온다.

하지만 Adobe 사이트로 들어가 다운로드 받아 설치해 봐도 Flash가 있는 화면은 회색 네모 상자로만 보인다.  

그 이유는 adobe flash player가 아직 64bit 리눅스를 지원하고 있지 않기 때문에 아무리 가장 최신 버전으로 설치해 봐도 64bit Firefox에서는 flash를 볼 수 없다고 한다.

해결방법은 32bit Firefox를 설치하면 된다 (-_-)a

64bit FireFox에서 Flash Player설치하기

사실 32bit FireFox를 설치한다는 것은 틀린 말은 아니지만 64bit Firefox에서도 편법이지만 Flash를 볼 수 있는 방법은 있다.
그것은 바로 nspluginwrapper라는 패키지를 사용하면 된다. 이제 nspluginwrapper를 설치하여 Flash를 보는 방법을 진행해보자.
Nspluginwrapper
는 이름 그대로 크로스-플랫폼 넷스케이프4(NPAPI) 호환 플러그인 뷰어로 64bit 어플리케이션에서 32bit 플러그인을 사용할 수 있도록 해주는 wrapper .

 

먼저 nspluginwrapper 를 설치하자.

# yum install curl compat-libstdc++-33 glibc nspluginwrapper

[root@localhost ~]# yum install curl compat-libstdc++-33 glibc nspluginwrapper
Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

 * base: ftp.daum.net

……<어쩌구저쩌구 쭈욱 계속 진행.. 그러다가 !!!!>

Is this ok [y/N]: y  // ß 의존성 여부를 확인후 nspluginwrapper 설치여부를 물어본다. Y를 선택

 

다음은 Flash Player를 설치합니다.

n  Adobe 사이트에서 Flash Player를 다운받습니다 http://get.adobe.com/kr/flashplayer/

n  다운받은 파일을 설치합니다.

# rpm -ivh /tmp/flash-plugin-10.0.32.18-release.i386.rpm

마지막으로 열려있는 FireFox를 모두 닫고 새로이 FireFox를 열어봅니다.

     

이제 Flash가 정상적으로 잘 보이는 것을 확인할 수 있다.

Crontab과 쉘스크립트를 이용한 DB백업업

root 아래에 backup.sh 라는 스크립트를 작성한다.

# vi /root/backup.sh

이후 아래 내용을 기재해 준다.

#!/bin/bash
/usr/local/server/mysql/bin/mysqldump -uroot -p비밀번호 mysql > /backup/mysql_db_bak_$(date +%Y%m%d).sql
/usr/local/server/mysql/bin/mysqldump -uDB계정 -p비밀번호 sskim > /백업경로/백업파일명_db_bak_$(date +%Y%m%d).sql
mv *.sql /이동경로
tar cvfpz mysqlbackup.tar.gz /backup/*
tar cvfpz 압축파일명.tar.gz /압축된 백업파일 저장위치/
find /backup -ctime +3 -exec rm -f {} \;

내용을 설명하자면..
#!/bin/bash   -> 쉘 스크립트를 생성
/usr/local/server/mysql/bin/mysqldump -uroot -p비밀번호 mysql > /backup/mysql_db_bak_$(date +%Y%m%d).sql
-> mysql이 설치된 곳에 mysqldump를 이용하여 백업을 진행
mv *.sql /backup
-> 모든 .sql 파일을 /이동경로로 옮김
tar cvfpz mysqlbackup.tar.gz /backup/*
-> 백업된 파일을 tar를 이용하여 지정한 위치로 압축
find /backup -ctime +3 -exec rm -f {} \;
-> 날짜를 체크하여 3일이 경과된 파일을 찾아 삭제

내용은 대충 이렇다. ㅡ.ㅡ;;

이후 :wq 를 이용하여 저장

# chmod 100 /root/backup.sh
명령을 통하여 권한을 부여한다. (즉 이 파일은 수정하지 못하게 함. ^^;)

# crontab -e
명령어 이후에 아래 내용을 삽입
00 06 * * * /root/backup.sh
-> 이내용은 매일 6시에 백업을 진행하라는 뜻.

위와 같이 진행한 이후
/var/spool/cron/root 가 있다면 정상적으로 된 것임.

확인은 경로로 지정한 폴더에 가보면 정상적으로 백업이 되어 있다는 것...

만약 안된다면....
# /etc/init.d/cron restart
를 이용하여 재시작 후 다시 한번 정상적으로 되는지 확인한다.



복구 방법

# mysqldump -u db계정 -p 백업할 db_name > 파일명

위 명령어 실행 후 passward 입력후 db 복구 완료


----------------------------------------------------------
특정 테이블만 백업할 때
>> msqyldump -u root -p -e [database] [table] > backup.sql
모든 데이터베이스
>> msqyldump -u root -p -e --all-databases > backup.sql

특정 데이터베이스
>> msqyldump -u root -p -e --databases [database1] [database2] > backup.sql

복구할 때
>> mysql -u root -p < backup.sql
----------------------------------------------------------