Centos6.7 다운로드
http://mirror.nsc.liu.se/centos-store/6.7/isos/x86_64/
Index of /centos-store/6.7/isos/x86_64/
../ - Directory
0_README.txt2015-Aug-04 23:25:062.1Ktext/plain
CentOS-6.7-x86_64-bin-DVD1.iso2015-Aug-04 23:51:443.6Gapplication/octet-stream
CentOS-6.7-x86_64-bin-DVD1to2.torrent2015-Aug-05 17:57:02226.0Kapplication/x-bittorrent
CentOS-6.7-x86_64-bin-DVD2.iso2015-Aug-04 23:51:522.0Gapplication/octet-stream
CentOS-6.7-x86_64-LiveCD.iso2015-Aug-07 20:22:33697.0Mapplication/octet-stream
CentOS-6.7-x86_64-LiveCD.torrent2015-Aug-11 13:40:3427.9Kapplication/x-bittorrent
CentOS-6.7-x86_64-LiveDVD.iso2015-Aug-07 20:23:241.8Gapplication/octet-stream
CentOS-6.7-x86_64-LiveDVD.torrent2015-Aug-11 13:40:3474.8Kapplication/x-bittorrent
CentOS-6.7-x86_64-minimal.iso2015-Aug-04 23:59:27395.0Mapplication/octet-stream
CentOS-6.7-x86_64-minimal.torrent2015-Aug-05 17:57:0216.0Kapplication/x-bittorrent
CentOS-6.7-x86_64-netinstall.iso2015-Aug-04 23:41:08230.0Mapplication/octet-stream
CentOS-6.7-x86_64-netinstall.torrent2015-Aug-05 17:57:029.6Kapplication/x-bittorrent
md5sum.txt2015-Aug-10 18:31:080.3Ktext/plain
md5sum.txt.asc2015-Aug-10 18:58:371.2Ktext/plain
README.txt2015-Aug-04 23:25:062.1Ktext/plain
sha1sum.txt2015-Aug-10 18:31:080.4Ktext/plain
sha1sum.txt.asc2015-Aug-10 18:58:391.2Ktext/plain
sha256sum.txt2015-Aug-10 18:31:080.5Ktext/plain
sha256sum.txt.asc2015-Aug-10 18:58:411.4Ktext/plain
1. 아파치 설치
CentOS를 기본 설치했다면 httpd이 설치되어 있다.
CentOS를 최소 설치(minimal installation)했다면 httpd이 설치되어 있지 않다.
1.1 예시 (설치안됨)[편집]
[root@localhost ~]# rpm -qa httpd
[root@localhost ~]# yum list httpd
... (생략)
Available Packages
httpd.x86_64 2.2.3-83.el5.centos updates
1.2 예시 (설치됨)[편집]
리눅스 설치시 옵션에 따라 아파치가 함께 설치된 경우도 있다.
[root@localhost ~]# rpm -qa httpd
httpd-2.2.15-60.el6.centos.6.x86_64
[root@localhost ~]# yum list httpd
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: ftp.neowiz.com
* extras: ftp.neowiz.com
* updates: centos.mirror.cdnetworks.com
Installed Packages
httpd.x86_64 2.2.15-60.el6.centos.6
2. yum으로 설치[편집]
[root@localhost ~]# yum install httpd
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: ftp.neowiz.com
* extras: ftp.neowiz.com
* updates: centos.mirror.cdnetworks.com
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-45.el6.centos will be updated
3. 확인 2
[root@localhost ~]# rpm -qa httpd
httpd-2.2.15-60.el6.centos.6.x86_64
4.서비스 시작
[root@localhost ~]# service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
[ OK ]
5. 재부팅시 자동 시작
[root@localhost ~]# chkconfig --list httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@localhost ~]# chkconfig httpd on
[root@localhost ~]# chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@localhost ~]# chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
* iptables 사용방법
CentOS 7 firewall 사용하지만 CentOS6 인경우
기본적으로 설치된 iptables를 사용하여 설정을 합니다.
– 기본 SSH 인 22번 포트만 허용된 상태입니다.
– 웹서비스(www)를 위해 22 설정 아래에 TCP 80 을 추가합니다.
– 웹서버에 SSL 인증서가 설치되어 https 주소로 서비스하는 경우 TCP 443 추가합니다.
# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel# Manual customization of this file is not recommended.…
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-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 443 -j ACCEPT
…
COMMIT
방화벽을 사용하여 특정 IP 허용
-A INPUT -s ip 주소 -j ACCEPT
방화벽을 사용하여 특정 IP 차단
-A INPUT -s ip 주소 -j DROP
방화벽을 사용하여 특정 Port 허용
-A INPUT -p tcp –dport 443 -j ACCEPT
방화벽을 사용하여 특정 Port 차단
-A INPUT -p tcp –dport 443 -j DROP
방화벽을 사용하여 특정 IP와 Port 차단
-A INPUT -s 172.20.3.**-p tcp –dport 22 -j DROP
방화벽을 사용하여 특정 IP와 Port를 차단한 후 방어된 로그 설정
-I INPUT -s 172.20.3.** -p tcp –dport 22 -j LOG –log-prefix “[PLURA SSH Defend]”
방화벽 설정이 완료되면, 방화벽을 재시작해줍니다.
# /etc/init.d/iptables restart 또는 service iptables restart
< 참조 - apache httpd 2.4 설치>
CentOS 6 에 apache httpd 2.4 설치
설치
epel httpd 24 repository 설치
curl -L -s http://repos.fedorapeople.org/repos/jkaluza/httpd24/epel-httpd24.repo > /etc/yum.repos.d/epel-httpd24.repo
httpd 2.4 설치
yum install httpd24-httpd httpd24-mod_ssl
부팅시 자동 시작 설정
chkconfig httpd24-httpd on
설정 파일 수정(/opt/rh/httpd24/root/etc/httpd 에 위치)
vim /opt/rh/httpd24/root/etc/httpd/conf/httpd.conf
서비스 구동
service httpd24-httpd restart
2. JDK 8 설치하기
#cd /opt/
#wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz"#tar xzf jdk-8u131-linux-x64.tar.gz
#cd /opt/jdk1.8.0_131
#alternatives --install /usr/bin/java java /opt/jdk1.8.0_131/bin/java 2# alternatives --config java
[root@localhost jdk1.8.0_131]# alternatives --config java
There is 1 program that provides 'java'.
Selection Command
-----------------------------------------------
*+ 1 /opt/jdk1.8.0_131/bin/java
Enter to keep the current selection[+], or type selection number: 1
# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
alternative 명령어로 default java 버전 변경
대부분의 리눅스 배포본에는 Java JDK 가 버전별로 여러개를 설치할 수 있도록 패키지가 구성되어있습니다.
여러버전의 JDK를 설치하였을때 기본으로 실행되는 Java 버전을 변경하는 방법은 alternative 명령어를 이용하는것입니다.
alternatives 라는 명령어를 그냥 실행해 보면 아래와 같이 Help를 확인할 수 있다.
# alternatives --config java
vi /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_131
export JRE_HOME=/opt/jdk1.8.0_131/jre
source /etc/profile
3. Tomcat 설치 및 구동
톰캣의 설치절차로는 다운로드, 압축풀기, 위치지정, 심볼릭링크, 환경변수 설정, 구동 순입니다.
DK 설치시와 마찬가지로 wget을 이용하여 파일을 다운로드 합니다.
tar.gz 이라는 확장자가 생소 하실 텐데, 리눅스에서 사용하는 압축 파일 입니다.
# cd /opt
# wget http://apache.tt.co.kr/tomcat/tomcat-8/v8.5.29/bin/apache-tomcat-8.5.29.tar.gz
압축 해제 및 설치
tar.gz 압축파일 해제
tar 명령어의 주요 -옵션입니다.
-z 압축 / 압축 해제
-x tar파일의 묶음 해제
-v 진행상황 화면 출력
-f tar 파일의 이름지정
# tar -zxvf apache-tomcat-8.5.29.tar.gz
- Tomcat 디렉토리 위치 변경 및 심볼릭 링크
이제 tomcat이 위치할 디렉토리를 생성후 압축이 풀린 apache-tomcat 디렉토리 이동 및 이동한 디렉토리의 위치로 옮겨 가겠습니다.
이제 tomcat이 위치할 디렉토리를 생성후 압축이 풀린 apache-tomcat 디렉토리 이동 및 이동한 디렉토리의 위치로 옮겨 가겠습니다.
- 톰캣이 위치할 server 디렉토리 생성
[root@localhost local]# mkdir /usr/local/server
- 톰캣 tar 파일 삭제
[root@localhost opt]# rm -rf apache-tomcat-8.5.29.tar.gz
- 톰캣 디렉토리 이동
[root@localhost local]# cd /usr/local/server/
- 자신의 위치를 톰캣 디렉토리가 있는 곳으로 이동
[root@localhost opt]# mv apache-tomcat-8.5.29 /usr/local/server/
pwd 현재 위치 확인
[root@localhost server]# pwd
/usr/local/server
볼릭링크를 걸어 tomcat의 관리
[root@localhost server]# ln -s apache-tomcat-8.5.29 tomcat
[root@localhost server] # pwd
[root@localhost server]# ll
total 4
drwxr-xr-x. 9 root root 4096 Mar 16 21:58 apache-tomcat-8.5.29
lrwxrwxrwx. 1 root root 20 Mar 16 22:15 tomcat -> apache-tomcat-8.5.29
환경변수 설정
CATALINA_HOME=/usr/local/server/tomcat
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib-jsp-api.jar:$CATALINA_HOME/lib/servlet-api.jar
PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
export JAVA_HOME CLASSPATH PATH CATALINA_HOME
* 환경변수 수정사항 적용을 합니다.
[root@localhost lib]# source /etc/profile
# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
#service iptables restart
톰캣 서버 기동 / 중지
[root@localhost lib]# /usr/local/server/tomcat/bin/startup.sh
[root@localhost lib]# /usr/local/server/tomcat/bin/shutdown.sh
[root@localhost lib]# /usr/local/server/tomcat/bin/startup.sh
- 여기까지 진행 되었다면 80 포트 시 아파치 화면이 보여야 되고
http://192.168.40.128:80/
- 8080 포트 화면에서는 톰켓 화면이 보여야 한다.
http://192.168.40.128:8080/
4. apache+tomcat mod_jk를 이용한 연동
▶ 아파치와 톰캣을 연동하는 이유
- Tomcat 서버는 본연의 임무인 서블릿 컨테이너의 역할만 하고, Apache HTTP Server는 웹서버의 역할을 하도록 각각의 기능을 분리하기 위해 연동을 할 수 있다.
- Apache HTTP Server에서 제공하는 편리한 기능을 사용하기 위해서 연동을 할수 있다.
- 대규모 사용자가 사용하는 시스템을 구축할 때 웹 서버인 아파치와 연동을 하면 부하 분산의 효과를 가질 수 있다. mod_jk의 Load Balancing과 FailOver 기능을 사용하여 안정적으로 운영 할 수 있다.
- 아파치 내에서만 설정할 수 있는 부분이 있고, 아파치에서 제공하는 유용한 모듈들을 톰캣에서 사용할 수 없기 때문이다.
▶ 아파치 톰캣 연동하는 방법들 (참고)
Apache httpd web server 와 tomcat 을 연계하는 방법은 세 가지가 있다.
예전부터 많이 쓰던 방법은 tomcat connector(mod_jk)를 사용하는 방법이고 다른 하나는 mod_proxy를 사용하여 reverse proxy 기능을 사용하는 방법, 마지막은 mod_proxy_ajp 를 사용하여 AJP Protocol을 reverse proxy 로 사용하는 방법이다.
mod_proxy 가 mod_jk 에 비해 설정이 간편하고 AJP 같은 특정 WAS 의존적인 프로토콜을 사용하지 않으므로 성능이 더 좋다고 하지만 mod_jk 가 오랫동안 써왔고 친숙해서 mod_jk 를 많이 사용하는 편
▶ 연동원리
아파치와 톰캣이 연동하기 위해선 AJP를 통해 서로 통신을 하여야 한다.
AJP란 아파치가 웹서버와 외부 서비스(톰캣 등)과 연동하기 위해 정한 규약(프로토콜) 이다.
아파치는 이를 사용하여 80포트로 들어오는 요청은 자신이 받고, 이 요청중 서블릿을 필요로 하는 요청은 톰캣에 접속하여 처리한다.
1) 아파치 웹서버의 httpd.conf 에 톰캣 연동을 위한 설정을 추가하고 톰캣에서 처리할 요청을 지정
2) 사용자의 브라우저는 아파치 웹서버(보통 80포트)에 접속해 요청
3) 아파치 웹서버는 사용자의 요청이 톰캣에서 처리하도록 지정된 요청인지 확인. 요청을 톰캣에서 처리해야 하는 경우
아파치 웹서버는 톰캣의 AJP포트(보통 8009포트)에 접속해 요청을 전달
4) 톰캣은 아파치 웹서버로부터 요청을 받아 처리한 후, 처리 결과를 아파치 웹서버에 되돌려줌
5) 아파치 웹서버는 톰캣으로부터 받은 처리 결과를 사용자에게 전송
설치환경 :
설치버전 :
[root@localhost src]# cat /etc/redhat-release
CentOS release 6.7 (Final)
설치사항
1. 경로선택및 파일 소스 다운로드
#cd /usr/local/src
#wget http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.37-src.tar.gz
2.압축해제
# tar zxvf tomcat-connectors-1.2.37-src.tar.gz
3.빌드 검사 및 의존패키지 설치
# cd /usr/local/src/tomcat-connectors-1.2.37-src/native
# ./buildconf.sh
buildconf: checking installation...
buildconf: autoconf not found.
You need autoconf version 2.59 or newer installed
to build mod_jk from SVN.
# yum install autoconf
# yum install libtool
※ buildconf 로 의존패키지를 반드시 확인한후 설치하고 빌드해야 한다.
* 아파치 설치 위치 확인
#httpd -V | egrep "(HTTPD\_ROOT|SERVER\_CONFIG\_FILE)"
# ll /etc/httpd/conf/httpd.conf
4.빌드 및 인스톨
빌드를 위한 환경 설정이 필요한 시기인데 아래 명령어의 apxs 위치를 알아야 합니다.
# ./configure --with-apxs=/usr/sbin/apxs
/usr/sbin/apxs 이 경로가 없다면 찾아야 합니다.
# which apxs
위 명령어를 치면 어디에 있는지 알려줍니다.
하지만 apxs 가 아예 없는 경우도 있는데 이 경우는 apache가 devel 패키지가 아닌 경우라고 합니다.
아래의 명령어를 통해 devel 버전으로 업데이트를 합니다.
# yum install httpd-devel
설치가 끝났으면 which apxs 명령어로 위치 확인 후 ./configure 다시 시도해주세요~
[root@localhost native]# which apxs
/usr/sbin/apxs
# ./configure --with-apxs=/usr/sbin/apxs
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
에러시
#yum -y install gcc-c++
# ./configure --with-apxs=/usr/sbin/apxs
# make && make install
mod_jk.so 제대로 있는지 확인해야합니다.
[root@localhost native]# find / -name "mod_jk.so" /usr/local/src/tomcat-connectors-1.2.37-src/native/apache-2.0/mod_jk.so /usr/local/src/tomcat-connectors-1.2.37-src/native/apache-2.0/.libs/mod_jk.so /usr/lib64/httpd/modules/mod_jk.so
etc/httpd/conf/httpd.conf
하단에 다음 내용 추가
ServerName localhost DocumentRoot "/usr/local/server/tomcat/webapps/ROOT" <Directory "/usr/local/server/tomcat/webapps/ROOT"> AllowOverride none Require all granted </Directory>
etc/httpd/conf/workers.properties 추가
#workers.tomcat_home=$CATALINA_HOME
#workers.java_home=$JAVA_HOME
#worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
httpd.conf 에 보면 Include conf.d/*.conf 가 존재한다.
etc/httpd/conf.d/mod_jk.conf 추가
LoadModule jk_module "/etc/httpd/modules/mod_jk.so"
JkWorkersFile /etc/httpd/conf/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
JkMount /* ajp13
JkMount /*.jsp ajp13
JkMount /*.do ajp13
JkMount /servlets/* ajp13
JkMount /url ajp13
JkMount /sitesys ajp13
체크
[root@localhost ~]# apachectl configtest
80 포트 로 접속시 아파치 화면이 아닌 톰캣 화면이 나오면 연동 성공
http://192.168.40.132
http://192.168.40.132/index.jsp
** 여러 대의 가상 호스트 설정
etc/httpd/conf/httpd.conf
하단을
변경한다. 주석 처리 한다.
ServerName localhost
#DocumentRoot "/usr/local/server/tomcat/webapps/ROOT"
#<Directory "/usr/local/server/tomcat/webapps/ROOT">
# AllowOverride none
# Require all granted
#</Directory>
etc/httpd/conf/workers.properties
를 다음과 같이 변경한다. 여러 개의 포트 번호가 추가 된것을 알 수 있다.
#workers.tomcat_home=$CATALINA_HOME #workers.java_home=$JAVA_HOME #worker.list=ajp13 #worker.ajp13.port=8009 #worker.ajp13.host=localhost #worker.ajp13.type=ajp13 worker.list=web1,web2,web3,web4,web5 worker.web1.port=8009 #worker.web1.host=아이피 worker.web1.host=192.168.40.132 worker.web1.type=ajp13 worker.web1.method=Session worker.web1.sticky_session=True worker.web2.port=8109 worker.web1.host=192.168.40.132 worker.web2.type=ajp13 worker.web2.method=Session worker.web2.sticky_session=True worker.web3.port=8209 worker.web1.host=192.168.40.132 worker.web3.type=ajp13 worker.web3.method=Session worker.web3.sticky_session=True worker.web4.port=8309 worker.web1.host=192.168.40.132 worker.web4.type=ajp13 worker.web4.method=Session worker.web4.sticky_session=True worker.web5.port=8409 worker.web1.host=192.168.40.132 worker.web5.type=ajp13 worker.web5.method=Session worker.web5.sticky_session=True
conf.d 폴더에 httpd-vhosts.conf 를 추가 한다.
NameVirtualHost *:80 NameVirtualHost *:7001 NameVirtualHost *:7002 NameVirtualHost *:7003 NameVirtualHost *:7004 NameVirtualHost *:7020 <VirtualHost *:80> DocumentRoot "/usr/local/server/tomcat/webapps/ROOT" ServerName www.suitmytaste.com ServerAlias suitmytaste.com *.suitmytaste.com # ErrorLog "/apache/webdev.war/logs/error_log" #CustomLog "/apache/webdev.war/logs/access_log" common JkLogFile /var/log/httpd/mod_jk.log JkMount /* web1 JkMount /*.jsp web1 JkMount /*.do web1 JkMount /servlets/* web1 JkMount /url web1 JkMount /sitesys web1 <Directory "/usr/local/server/tomcat/webapps/ROOT"> AllowOverride none Require all granted </Directory> </VirtualHost> <VirtualHost *:7001> ServerAdmin webmaster@aa.com DocumentRoot "/usr/local/server/tomcat/webapps2/ROOT" ServerName www.suitmytaste.com2 ServerAlias suitmytaste.com *.suitmytaste.com2 # ErrorLog "/apache/webdev.war/logs/error_log" #CustomLog "/apache/webdev.war/logs/access_log" common JkLogFile /var/log/httpd/mod_jk.log JkMount /* web2 JkMount /*.jsp web2 JkMount /*.do web2 JkMount /servlets/* web2 JkMount /url web2 JkMount /sitesys web2 <Directory "/usr/local/server/tomcat/webapps2/ROOT"> AllowOverride none Require all granted </Directory> </VirtualHost>
DocumentRoot "/usr/local/server/tomcat/webapps/ROOT" 와
<Directory "/usr/local/server/tomcat/webapps2/ROOT"> 는
는 home 에서 유저를 생성후 각 유저 파일 디렉토리에 맞게 변경 해 주면 된다.
JkMount /* web1 의 식으로 workers.properties 리스트 에 맞게 지정해 줘야 한다.
# service httpd restart
ServerName www.suitmytaste.com2
도메인을 지정 했기 때문에
윈도우에서
C:\Windows\System32\drivers\etc
hosts 에 다음과 같이 추가한다.
192.168.40.132 www.suitmytaste.com
http://www.suitmytaste.com/ 접속시 톰캣 화면이 나오면 성공
유저 생성
[root@localhost ~]# useradd test1
[root@localhost ~]# password test1
[root@localhost ~]# cd $CATALINA_HOME
[root@localhost tomcat]# cp -r ./webapps/ /home/test1/www
5. PHP 설치
환경 체크
1)리눅스 버전 체크
[root@localhost /]# uname -a
Linux localhost.localdomain 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
2) CentOS 버전체크
[root@localhost /]# cat /etc/redhat-release
CentOS release 6.7 (Final)
3) 하드 용량 체크
[root@localhost /]# df -h
4) 메모리 체크
[root@localhost /]# free -m
패키지 목록 갱신 및 업데이트 체크.
#yum update
댓글 ( 8)
댓글 남기기