WEB WAS 개요
- 아파치 설치
Apache.org에서 소스를 다운 받는다. 나는 httpd-2.4.35 버전을 선택했다
wget http://apache.mirror.cdnetworks.com/httpd/httpd-2.4.35.tar.gz
tar zxvf httpd-2.4.35.tar.gz 압축을 푼다
cd httpd-2.4.35/srclib
컴파일 하기전에 apr관련 소스 다운로드
wget http://apache.mirror.cdnetworks.com/apr/apr-1.6.5.tar.gz
wget http://apache.mirror.cdnetworks.com/apr/apr-util-1.6.1.tar.gz
tar zxvf apr-1.6.5.tar.gz
mv apr-1.6.5 apr
tar zxvf apr-util-1.6.1.tar.gz
mv apr-util-1.6.1 apr-util
cd ..
컴파일
컴파일을 하다보면 리눅스 설치 상태에 따라 필요한 라이브러리나 rpm을 찾을 수 있다. 애러 메시지를 보며 설치해 주도록 한다.
./configure –prefix=/usr/local/httpd-2.4.34 –enable-all –enable-so –with-include-apr –with-include-apr-util –enable-ssl –enable-headers –enable-info –enable-rewrite
make
make install
관리 편의상 심볼릭 링크를 만들어 준다.
ln -s /usr/local/httpd-2.4.35 /usr/local/httpd
- 톰캣과 연동
연동을 위해 톰캣커넥터를 다운로드한다.
wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.46-src.tar.gz
tar zxvf tomcat-connectors-1.2.46-src.tar.gz
cd tomcat-connectors-1.2.44-src/native
./configure –with-apxs=/usr/local/httpd/bin/apxs
컴파일이 완성되면 아래와 같이 톰캣연동 파일들을 생성해 준다.
cat << EOF > /usr/local/httpd/conf/uriworkermap.properties
/*.do=tomcat1
/*.jsp=tomcat1
EOF
cat << EOF > /usr/local/httpd/conf/extra/workers.properties
#########################################
## Worker for Tomcat
#########################################
worker.list=tomcat1, jkstatus
worker.tomcat1.host=127.0.0.1
worker.tomcat1.port=8009
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
worker.tomcat1.socket_keepalive=1
EOF
cat << EOF > /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot “/home/homepage”
ServerName www.homepage.com
ErrorLog “logs/www.homepage.com-error_log”
CustomLog “logs/www.homepage.com-access_log” common
<Directory /home/homepage>
Options Indexes FollowSymLinks
AllowOverride none
Order allow,deny
Allow from all
Require all granted
</Directory>
JkMount /* tomcat1
JkMountFile conf/uriworkermap.properties
</VirtualHost>
EOF
cat << EOF > /usr/local/httpd/conf/extra/httpd-mod_jk.conf
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/extra/workers.properties
JkLogFile logs/mod_jk.log
JkRequestLogFormat “%w %R %V %p %U %s %T”
JkLogLevel info
EOF
httpd.conf 파일을 vi로 수정해준다.
vi /usr/local/httpd/conf/httpd.conf
# Virtual hosts
Include conf/extra/httpd-vhosts.conf <= # 주석 삭제
.
.
.
# mod_jk setttings <= 추가
Include conf/extra/httpd-mod_jk.conf <= 추가
여기까지 하면, 아파치, 톰캣 연동 완료
- JAVA & Tomcat 설치
톰켓 실행을 위해서는 java가 필요하다. 리눅스에 포한 되어 있는 open java를 써도 무방하나 나는 오라클에서 다운로드 받아 사용하였다
JAVA 설치
tar zxvf jdk-8u181-linux-x64.tar.gz <= 오라클에서 다운받은 java8 버전(오라클에서 java를 받으려면 계정이 필요하다)
mv jdk1.8.0_181 /usr/local/jdk1.8.0
ln -s /usr/local/jdk1.8.0 /usr/local/java
Tomcat 설치
wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5.34.tar.gz
tar zxvf apache-tomcat-8.5.34.tar.gz
mv apache-tomcat-8.5.34 /usr/local/tomcat-8.5.34
ln -s /usr/local/tomcat-8.5.34 /usr/local/tomcat
자 여기까지 톰캣설치는 끝났다. 이제 실행을 위해 관련 파일들을 수정해주자
.bash_profile 환경변수 수정
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/java/bin:/usr/local/httpd/bin:/usr/local/tomcat/bin
export PATH
export JAVA_HOME=/usr/local/java
export CATALINA_OPTS=”-server -Xms256m -Xmx256m”
/usr/local/tomcat/conf/contexts.xml 파일수정
<ResourceLink type=”javax.sql.DataSource” name=”jdbc/Oracle” global=”jdbc/Oracle“/> <=디비연동을위한 라인추가
/usr/local/tomcat/conf/server.xml 파일 수정
<GlobalNamingResources>
<!– Editable user database that can also be used by
UserDatabaseRealm to authenticate users
–>
<Resource name=”UserDatabase” auth=”Container”
type=”org.apache.catalina.UserDatabase”
description=”User database that can be updated and saved”
factory=”org.apache.catalina.users.MemoryUserDatabaseFactory”
pathname=”conf/tomcat-users.xml” />
<Resource name=”jdbc/Oracle“
auth=”Container”
type=”javax.sql.DataSource”
factory=”org.apache.tomcat.jdbc.pool.DataSourceFactory”
driverClassName=”oracle.jdbc.OracleDriver”
defaultAutoCommit=”false”
url=”jdbc:oracle:thin:@DBHostname:1521:SID값”
username=“디비계정”
password=“비번”
maxActive=”20″
maxIdle=”10″
maxWait=”-1″/>
</GlobalNamingResources>
.
.
.
<Host name=”localhost” appBase=”/home/homepage” unpackWARs=”true” autoDeploy=”true” deployOnStartup=”false” xmlValidation=”false” xmlNamespaceAware=”false”>
<Context path=”” docBase=“” reloadable=”false” allowLinking=”true” debug=”1″/>
마지막으로 web.xml 수정 (DB연동 추가)
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/Oracle</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
이로서 톰캣관련 파일 수정완료
이제 아파치와 톰캣을 실행
/usr/local/httpd/bin/./apachectl start
/usr/local/tomcat/bin/./startup.sh
실행 후 관련 서비스 포트 확인
telnet localhost 80(8080,8009) 엔터후 아래와 같이 뜨면 완료
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
리눅스 로컬 방화벽 오픈(외부네트워크 서비스 오픈)
firewall-cmd —permanent —add-port=80/tcp
firewall-cmd —permanent —add-port=8009/tcp
firewall-cmd —permanent —add-port=8080/tcp
firewall-cmd —reload
아파치, 톰캣 연동 설치 완료.