안녕하세요. 썬구루입니다. 이 게시물에서는 CentOS 7.3 리눅스 기반에 Apache HTTPD(WEB)과 Tomcat(WAS) 서버 설치하는 방법에 대해 알아보도록 하겠습니다.
서버 하드웨어 시스템에 단지 윈도우 서버, 리눅스, 유닉스 운영체제를 설치하여 서비스를 하는 것만은 아닙니다. 이들 서버에서 표준 서비스 프로그램을 설치한 후 서비스 콘텐츠를 개발하여 회사 내부 직원들 또는 외부의 고객들에게 서비스를 제공하도록 만드는 것이죠.
단순하게 네이버만 놓고 보더라도 수많은 서버 시스템들이 존재하는데 우리는 이들 서버에 설치, 구성되어 있는 웹메일, N드라이브, 스케줄러, 카페, 블로그 같은 서비스를 제공받고 있습니다.
요즘은 컴퓨터 세상, 모든 것이 네트워크에 연결되어 있다고 말해도 과언이 아닙니다. 우리가 버스나 지하철에서 정보를 이용하기 위해 스마트폰이라는 기기를 사용하고 LTE나 Wi Fi 네트워크 서비스를 이용하여 인터넷에 접속하는 것이죠. 스마트폰은 내 손안에 컴퓨터인 것이죠.
업무가 전산화될 때 예전에는 CS(Client-Server) 모델로 서버 프로그램과 클라이언트 프로그램을 개발하여 만들어주고 클라이언트 프로그램을 직원들 컴퓨터에 배포하였습니다. 어떠한 기능을 추가하기 위해서는 서버 및 클라이언트 프로그램을 모두 변경, 업데이트해줘야 했었습니다.
하지만 요즘 업무 전산환경은 웹 기반 모델로 되어 있습니다. 클라이언트(데스크톱, 노트북, 스마트 패드, 스마트폰 등)에 웹브라우저만 설치되어 있으면 이를 이용하여 업무 시스템에 접근하여 업무를 보는 것입니다. 이때 이용되는 것이 보통 WEB, WAS, DB 서버입니다.
기업이 영리를 추구하기 위해 웹(Web)을 통하여 고객에 접근하고 회사와 제품을 홍보 그리고 제품을 판매할 수 있습니다. 웹의 이점은 24시간 365일 고객에게 서비스를 제공할 수 있다는 것입니다. 우리가 옥션에서 원하는 물품을 구매할 때 일과 시간이든 새벽이든 상관없이 구매할 수 있는 것처럼요.
구 분
|
설 명
|
Web Site (WEB)
| 문자, 그림, 오디오, 비디오 같은 데이터를 웹을 통해 제공하는 서비스를 말한다. |
Web Application (WAS)
| 웹 기반 클라이언트-서버 소프트웨어 애플리케이션을 말한다. 단적인 예가 웹메일, 메시징 서비스, 인터넷 상거래가 있다. |
고정된 내용, 예를 들어 회사 홈페이지 같은 바뀌지 않는 내용(Static Web Page)을 서비스하기 위해 HTML, CSS, Java Script 같은 언어가 사용되고 사용자 요청에 따라 다른 웹페이지(Dynamic Web Page)를 출력하는 다시 말해 사용자 맞춤형 페이지를 구현하기 위해 JSP, PHP, ASP.NET 같은 언어가 사용됩니다.
기업이나 관공서가 고객들에게 웹 서비스를 제공하기 위해 보통 데이터베이스와 연동됩니다. 웹 기반 고객서비스 제공을 위해 아래와 같은 구조로 구성됩니다. 내/외부망, 방화벽 그런 것은 생략하였습니다.
이 게시물에서 HTML 서비스를 제공하시기 위해 사용되는 공개용 웹 서버 프로그램인 Apache HTTPD와 JSP와 HTML 서비스를 제공하기 위해 사용되는 공개용 웹 응용 서버 프로그램인 Apache Tomcat 설치 방법에 대해 알아봅니다. 구성 파일 상세 설정에 대해서는 이 게시물에서 설명하지 않습니다.
웹 서버
|
웹 응용 서버
|
웹 응용 서버 비교
|
Apache HTTPD
|
Apache Tomcat (JSP)
|
Servlet
|
Oracle WebLogic (JSP)
|
Servlet, EJB
| |
Tmax WebtoB
|
Tmax Jeus (JSP)
|
Servlet, EJB
|
Microsoft IIS (ASP)
|
-
| |
IBM WebSphere
|
Servlet, EJB
| |
Red Hat JBoss
|
Servlet, EJB
|
WEB, WAS, DB 테스트를 위해 사용할 가상머신에 대한 IP 주소 및 응용프로그램 정보는 아래와 같습니다.
가상머신 이름
|
호스트 이름
|
서비스 포트
|
응용 프로그램
|
WEB01
|
web01
|
80
|
Apache HTTPD
|
WAS01
|
was01
|
8080
|
Apache Tomcat
|
DB01
|
db01
|
3306
|
MariaDB
|
■ Apache HTTPD
1). Apache HTTPD 설치
CentOS 7.3에서 Apache HTTPD(WEB) 서비스를 동작시키기 위해 CentOS 7.3 설치 DVD를 가상머신에 연결한다. 그리고 아래와 같은 명령을 사용하여 HTTPD를 설치한다.
[root@web01 ~]# cd /etc/yum.repos.d/
[root@web01 yum.repos.d]# ls CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo CentOS-fasttrack.repo [root@web01 yum.repos.d]# [root@web01 yum.repos.d]# vi CentOS-Media.repo # CentOS-Media.repo # # This repo can be used with mounted DVD media, verify the mount point for # CentOS-7. You can use this repo and yum to install items directly off the # DVD ISO that we release. # # To use this repo, put in your DVD and use it with the other repos too: # yum --enablerepo=c7-media [command] # # or for ONLY the media repo, do this: # # yum --disablerepo=\* --enablerepo=c7-media [command] [c7-media] name=CentOS-$releasever - Media baseurl=file:///media/CentOS/ file:///media/cdrom/ file:///run/media/root/CentOS\ 7\ x86_64/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [root@web01 yum.repos.d]# [root@web01 yum.repos.d]# yum -y --disablerepo=\* --enablerepo=c7-media install httpd Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * c7-media: Resolving Dependencies --> Running transaction check ---> Package httpd.x86_64 0:2.4.6-45.el7.centos will be installed --> Processing Dependency: httpd-tools = 2.4.6-45.el7.centos for package: httpd-2.4.6-45.el7.centos.x86_64 --> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-45.el7.centos.x86_64 --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-45.el7.centos.x86_64 --> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-45.el7.centos.x86_64 --> Running transaction check ---> Package apr.x86_64 0:1.4.8-3.el7 will be installed ---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed ---> Package httpd-tools.x86_64 0:2.4.6-45.el7.centos will be installed ---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================ Package Arch Version Repository Size ============================================================================================================================================ Installing: httpd x86_64 2.4.6-45.el7.centos c7-media 2.7 M Installing for dependencies: apr x86_64 1.4.8-3.el7 c7-media 103 k apr-util x86_64 1.5.2-6.el7 c7-media 92 k httpd-tools x86_64 2.4.6-45.el7.centos c7-media 84 k mailcap noarch 2.1.41-2.el7 c7-media 31 k Transaction Summary ============================================================================================================================================ Install 1 Package (+4 Dependent packages) Total download size: 3.0 M Installed size: 10 M Downloading packages: 경고: /run/media/root/CentOS 7 x86_64/Packages/apr-1.4.8-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Public key for apr-1.4.8-3.el7.x86_64.rpm is not installed -------------------------------------------------------------------------------------------------------------------------------------------- Total 171 MB/s | 3.0 MB 00:00:00 Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 Importing GPG key 0xF4A80EB5: Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>" Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 Package : centos-release-7-3.1611.el7.centos.x86_64 (@anaconda) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 Running transaction check Running transaction test Transaction test succeeded Running transaction Warning: RPMDB altered outside of yum. Installing : apr-1.4.8-3.el7.x86_64 1/5 Installing : apr-util-1.5.2-6.el7.x86_64 2/5 Installing : httpd-tools-2.4.6-45.el7.centos.x86_64 3/5 Installing : mailcap-2.1.41-2.el7.noarch 4/5 Installing : httpd-2.4.6-45.el7.centos.x86_64 5/5 Verifying : httpd-tools-2.4.6-45.el7.centos.x86_64 1/5 Verifying : mailcap-2.1.41-2.el7.noarch 2/5 Verifying : apr-1.4.8-3.el7.x86_64 3/5 Verifying : httpd-2.4.6-45.el7.centos.x86_64 4/5 Verifying : apr-util-1.5.2-6.el7.x86_64 5/5 Installed: httpd.x86_64 0:2.4.6-45.el7.centos Dependency Installed: apr.x86_64 0:1.4.8-3.el7 apr-util.x86_64 0:1.5.2-6.el7 httpd-tools.x86_64 0:2.4.6-45.el7.centos mailcap.noarch 0:2.1.41-2.el7 Complete! [root@web01 yum.repos.d]# |
아래와 같은 명령을 실행하여 index.html 파일을 생성한다.
[root@web01 yum.repos.d]# echo "test html" > /var/www/html/test.html
|
아래와 같은 명령을 사용하여 HTTPD 서비스를 실행한다.
[root@web01 yum.repos.d]# firewall-cmd --permanent --add-service=http
success [root@web01 yum.repos.d]# firewall-cmd --reload success [root@web01 yum.repos.d]# systemctl enable httpd Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. [root@web01 yum.repos.d]# [root@web01 yum.repos.d]# systemctl start httpd [root@web01 yum.repos.d]# [root@web01 yum.repos.d]# ps -ef | grep httpd root 4130 1 0 08:06 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 4131 4130 0 08:06 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 4132 4130 0 08:06 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 4134 4130 0 08:06 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 4137 4130 0 08:06 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 4138 4130 0 08:06 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND root 4143 3636 0 08:06 pts/1 00:00:00 grep --color=auto httpd [root@web01 yum.repos.d]# |
2). HTTPD 서비스 시작 종료
systemctl [ start | stop ] httpd
|
3). 시스템 부팅 시 HTTPD 서비스 자동 시작
systemctl [ enable | disable ] httpd
|
4). 웹서비스 확인
호스트 운영체제(여러분들의 윈도우 운영체제)에 있는 웹브라우저를 사용하여 웹서버로 접속 테스트를 합니다.
■ Apache Tomcat
1). Apache Tomcat 설치
CentOS 7.3에서 Apache Tomcat(WAS) 을 설치하기 위해 위해 CentOS 7.3 설치 ISO 파일을 가상머신에 연결하여 아래와 같이 yum 명령을 사용하여 설치합니다.
[root@was01 yum.repos.d]# cd /etc/yum.repos.d/
[root@was01 yum.repos.d]# more /etc/yum.repos.d/CentOS-Media.repo # CentOS-Media.repo # # This repo can be used with mounted DVD media, verify the mount point for # CentOS-7. You can use this repo and yum to install items directly off the # DVD ISO that we release. # # To use this repo, put in your DVD and use it with the other repos too: # yum --enablerepo=c7-media [command] # # or for ONLY the media repo, do this: # # yum --disablerepo=\* --enablerepo=c7-media [command] [c7-media] name=CentOS-$releasever - Media baseurl=file:///media/CentOS/ file:///media/cdrom/ file:///run/media/root/CentOS\ 7\ x86_64/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [root@was01 yum.repos.d]# [root@was01 yum.repos.d]# yum -y --disablerepo=\* --enablerepo=c7-media install tomcat Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * c7-media: Resolving Dependencies --> Running transaction check ---> Package tomcat.noarch 0:7.0.69-10.el7 will be installed --> Processing Dependency: tomcat-lib = 7.0.69-10.el7 for package: tomcat-7.0.69-10.el7.noarch --> Processing Dependency: apache-commons-pool for package: tomcat-7.0.69-10.el7.noarch --> Processing Dependency: apache-commons-logging for package: tomcat-7.0.69-10.el7.noarch --> Processing Dependency: apache-commons-dbcp for package: tomcat-7.0.69-10.el7.noarch --> Processing Dependency: apache-commons-daemon for package: tomcat-7.0.69-10.el7.noarch --> Processing Dependency: apache-commons-collections for package: tomcat-7.0.69-10.el7.noarch --> Running transaction check ---> Package apache-commons-collections.noarch 0:3.2.1-22.el7_2 will be installed ---> Package apache-commons-daemon.x86_64 0:1.0.13-6.el7 will be installed ---> Package apache-commons-dbcp.noarch 0:1.4-17.el7 will be installed --> Processing Dependency: mvn(org.apache.geronimo.specs:geronimo-jta_1.1_spec) for package: apache-commons-dbcp-1.4-17.el7.noarch ---> Package apache-commons-logging.noarch 0:1.1.2-7.el7 will be installed --> Processing Dependency: mvn(logkit:logkit) for package: apache-commons-logging-1.1.2-7.el7.noarch --> Processing Dependency: mvn(log4j:log4j) for package: apache-commons-logging-1.1.2-7.el7.noarch --> Processing Dependency: mvn(avalon-framework:avalon-framework-api) for package: apache-commons-logging-1.1.2-7.el7.noarch ---> Package apache-commons-pool.noarch 0:1.6-9.el7 will be installed ---> Package tomcat-lib.noarch 0:7.0.69-10.el7 will be installed --> Processing Dependency: tomcat-servlet-3.0-api = 7.0.69-10.el7 for package: tomcat-lib-7.0.69-10.el7.noarch --> Processing Dependency: tomcat-jsp-2.2-api = 7.0.69-10.el7 for package: tomcat-lib-7.0.69-10.el7.noarch --> Processing Dependency: tomcat-el-2.2-api = 7.0.69-10.el7 for package: tomcat-lib-7.0.69-10.el7.noarch --> Processing Dependency: ecj >= 1:4.2.1 for package: tomcat-lib-7.0.69-10.el7.noarch --> Running transaction check ---> Package avalon-framework.noarch 0:4.3-10.el7 will be installed --> Processing Dependency: xalan-j2 for package: avalon-framework-4.3-10.el7.noarch ---> Package avalon-logkit.noarch 0:2.1-14.el7 will be installed --> Processing Dependency: jms for package: avalon-logkit-2.1-14.el7.noarch ---> Package ecj.x86_64 1:4.2.1-8.el7 will be installed ---> Package geronimo-jta.noarch 0:1.1.1-17.el7 will be installed ---> Package log4j.noarch 0:1.2.17-15.el7 will be installed --> Processing Dependency: mvn(javax.mail:mail) for package: log4j-1.2.17-15.el7.noarch ---> Package tomcat-el-2.2-api.noarch 0:7.0.69-10.el7 will be installed ---> Package tomcat-jsp-2.2-api.noarch 0:7.0.69-10.el7 will be installed ---> Package tomcat-servlet-3.0-api.noarch 0:7.0.69-10.el7 will be installed --> Running transaction check ---> Package geronimo-jms.noarch 0:1.1.1-19.el7 will be installed ---> Package javamail.noarch 0:1.4.6-8.el7 will be installed ---> Package xalan-j2.noarch 0:2.7.1-23.el7 will be installed --> Processing Dependency: xerces-j2 for package: xalan-j2-2.7.1-23.el7.noarch --> Processing Dependency: osgi(org.apache.xerces) for package: xalan-j2-2.7.1-23.el7.noarch --> Running transaction check ---> Package xerces-j2.noarch 0:2.11.0-17.el7_0 will be installed --> Processing Dependency: xml-commons-resolver >= 1.2 for package: xerces-j2-2.11.0-17.el7_0.noarch --> Processing Dependency: xml-commons-apis >= 1.4.01 for package: xerces-j2-2.11.0-17.el7_0.noarch --> Processing Dependency: osgi(org.apache.xml.resolver) for package: xerces-j2-2.11.0-17.el7_0.noarch --> Processing Dependency: osgi(javax.xml) for package: xerces-j2-2.11.0-17.el7_0.noarch --> Running transaction check ---> Package xml-commons-apis.noarch 0:1.4.01-16.el7 will be installed ---> Package xml-commons-resolver.noarch 0:1.2-15.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================== Package Arch Version Repository Size ======================================================================================================== Installing: tomcat noarch 7.0.69-10.el7 c7-media 88 k Installing for dependencies: apache-commons-collections noarch 3.2.1-22.el7_2 c7-media 509 k apache-commons-daemon x86_64 1.0.13-6.el7 c7-media 54 k apache-commons-dbcp noarch 1.4-17.el7 c7-media 167 k apache-commons-logging noarch 1.1.2-7.el7 c7-media 78 k apache-commons-pool noarch 1.6-9.el7 c7-media 113 k avalon-framework noarch 4.3-10.el7 c7-media 88 k avalon-logkit noarch 2.1-14.el7 c7-media 87 k ecj x86_64 1:4.2.1-8.el7 c7-media 1.4 M geronimo-jms noarch 1.1.1-19.el7 c7-media 31 k geronimo-jta noarch 1.1.1-17.el7 c7-media 20 k javamail noarch 1.4.6-8.el7 c7-media 758 k log4j noarch 1.2.17-15.el7 c7-media 443 k tomcat-el-2.2-api noarch 7.0.69-10.el7 c7-media 79 k tomcat-jsp-2.2-api noarch 7.0.69-10.el7 c7-media 93 k tomcat-lib noarch 7.0.69-10.el7 c7-media 3.8 M tomcat-servlet-3.0-api noarch 7.0.69-10.el7 c7-media 210 k xalan-j2 noarch 2.7.1-23.el7 c7-media 1.9 M xerces-j2 noarch 2.11.0-17.el7_0 c7-media 1.1 M xml-commons-apis noarch 1.4.01-16.el7 c7-media 227 k xml-commons-resolver noarch 1.2-15.el7 c7-media 108 k Transaction Summary ======================================================================================================== Install 1 Package (+20 Dependent packages) Total download size: 11 M Installed size: 14 M Downloading packages: 경고: /run/media/root/CentOS 7 x86_64/Packages/apache-commons-collections-3.2.1-22.el7_2.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Public key for apache-commons-collections-3.2.1-22.el7_2.noarch.rpm is not installed -------------------------------------------------------------------------------------------------------- Total 913 kB/s | 11 MB 00:00:12 Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 Importing GPG key 0xF4A80EB5: Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>" Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 Package : centos-release-7-3.1611.el7.centos.x86_64 (@anaconda) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 Running transaction check Running transaction test Transaction test succeeded Running transaction Warning: RPMDB altered outside of yum. Installing : apache-commons-pool-1.6-9.el7.noarch 1/21 Installing : tomcat-servlet-3.0-api-7.0.69-10.el7.noarch 2/21 Installing : apache-commons-collections-3.2.1-22.el7_2.noarch 3/21 Installing : geronimo-jms-1.1.1-19.el7.noarch 4/21 Installing : xml-commons-apis-1.4.01-16.el7.noarch 5/21 Installing : xml-commons-resolver-1.2-15.el7.noarch 6/21 Installing : xalan-j2-2.7.1-23.el7.noarch 7/21 Installing : xerces-j2-2.11.0-17.el7_0.noarch 8/21 Installing : tomcat-jsp-2.2-api-7.0.69-10.el7.noarch 9/21 Installing : geronimo-jta-1.1.1-17.el7.noarch 10/21 Installing : apache-commons-dbcp-1.4-17.el7.noarch 11/21 Installing : tomcat-el-2.2-api-7.0.69-10.el7.noarch 12/21 Installing : apache-commons-daemon-1.0.13-6.el7.x86_64 13/21 Installing : 1:ecj-4.2.1-8.el7.x86_64 14/21 Installing : tomcat-lib-7.0.69-10.el7.noarch 15/21 Installing : javamail-1.4.6-8.el7.noarch 16/21 Installing : log4j-1.2.17-15.el7.noarch 17/21 Installing : apache-commons-logging-1.1.2-7.el7.noarch 18/21 Installing : avalon-logkit-2.1-14.el7.noarch 19/21 Installing : avalon-framework-4.3-10.el7.noarch 20/21 Installing : tomcat-7.0.69-10.el7.noarch 21/21 Verifying : xml-commons-apis-1.4.01-16.el7.noarch 1/21 Verifying : tomcat-jsp-2.2-api-7.0.69-10.el7.noarch 2/21 Verifying : apache-commons-logging-1.1.2-7.el7.noarch 3/21 Verifying : geronimo-jms-1.1.1-19.el7.noarch 4/21 Verifying : tomcat-servlet-3.0-api-7.0.69-10.el7.noarch 5/21 Verifying : tomcat-lib-7.0.69-10.el7.noarch 6/21 Verifying : javamail-1.4.6-8.el7.noarch 7/21 Verifying : avalon-logkit-2.1-14.el7.noarch 8/21 Verifying : avalon-framework-4.3-10.el7.noarch 9/21 Verifying : apache-commons-pool-1.6-9.el7.noarch 10/21 Verifying : 1:ecj-4.2.1-8.el7.x86_64 11/21 Verifying : apache-commons-daemon-1.0.13-6.el7.x86_64 12/21 Verifying : apache-commons-dbcp-1.4-17.el7.noarch 13/21 Verifying : tomcat-el-2.2-api-7.0.69-10.el7.noarch 14/21 Verifying : tomcat-7.0.69-10.el7.noarch 15/21 Verifying : xalan-j2-2.7.1-23.el7.noarch 16/21 Verifying : geronimo-jta-1.1.1-17.el7.noarch 17/21 Verifying : apache-commons-collections-3.2.1-22.el7_2.noarch 18/21 Verifying : log4j-1.2.17-15.el7.noarch 19/21 Verifying : xerces-j2-2.11.0-17.el7_0.noarch 20/21 Verifying : xml-commons-resolver-1.2-15.el7.noarch 21/21 Installed: tomcat.noarch 0:7.0.69-10.el7 Dependency Installed: apache-commons-collections.noarch 0:3.2.1-22.el7_2 apache-commons-daemon.x86_64 0:1.0.13-6.el7 apache-commons-dbcp.noarch 0:1.4-17.el7 apache-commons-logging.noarch 0:1.1.2-7.el7 apache-commons-pool.noarch 0:1.6-9.el7 avalon-framework.noarch 0:4.3-10.el7 avalon-logkit.noarch 0:2.1-14.el7 ecj.x86_64 1:4.2.1-8.el7 geronimo-jms.noarch 0:1.1.1-19.el7 geronimo-jta.noarch 0:1.1.1-17.el7 javamail.noarch 0:1.4.6-8.el7 log4j.noarch 0:1.2.17-15.el7 tomcat-el-2.2-api.noarch 0:7.0.69-10.el7 tomcat-jsp-2.2-api.noarch 0:7.0.69-10.el7 tomcat-lib.noarch 0:7.0.69-10.el7 tomcat-servlet-3.0-api.noarch 0:7.0.69-10.el7 xalan-j2.noarch 0:2.7.1-23.el7 xerces-j2.noarch 0:2.11.0-17.el7_0 xml-commons-apis.noarch 0:1.4.01-16.el7 xml-commons-resolver.noarch 0:1.2-15.el7 Complete! [root@was01 yum.repos.d]# [root@was01 yum.repos.d]# yum -y --disablerepo=\* --enablerepo=c7-media install tomcat-webapps Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * c7-media: Resolving Dependencies --> Running transaction check ---> Package tomcat-webapps.noarch 0:7.0.69-10.el7 will be installed --> Processing Dependency: jakarta-taglibs-standard >= 1.1 for package: tomcat-webapps-7.0.69-10.el7.noarch --> Running transaction check ---> Package jakarta-taglibs-standard.noarch 0:1.1.2-14.el7_1 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================== Package Arch Version Repository Size ======================================================================================================== Installing: tomcat-webapps noarch 7.0.69-10.el7 c7-media 357 k Installing for dependencies: jakarta-taglibs-standard noarch 1.1.2-14.el7_1 c7-media 303 k Transaction Summary ======================================================================================================== Install 1 Package (+1 Dependent package) Total download size: 660 k Installed size: 1.5 M Downloading packages: -------------------------------------------------------------------------------------------------------- Total 15 MB/s | 660 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : jakarta-taglibs-standard-1.1.2-14.el7_1.noarch 1/2 Installing : tomcat-webapps-7.0.69-10.el7.noarch 2/2 Verifying : tomcat-webapps-7.0.69-10.el7.noarch 1/2 Verifying : jakarta-taglibs-standard-1.1.2-14.el7_1.noarch 2/2 Installed: tomcat-webapps.noarch 0:7.0.69-10.el7 Dependency Installed: jakarta-taglibs-standard.noarch 0:1.1.2-14.el7_1 Complete! [root@was01 yum.repos.d]# firewall-cmd --permanent --zone=public --add-port=8080/tcp success [root@was01 yum.repos.d]# firewall-cmd --permanent --zone=public --add-port=8009/tcp success [root@was01 yum.repos.d]# firewall-cmd --reload success [root@was01 yum.repos.d]# |
Apache Tomcat의 홈 디렉터리는 아래와 같습니다.
/usr/share/tomcat
|
아래와 같은 명령을 사용하여 Apache Tomcat 서비스를 실행시킵니다.
[root@[root@was01 yum.repos.d]# systemctl enable tomcat
Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /usr/lib/systemd/system/tomcat.service. [root@was01 yum.repos.d]# systemctl start tomcat [root@was01 yum.repos.d]# [root@was01 yum.repos.d]# systemctl status tomcat ● tomcat.service - Apache Tomcat Web Application Container Loaded: loaded (/usr/lib/systemd/system/tomcat.service; enabled; vendor preset: disabled) Active: active (running) since 토 2017-02-04 17:04:05 KST; 7s ago Main PID: 4272 (java) CGroup: /system.slice/tomcat.service └─4272 /usr/lib/jvm/jre/bin/java -classpath /usr/share/tomcat/bin/bootstrap.jar:/usr/share... Hint: Some lines were ellipsized, use -l to show in full. [root@was01 yum.repos.d]# [root@was01 yum.repos.d]# ps -ef | grep tomcat tomcat 4272 1 11 17:04 ? 00:00:04 /usr/lib/jvm/jre/bin/java -classpath /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cachetomcat/temp -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start root 4333 3424 0 17:04 pts/0 00:00:00 grep --color=auto tomcat [root@was01 yum.repos.d]# |
2). HTTPD 서비스 시작 종료
systemctl [ start | stop ] tomcat6
|
3). 시스템 부팅시 HTTPD 서비스 자동 시작
systemctl [ enable | disable ] tomcat6
|
4). Tomcat 서비스 확인
호스트 운영체제(여러분들의 윈도우 운영체제)에 있는 웹브라우저를 사용하여 Tomcat 서버 접속 테스트를 합니다.
■ Apache HTTPD와 Tomcat 연동
이 게시물에 첨부되어 있는 [ mod_jk.so.Z ] 파일을 내려받아 HTTPD와 Tomcat 서버 간 연동을 위해 사용합니다. 만약 mod_jk 관련 소스파일을 받길 원한다면 http://tomcat.apache.org/download-connectors.cgi 웹사이트를 참조하세요.
mod_jk.so.Z 파일을 VMware Workstation의 드래그 앤 드롭 기능을 사용하여 WEB01 가상머신의 /root 디렉터리에 복사합니다. CentOS 7.3 바탕화면에 있는 아래와 같은 아이콘을 더블 클릭하여 파일 관리자를 열고 그 안으로 파일을 끌어넣어 복사하면 됩니다.
그다음 아래와 같은 명령을 실행하여 mod_jk.so 파일을 HTTPD의 모듈 디렉터리로 이동시킵니다.
[root@web01 ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Music Public Videos Desktop Downloads mod_jk.so.Z Pictures Templates [root@web01 ~]# uncompress mod_jk.so.Z [root@web01 ~]# [root@web01 ~]# ls anaconda-ks.cfg Documents initial-setup-ks.cfg Music Public Videos Desktop Downloads mod_jk.so Pictures Templates [root@web01 ~]# [root@web01 ~]# mv mod_jk.so /usr/lib64/httpd/modules/ [root@web01 ~]# |
그리고 톰켓(Tomcat)과 연동이 가능하게 mod_jk.so 모듈을 사용할 수 있도록 httpd 서비스에 대한 구성 파일을 수정 또는 생성합니다.
[root@web01 ~]# cd /etc/httpd/
[root@web01 httpd]# ls conf conf.d conf.modules.d logs modules run [root@web01 httpd]# cd conf.modules.d/ [root@web01 conf.modules.d]# ls 00-base.conf 00-lua.conf 00-proxy.conf 01-cgi.conf 00-dav.conf 00-mpm.conf 00-systemd.conf [root@web01 conf.modules.d]# [root@web01 conf.modules.d]# vi 00-modjk.conf LoadModule jk_module modules/mod_jk.so <== 내용 입력 [root@web01 conf.modules.d]# [root@web01 conf.modules.d]# cd ../conf.d/ [root@web01 conf.d]# [root@web01 conf.d]# vi mod_jk.conf JkWorkersFile /etc/httpd/conf/workers.properties <== 내용 입력 JkShmFile /var/run/httpd/mod_jk.shm <== JkLogFile /var/log/httpd/mod_jk.log <== JkLogLevel info <== [root@web01 conf.d]# cd ../conf [root@web01 conf]# [root@web01 conf]# vi workers.properties worker.list=worker1 <== 내용 입력 worker.worker1.type=ajp13 <== worker.worker1.host=192.168.80.11 <== worker.worker1.port=8009 [root@web01 conf]# [root@web01 conf]# vi httpd.conf <VirtualHost *:80> <== 내용 추가 JkMount /* worker1 <== </VirtualHost> <== [root@web01 conf]# [root@web01 conf]# apachectl configtest <== 구성 파일 체크 AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::20c:29ff:fe27:3f5. Set the 'ServerName' directive globally to suppress this message Syntax OK [root@web01 conf]# [root@web01 conf]# chcon -R -t httpd_exec_t /usr/lib64/httpd/modules/mod_jk.so <== Selinux 보안 컨텍스트 변경 [root@web01 conf]# |
아래와 같은 명령을 실행하여 HTTPD 서비스를 재실행합니다.
[root@web01 conf]# systemctl stop httpd
[root@web01 conf]# systemctl start httpd [root@web01 conf]# [root@web01 conf]# systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2017-02-04 15:32:56 EST; 2s ago Docs: man:httpd(8) man:apachectl(8) Process: 4084 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS) Main PID: 4098 (httpd) Status: "Processing requests..." CGroup: /system.slice/httpd.service ├─4098 /usr/sbin/httpd -DFOREGROUND ├─4099 /usr/sbin/httpd -DFOREGROUND ├─4100 /usr/sbin/httpd -DFOREGROUND ├─4101 /usr/sbin/httpd -DFOREGROUND ├─4102 /usr/sbin/httpd -DFOREGROUND └─4103 /usr/sbin/httpd -DFOREGROUND [root@web01 ~]# |
httpd 서비스 재실행 후 호스트 운영체제(여러분들의 윈도우 운영체제)에 있는 웹브라우저를 사용하여 웹서버(192.168.80.10)로 접속 테스트를 합니다. 그러면 아래와 같이 Tomcat 서비스를 의미하는 고양이 그림이 나타날 것입니다.
/etc/httpd/conf/httpd.conf 파일에 추가한 아래 내용을 변경하면 특정 파일 요청에 대해서 WAS 서버로 처리 요청할 수도 있습니다.
<VirtualHost *:80>
JkMount /*.jsp worker1 JkMount /*.do worker1 </VirtualHost> |
여기까지 Apache HTTPD와 Tomcat을 설치하는 방법에 대해 알아보았습니다. 이것은 이전에 VMware Workstation 입문편과 응용편에서 다루었었습니다.
다음 게시물에서 데이터베이스 설치 (MariaDB) 및 JSP 파일을 사용하여 데이터베이스에 접근하는 방법에 대해 알아보도록 하겠습니다.
No comments:
Post a Comment