겨우겨우 방법을 찾아서 적용함.

vi replace.sh


#!/bin/bash

for x in `ls`

do

sed s#원래문자#치환될문자#g $x > temp

mv temp $x

done



그리고 나서 파일의 권한을 실행할수 있도록 변경

chmod +x replace.sh


실행

./replace.sh


출처: http://nan1004au.tistory.com/category/language/shell%20script



신고
Posted by 바츠05 트랙백 0 : 댓글 0



PHP 설치하기

APM 중에서 아파치와 MySQL 은 설치했고, 이제 PHP 하나 남았다. CentOS 리눅스 구축관리 실무 책에 나와있는 내용대로 소스를 받아서 설치하려고 했는데, 계속 설치가 안된다. configure 에서 계속 오류가 발생한다.
그래서 어쩔수 없이 yum 을 이용해서 PHP를 설치해버렸다.

일단 책에서 소개하는 방법은 아래와 같다.

 PHP 소스로 설치하기 

1. PHP 소스코드 다운로드
(2011년 10월 11일 현재 5.3.8 버전이 최신버전임.)
http://php.net/downloads.php#v5


2. 압축해제
다운로드 받은 파일의 압축을 해제한다.

# tar -zxf php-5.3.8.tar.gz


3. ./configure 실행
아래의 옵션으로 configure 를 실행한다.

# ./configure \
> --prefix=/usr/local/server/php \
> --with-apxs2=/usr/local/server/apache/bin/apxs \
> --with-mysql=/usr/local/server/mysql \
> --with-config-file-path=/usr/local/server/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-includes \
> --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

--prefix=/usr/local/server/php \
: php 가 설치될 곳을 지정한다.

--with-apxs2=/usr/local/server/apache/bin/apxs \
: 아파치의 apxs 를 이용해 아파치에 모듈을 적재한다.

--with-mysql=/usr/local/server/mysql \
: MySQL 과 연동한다.

--with-config-file-path=/usr/local/server/apache/conf \
: php의 환경설정 파일인 php.ini 가 생성될 위치를 지정한다.

나머지는 각종 라이브러리들을 포함하는 옵션들이다.


4. make & make install
성공적으로 configure를 하게 되면, /usr/local/server/php 에 설치가 될것이다.
또한 환경설정 파일은 /usr/local/server/apache/conf 에 설정해야 한다.

# make && make install


5. 환경설정
PHP 의 환경설정 파일을 생성해준다.

# cp php.ini-dist /usr/local/server/apache/conf/php.ini

아파치와의 연동을 위해 httpd.conf 파일을 수정한다. DirectoryIndex 에 index.php 를 추가하고, mime_module 항목에 .php 로 된 파일을 php문서로 인식할수 있게 AddType 지시어를 이용해 설정한다.

#vi /usr/local/server/apache/conf/httpd.conf
<IfModule dir_module>
    DirectoryIndex index.html index.htm index.php
</IfModule>
<IfModule mime_module>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
</IfModule>


6. 테스트
아파치를 재시작하고 테스트 페이지를 생성해서 테스트 해보자.

# service httpd restart

# vi /usr/local/server/apache/htdocs/phpinfo.php
<? phpinfo(); ?>


 yum 으로 PHP 설치하기

yum 으로 PHP 를 설치할때 아래와 같이 설치하면 보통 알아서 빠른 미러를 찾아 의존성까지 확인해서 연계된 필수 패키지까지 알아서 설치해준다.

# yum -y install php

설치 후 관련 라이브러리도 설치하자.

# yum -y install gd gd-devel
# yum -y install libpng libpng-devel
# yum -y install libjpeg libjpeg-devel
# yum -y install freetype freetype-devel
# yum -y install fontconfig fontconfig-devel
# yum -y install libxml2 libxml2-devel
# yum -y install openssl openssl-devel
# yum -y install gmp gmp-devel
# yum -y install mhash mhash-devel
# yum -y install libmcrypt libmcrypt-devel
# yum -y install mysql-server
# yum -y install php-mysql
# yum -y install php-devel
# yum -y install php-gd
# yum -y install php-mbstring
# yum -y install php-mhash


 phpmyadmin 설치하기

yum 으로 phpmyadmin 을 설치하려면 RPM Forge 에서 패키지 정보를 다운로드받아서 설치해야 한다. 기본적인 저장소에 phpmyadmin 이 없기 때문이다.


1. 아래 사이트에서 적절한 패키지를 다운로드한다.
http://pkgs.repoforge.org/rpmforge-release/ 

# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-1.el6.rf.i686.rpm



2. 다운받은 패키지를 설치한다.

# rpm -Uvh rpmforge-release-0.5.2-1.el6.rf.i686.rpm



3. yum 으로 phpmyadmin 을 설치한다.

# yum -y install phpmyadmin



4. 설치 후 설정파일을 열어서 Alias 부분을 제외하고 모두 주석처리 한다.

# vi /etc/httpt/conf.d/phpmyadmin.conf



5. config.inc.php 파일을 열어서, 권한타입을 cookie 에서 http 로 변경한다.

# vi /usr/share/phpmyadmin/config.inc.php
$cfg['Servers'][$i]['auth_type'] = 'http';



6. 아파치를 재시작한다.

# service httpd restart





신고
Posted by 바츠05 트랙백 0 : 댓글 9

Apache 소스코드로 설치하기

앞서 MySQL 을 설치할때 잠깐 언급했지만, Apache 역시 CentOS 에서 yum 을 이용하면 한번에 설치가 된다. 그렇지만, 최신버전 아파치를 설치하고 싶을 경우에는 이렇게 소스코드를 직접받아서 컴파일하거나 rpm 을 받아서 설치해야 한다. 현재 나는 CentOS 혹은 리눅스를 공부하고 있는 입장이기 때문에 소스코드를 받아서 컴파일/설치를 진행한다. 



 소스코드를 컴파일해서 Apache를 설치하자.


1.Apache 소스코드를 다운로드 받자.
(2011년 9월 26일 현재, 최신버전은 2.2.21 임)
http://httpd.apache.org/download.cgi
 


해당 소스파일을 직접 다운로드 받거나, 링크주소를 복사해서 wget 으로 다운받자.


2. 소스파일 압축해제

다운로드 받은 httpd-2.2.21.tar.gz 파일의 압축을 해제한다.
# tar -zxf httpd-2.2.21.tar.gz
# cd httpd-2.2.21


3. ./configure 실행
configure 를 실행해서 Makefile 을 생성한다.

# ./configure \
> --prefix=/usr/local/server/apache \
> --enable-mods-shared=all \
> --enables-so \    -> --enable-so \
> --enables-rewrite   -> --enable-rewrite

(오타 수정했습니다. 오타 지적 감사드립니다~)

위 옵션의 의미는 다음과 같다.
--prefix=/usr/local/server/apache \
: 설치 디렉토리를 지정한다.

--enable-mods-shared=all \
: 모든 모듈을 DSO 모드로 작성한다.

--enable-so \
: DSO 모드를 활성화한다.

--enable-rewrite
: URL 재작성 모듈을 활성화 한다.

*DSO(Dynamic Shared Object) 란?
아파치의 설치 방식은 두가지가 있다. 하나는 DSO(Dynamic Shared Object) 동적모듈 적재방식이고, 하나는 Static Object 라고 하는 방식이다. DSO 방식은 아파치를 먼저 컴파일하고 다른 모듈들을 추가로 설치할 때 아파치를 다시 컴파일 하지 않고 모듈을 추가할 수 있다. Static 방식은 모듈을 추가하려면 아파치를 다시 컴파일 해야하는 번거로움이 있다.
 Static 방식은 사용하는 모듈을 모두 적재한 다음 사용자의 요청이 있으면 바로 응답하므로 실행속도가 빠르지만, 아파치가 실행될 때에 모든 모듈을 로드하므로 시스템의 자원을 많이 소모한다. 하지만 DSO 방식은 사용자의 요청이 있을 때에 모듈을 로드하므로 Static 방식보다는 느리지만, 시스템의 자원을 적게 소모한다. 최근에는 하드웨어의 발전으로 수행속도가 크게 차이 나지 않는다. 그래서 대부분 여러가지 장점이 있는 DSO 방식으로 설치한다. 
 - CentOS 리눅스 구축관리 실무 -


4. make && make install
소스코드를 컴파일하고 설치한다. 만약 컴파일러가 설치되어 있지않다면, 컴파일러를 먼저 설치해야 한다. (MySQL 설치편 참조)
# make
# make install 

정상적으로 설치가 되면 /usr/local/server/apache 파일에 파일들이 있을것이다.


5. 자동실행 설정
Apache 의 실행스크립트인 apachectl 을 /etc/init.d 에 복사한다.
# cp /usr/local/server/apache/bin/apachectl /etc/init.d/httpd


chkconfig 를 이용해서 자동실행을 등록해야 하는데, 이때 그냥 chkconfig 명령어를 사용하면 등록되지 않는다. chkconfig 를 사용하기 위새 실행스크립트 파일에 아래내용을 추가해야 한다.
# vi /etc/init.d/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 를 사용해서 자동실행을 등록하자.
# chkconfig --add httpd

등록후
# chkconfig --list | grep httpd 

명령어로 확인해보자.


6. 환경설정
이제 기본적인 Apache 실행환경을 설정해보자.
/usr/local/server/apache/conf/httpd.conf 파일을 편집한다.

User 와 Group 지시어에 설정되어 있는 기본값인 daemon 을 nobody 로 변경한다. root 권한으로 실행된 아파치의 하위 프로세스를 이곳에서 지정한 사용자로 실행한다는 의미이다.

ServerName 항목의 주석을 해제하고, 도메인 또는 서버의 IP주소를 적어준다. 만약 이 항목을 설정하지 않으면 127.0.0.1 으로만 접속이 된다.

User nobody
Group nobody

ServerName 192.168.75.129 


이제 Apache 를 실행하여 접속해 보자.
# /etc/init.d/httpd start


웹브라우저에서 해당서버(192.168.75.129)로 접속해서 It works! 라는 페이지가 나타난다면 설치가 완료된 것이다. 만약 아파치가 정상작동하는데도 페이지가 열리지 않으면 iptables 를 이용해 방화벽의 80번 포트를 열어준다.

# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
(오타 수정했어요 ^^)

# /etc/init.d/iptables restart
또는
# service iptables restart

다시 서버에 접속해서 접속이 가능한지 확인한다.
서버에 접속이 되면 아파치설치 및 설정이 완료된 것이다.

이제 PHP 설치만 남았다.
끝!!!


 

신고
Posted by 바츠05 트랙백 0 : 댓글 10
mysql 소스 컴파일해서 설치하기

CentOS 에는 yum 이라는 강력한 프로그램 설치툴(?)이 있다. mysql 역시 yum 을 이용하면 한방에 설치된다. 그렇지만 역시 리눅스라면 직접 소스코드를 받아서 컴파일을 해보는 맛이 있다. CentOS 설치후 APM 을 설치해보는 연습을 하고 있는데, 그 첫번째 mysql 을 소스코드 컴파일 후 설치/환경 설정 해보자. (CentOS 리눅스 구축관리실무 책 기반)




 그전에 yum 으로 mysql 설치하는 방법, 
yum install -y mysql-server





 mysql 혹은 APM 을 설치하기 전에 먼저 컴파일러가 있는지 확인하자. 
rpm -qa gcc* cpp* compat-gcc* flex*

만약, 해당 컴파일러가 없을 경우 소스를 컴파일할 수 없기때문에 꼭 설치해야 한다.
yum -y install gcc cpp gcc-c++ compat-gcc-32-g77 flex

컴파일러가 설치되었다면 APM에 필요한 라이브러리를 설치하자
필요한 라이브러리: libpng, libjpeg, freetype, gd

해당 라이브러리가 설치되어 있는지 확인,
rpm -qa libpng* libjpeg* freetype* gd-*

라이브러리가 없으면 yum 으로 설치,
yum install -y libjpeg-devel libpng-devel freetype-devel gd-devel




 mysql 소스 컴파일 설치하기, 

1. 우선 mysql 소스버전을 다운로드 받자.
(2011년 9월 22일 현재 최신버전은 5.5.16 임)
http://dev.mysql.com/downloads/mysql/#downloads


download 버튼을 클릭하면, mirroring 사이트가 나오는데 가장 빠를만한 사이트를 선택한 후 직접 download 하거나, 링크주소를 복사해서 wget 으로 받으면 된다.

wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.16.tar.gz/from/http://mirror.khlug.org/mysql/
(putty 를 사용하면 마우스오른쪽 클릭으로 복사해놓은 링크주소를 붙여넣을수 있다.)

2. 압축풀기
다운로드 받은 mysql-5.5.16.tar.gz 파일의 압축을 푼다.
tar -zxvf mysql-5.5.16.tar.gz

3. mysql 계정생성
mysql 을 관리할 계정을 생성한다.
useradd -M -s /bin/false mysql

4. mysql 소스 컴파일
CentOS 리눅스 구축관리 실무 책에서는 바로 ./configure 후 make && make install 로 설치한다. 그런데 아무리 찾아봐도 방금 압축을 푼 폴더안에는 configure 파일이 없다. 만약 configure 파일이 있다면 ./configure 로 Makefile 을 생성해서 컴파일하면 된다.
#./configure \
>--prefix=/usr/local/mysql \
>--with-charset=utf8 \
>--with-extra-charsets=all

#make && make install
정상적으로 설치가 되었다면 /usr/local/mysql 폴더에 디렉토리들이 생길것이다.

그러나 앞서 말했듯이, 방금 압축을 푼 폴더에는 configure 파일이 없다. 대신 CMakeLists.txt 파일이 있다. 그렇다 cmake 로 Makefile 을 만들어서 컴파일 해야 한다.

먼저 cmake 가 설치되어있는지 확인하자.
rpm -qa cmake

cmake 가 없을경우 yum 으로 cmake 를 설치하자. 
yum install -y cmake

cmake 를 설치했으면 압축풀었던 폴더로 이동하자
cd mysql-5.5.16

그리고는 cmake 를 이용해서 Makefile 을 만들자
cmake .

중간에 라이브러리가 없어서 에러가 발생할수도 있는데, 해당 라이브러리 설치 후 다시 진행하면된다.
오류가 발생해서 다시 cmake 할 경우 CMakeCache.txt 파일을 삭제하면 된다.

성공적으로 Makefile 이 만들어지게 되면, make && make install 해서 컴파일/설치하자.
make
make install

*기본적으로 설치하고 나면 /usr/local/mysql 폴더에 설치가 되는데, 어떻게 경로를 바꾸는지는 아직 내공이 부족해서 잘 모름. 혹시 아시는 분들 댓글 좀 달아주세요!!!!

5. 환경설정
mysql 이 제대로 설치되었다고 해서 바로 실행할수 있는게 아니라 몇가지 설정을 해줘야 한다.
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .

mysql을 관리할 데이터베이스를 생성한다. 이 데이터베이스는 mysql 의 전반적인 환경을 담고 있기때문에 아주 중요한 데이터베이스이다.
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data

그리고 mysql 에서 사용할 환경설정파일을 /etc에 복사한다. mysql 은 사용자의 시스템에 맞게 적절한 샘플파일을 support-files 에 제공한다.
my-huge.cnf : 메모리가 1G - 2G 사이일때 사용한다.
my-large.cnf : 메모리가 512M 일때 사용한다.
my-medium.cnf : 메모리가 64 - 256M 사이일때 사용한다.
my-small.cnf : 메모리가 64M 보다 작을때 사용한다.
cp support-files/my-large.cnf /etc/my.cnf

6. 환경변수 등록
mysql 관련 명령어를 편하게 사용할수 있게 /root/.bash_profile 의 PATH 에 mysql 경로를 추가한다.
vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

변경환 환경변수는 다시 로그인할때 적용되지만, source명령어를 사용하면 즉시 적용된다.
source ~/.bash_profile

7. 자동실행 설정
chkconfig 를 이용해 시스템이 재부팅 되어도 자동으로 실행될수 있도록 설정한다. 먼저 mysql 의 실행 스크립트 파일을 /etc/init.d 에 복사하고 chkconfig 명령어를 이용하여 추가해 준다.
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld

등록이 잘되었는지 확인해보자.
chkconfig --list | grep mysqld

8. root 암호등록 및 테스트
mysql 을 처음 실행하면 root 의 암호를 설정해야 한다. 그전에 먼저 mysql 을 시작하자
/etc/init.d/mysqld start

mysqladmin -u root password 암호

암호 설정후 root 유저로 접속,
mysql -u root -p
Enter password: 

이상 소스코드로 mysql 설치하기가 끝났다. 사실 먼가 꽤 길고 복잡해 보이지만 해보면 아무것도 아니다. 그러나 yum 으로 설치하면 한방에 된다는 거!!!!


이제 아파치와 PHP 설치하러 가자~~
끝!!!



신고
Posted by 바츠05 트랙백 0 : 댓글 11
CentOS에서 .vimrc 설정.

CentOS에서는 vimrc 설정할때 .vimrc 파일만 생성해서는 안되고,
bashrc 에 아래와 같은 라인을 추가해야한다.

# vi ~/.vimrc
syntax on
set cindent
set autoindent
set tabstop=4
set nu


(Important)
# vi /etc/bashrc
alias vi=vim









신고
Posted by 바츠05 트랙백 0 : 댓글 0

티스토리 툴바