본문 바로가기

[☩ OS Tip ☩]

Yum으로 APM설치하기

이번에 Linux하고 Windows 로 2개 서버 구축하면서 서버구축을 처음하시는 분들은 많이 헤매겟다라는 생각에 관련 정보를 인터넷에서 찾아서 올려 봅니다.

사용자 삽입 이미지

 YUM을 이용한 APM 설치의 장점

- CentOS측의 권고 사항
- update의 편의성, 의존성과 관련된 패키지 설치가 용이하며 유지관리에도 많은 장점을 제공

YUM을 이용한 APM 설치의 단점

Source 컴파일에 의한 APM설치시에는 원하는 위치에 파일을 설치 할 수 있었지만
YUM을 이용한 APM 설치시에는 기본 위치가 정해져 있다. 웹에서 그림파일을 지원하기 위한 패키지 모음

yum -y install zlib zlib-devel freetype freetype-devel freetype-utils gd gd-devel libjpeg libjped-devel libpng libpng-devel php-gd


yum은 콘솔에서 사용할 수 있는 리눅스 패키지 자동 업데이트 툴입니다. 이걸 이용하면 간편하게 패키지 업데이트들을 할수가 있죠. 단.. 컴파일 해서 설치한 경우는 제외입니다.


저도 이전에는 기본패키지만 설치하고 필요한 것들만 하나씩 컴파일 해서 사용했었는데 유지/보수를 생각한다면 yum을 이용한 패키지 관리를 추천합니다.

yum에는 이외에도 설정파일 및 저장소에 대한 정보 등등 다양한 기능+셋팅이 있겠지만 여기서는 일반유저들(저를 포함한)을 위한 기본적인 사용법에 대해서만 체크하도록 하겠습니다.

                                                          아래는 간단한 방법입니다.


1. apache 설치(httpd) : yum install httpd
2. mysql 설치 : yum install mysql
3. php 설치 : yum install php
4. php-mysql 연동 설치 : yum install php-mysql


                                                           다음은 상세방법입니다.

라이브러리를 설치 : yum -y install zlib libpng freetype gd libxml lib iconv

APM 관련 프로그램을 설치
yum -y install
httpd
mysql-server
mysql
php
php-devel
php-gd
php-mbstring
php-mysql
php-pear
php-pecl-mailparse

1. Apache 설치
 
1) 설치 여부 체크 : yum list installed | grep http
2) apache port가 떠있는지 확인 : netstat -lntp
3) Apache 실행 :  /usr/sbin/apachectl start
4) 데몬이 정상적 실행확인 :  netstat -lntp
       
2. Mysql 설치
 
1) 설치 여부 확인 : yum list installed | grep mysql
2) mysql client 설치 : yum install mysql
3) mysql server 설치 : yum install mysql-server
4) server 구동 : /etc/rc.d/init.d/mysqld start
5) password 변경 : /usr/bin/mysqladmin -u root password 'new password'
   
3. PHP 설치

1) php 설치여부 확인 : which php ,yum list installed | grep php   설치 여부 확인
2) php 설치 : yum install php
3) 그외 필요요소들 설치
    yum -y install php-devel php-gd php-mbstring php-pear php-pecl-mailparse php-mysql mod_ssl
4) 정상적인 설치 여부 확인 :  which php
5) 아파치의 php 설정에 다음줄을 추가해준다.
      vi /etc/httpd/conf.d/php.conf
      AddHandler php5-script .php
      AddType text/html .php
      AddType application/x-httpd-php .php .html .htm .inc  <- 추가
6) 아파치 재실행
    /usr/sbin/apachectl restart

다음은 요즘 많이들 설치하고 테스트하시는 Cent OS 셋팅법~

Continuing the series of articles covering Setting Up Apache / PHP, and Setting Up Exim this one covers a few of the smaller applications / configuration settings that need changing with a new CentOS 5 based server primarily used for virtual hosting.

iptables

iptables -F

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT 1 -i lo -p all -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -A INPUT -p tcp --dport 40000:40100 -j ACCEPT

iptables -P INPUT DROP

/sbin/service iptables save

iptables (for IPv6)

ip6tables -F

ip6tables -I INPUT 1 -i lo -j ACCEPT

ip6tables -A INPUT -p ipv6-icmp -j ACCEPT
ip6tables -A OUTPUT -p ipv6-icmp -j ACCEPT

ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT

ip6tables -P INPUT DROP

/sbin/service ip6tables save

Server Timezone

rm -f /etc/localtime
cp /usr/share/zoneinfo/Europe/London /etc/localtime

NTP

yum install ntp

chkconfig ntpd on
ntpdate pool.ntp.org
/etc/init.d/ntpd start

yum (email notifications)

yum will send an email when there are packages ready to be installed (via “yum update”), it can also automatically install them however I chose not to use this option.

yum install yum-updatesd
chkconfig yum-updatesd on
service yum-updatesd start

File: /etc/yum/yum-updatesd.conf
emit_via = email
email_to=mail@example.com
do_update=no

FTP

yum install vsftpd
chkconfig vsftpd on
service vsftpd start

File: /etc/vsftpd/vsftpd.conf

chroot_local_user=YES

pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100

MySQL

yum install mysql-server
chkconfig mysqld on
service mysqld start

/usr/bin/mysqladmin -u root password 'new-password'

PHP

yum install php
yum install php-gd
yum install php-mysql
yum install php-mbstring
yum install php-imap
yum install php-soap
yum install php-xml

chmod 777 /var/lib/php/session/

File: /etc/php.ini
error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
display_errors = On
upload_max_filesize = 8M

Cron

yum install vixie-cron
chkconfig crond on
service crond start

mkdir /var/log/prelink
chmod 700 /var/log/prelink
touch /var/log/prelink/prelink.log

Logrotate

yum install mlocate

mkdir /etc/logrotate.custom
chmod 700 /etc/logrotate.custom

echo $'\ninclude /etc/logrotate.custom' >> /etc/logrotate.conf

File: /etc/logrotate.custom/www.example.com
(for each website setup in apache)

/var/log/domlogs/useracctname/www.example.com*_log {
monthly
rotate 12
compress
delaycompress
create 640
missingok
notifempty
sharedscripts
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}

Extra IP Address

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0

File: /etc/sysconfig/network-scripts/ifcfg-eth0:0

DEVICE=eth0:0
IPADDR=111.222.333.444

ifconfig eth0:0 111.222.333.444 up

source : http://www.ns-tech.co.uk/blog/2010/03/setting-up-a-centos-5-server/