[linux] CentOS 6 에 mysql, tomcat(jsp) 설치

우선 급하게 남겨놓는다.

구형서버에 mysql, jsp 관련 구성을 해야하는데.. 구형서버라 CentOS 7에서 HP Array가 인식이 안된다.. 뭐 방법은 있는것 같은데.. 귀찮아서 Centos 6을 설치했다.

우선 mysql 설치

mysql이 설치되어있는지 확인

[root@localhost]# mysql list installed | grep mysql
[root@localhost]# yum remove mysql-libs

mysql 5.6 yum Repository 설정

[root@localhost]# wget https://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm  
[root@localhost]# rpm -ivh mysql-community-release-el6-5.noarch.rpm 
[root@localhost]ls -al /etc/yum.repos.d/ 
아래 2개가 있으면 된다.
- mysql-community-source.repo
- mysql-community.repo

mysql 설치, 버전확인, 서비스 시작

[root@localhost]# yum install mysql-server
[root@localhost]# mysql --version
[root@localhost]# service mysqld start

패스워드 설정, 로그인

[root@localhost]# mysqladmin -u root password 'password'
[root@localhost]# mysql -u root -p

java 설치 및 설정

java-버전-openjdk 는 JRE
java-버전-openjdk-devle 이게 JDK라 생각하면 됨

[root@localhost]# yum list java*jdk-devel
[root@localhost]# yum install java-1.8.0-openjdk-devel.x86_64
[root@localhost]# rpm -qa java*jdk-devel
[root@localhost]# javac -version

tomcat 설치

소스 다운 및 설치

[root@localhost]# cd /usr/local/src
[root@localhost]# wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-7/v7.0.104/bin/apache-tomcat-7.0.104.tar.gz
[root@localhost]# tar -xvzf apache-tomcat-7.0.104.tar.gz
[root@localhost]# mv apache-tomcat-7.0.104 /usr/local/tomcat-7.0.104

8080포트 방화벽 등록 (이렇게 해도 안되면, /etc/sysconfig/iptables 열어서 순서를 정해준다. REJECT 위로. 순위 지정해서 넣는 방법도 있는데.. 우선 급하게..)

[root@localhost]# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
[root@localhost]# service iptables save
[root@localhost]# service iptables restart

profile 에 해당 변수 세팅

[root@localhost]# find / -name javac           # java 설치위치, 버전 확인
[root@localhost]# vi /etc/profile              # 마지막에 추가
   :
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el6_10.x86_64
export CATALINA_HOME=/usr/local/tomcat-7.0.104/
export PATH=$PATH:$JAVA_HOME/bin

tomcat 서비를 편하게 하기 위해 스크립트 생성

[root@localhost]# vi /etc/init.d/tomcat
#!/bin/bash
# description: tomcat start stop restart
# proccessname: tomcat
# chkconfig: 234 20 80

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.111.x86_64
export CATALINA_HOME=/usr/local/tomcat8 

case $1 in
start)
echo "Start tomcat "
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
echo "shutdown tomcat "
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
echo "restart tomcat "
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;
*)
echo "Usage: service tomcat {start|stop|restart}"
exit 1
esac
exit 0

스크립트 실행권한 부여, 자동 실행되도록 등록

[root@localhost]# chmod 755 /etc/init.d/tomcat
[root@localhost]# chkconfig --level 2345 tomcat on
[root@localhost]# chkconfig --list tomcat

[root@localhost]# chkconfig --level 2345 mysqld on
[root@localhost]# chkconfig --list mysqld

이클립스에서 개발하고, 윈도우에서 돌릴때는 이상없었는데.. 리눅스에 mysql, tomcat 설치하고 돌렸더니.. DB쪽 인자넘길때 charset이 깨진다.

파라메터는 잘 넘어가는것 같은데.. (System.out 찍어보면 한글이 찍힌다.) pstmt.setString() 하고서 쿼리를 찍어보면 한글부부분이 ???로 나온다. 다음과 같이 해서 해결했다.

[root@localhost]# vi /usr/local/tomcat-7.0.104/conf/context.xml
<!-- 커넥션풀 관련 Resource 부분의 url을 다음과 같이 수정 -->
<!-- 수정전 -->
      url="jdbc:mysql://localhost:3306/mydbname?serverTimezone=UTC"
<!-- 수정후 -->
      url="jdbc:mysql://localhost:3306/nydbname?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"

Loading