직장에서 운영중인 업무시스템 관련해서.. 주기적으로 보안점검을 받고 조치를 취하는데, 그중에 하나가 알려진 포트 중 사용안하는건 막고, 필요한 경우에는 포트를 변경해서 사용하라는 것이다.
사실 관리 포트라던가(예를들면 telnet, ftp, ssh), 관리자 페이지는 접속 ip로 막거나, 포트를 변경해서 드러나지 않게 하는게 맞긴 한데.. 일반적인 서비스 포트(http, https 등..)도 변경하라니.. 조금 과한것 아닌가 하는 맘이 든다.
여튼, 오늘 하려는 얘긴 그건 아니고..
결국 그래서 포트스캔을 했는데.. 9744포트가 열렸다고 확인하란다. 접속해보니 JEUS 관리 페이지.
나는 한번도 접속 안해봤고.. 유지보수업체 물어보니, 자기도 꼭필요한건 아니란다. 서비스와는 상관없는 기능이므로, 불필요할 경우 사용하지 않아도 된다고. (물론, 사용안하므로 비활성화 하기로 했다.)
JUES6 Webadmin 비활성화 방법
해당 설정은 JEUSMain.xml 파일의 <enable-webadmin> 옵션을 건드린다.
파일 위치는 JEUS_HOME/config/’hostname’/JEUSMain.xml 을 수정하면 된다. (우선 복사본 설정)
cd ${JEUS_HOME}/config/'hostname'/
cp JEUSMain.xml JEUSMain.xml.bak
vi JEUSMain.xml
<enable-webadmin>true</enable-webadmin>을 <enable-webadmin>false</enable-webadmin> 로 변경 후 저장한다. (해당 설정의 default value가 true이므로, 해당 태그가 없을 경우 false로 추가한다.)
우선 내 경우 예를 들면.. 메인 도메인이 있고, 테스트나, 여튼 서브도메인으로 하나 더 운영하고 있었는데.. 서브 도메인이 끊겼다.(별로 유지하고 싶은 생각이 없어서 그냥 놔뒀더니..) 그러다가 다른 도메인으로 하나 더 얻었는데.. 사이트를 그대로 옮기고 싶은데, 이미 끊긴 사이트 도메인으로 계속 접속하려고 하는 증상이 나타난다.
관리자 페이지에 들어가서 세팅을 해야하는데.. 관리자 페이지 자체도 이전도메인 주소를 찾는 상황이 되어버려서리..
예를 들면.. aaa.net 도메인 사용하다가 bbb.net 도메인으로 바꾸려고 하는데..
http://bbb.net/wp/admin 으로 로그인 페이지를 불러와도.. submit 할때는 http://aaa.net/wp/어쩌구저쩌구로 링크가 걸리는 상황..
어쩔수 없이 DB를 열어서 수정한다.
급하게 수정할 부분은.. 사이트 설정자료가 들어있는 wp_options 테이블을 건드린다.
mysql> update wp_options
-> set option_value='http://bbb.net/wp'
-> where option_name in ('siteurl', 'home');
이렇게 하면 우선 급한대로 로그인은 가능하다.
위 두개의 항목은 워드 프레스 “일반 설정” 화면에서 “워드프레스 주소(URL)”과 “사이트 주소 (URL)” 항목인 듯 하다.
wordpress에서 소스코드 등일 표시할때.. 사용하는 플러그인이 Syntax Highligher 다. 지금까지는 Crayon Syntax Highlighter 를 사용중이었는데.. 무난한게 사용했는데, 단점은 지원중단된지 좀 됐나는 것..
결국 워드프레스 5.4대로 올라오면서부터 호환이 안돼, 사이트 출력이 끊겨버리는 상황이 발생하여 다른 플러그인을 알아보기로 했다. (언제부터인가.. 사이트가 표출이 안되고 있었다.. 플러그인 하나씩 꺼보면서 확인했더니.. Crayon Syntax Highlighter가 문제였다)
주된 내용은 아래의 글을 참고하였으며, 장단점도 아래의 글에서 가져왔다.. (자세한 내용은 링크 참조)
1. Crayon Syntax Highlighter
내가 쓰던 것. (지금은 호환이 안돼 사용하지 못한다.)
장점 : 다양한 기능 설정
단점 : 개발중지 (현재 호환 불가)
다운로드 : https://wordpress.org/plugins/crayon-syntax-highlighter/
2. Enlighter – Customizable Syntax Highlighter
장점 :
Gutenberg 편집기 지원
간단한 사용법
본문 외에 댓글란에서도 사용 가능
단점 : 딱히 모르겠음
다운로드 : https://wordpress.org/plugins/enlighter/
3. Prismatic
장점 :
Gutenberg 편집기 지원.
Highlight.js, Plain Flavor 도 선택 가능함.
Prism.js 기반의 Syntax Hightlighter 로서 Prism.js 기능을 동일하게 제공.
단점 :
Line Number, 자동 줄바꿈 같은 기본적인 기능 제공 안함. (사용법을 모를지도…)
<pre><code> 등 TAG 직접 입력 방식 사용
다운로드 : https://wordpress.org/plugins/prismatic/#installation
4. SyntaxHighlighter Evolved
나는 이미 설치되어 있는걸 보니.. 처음 고를때 Crayon 이랑 이거랑 비교해보다가 Crayon을 선택했었다.
장점 : 설정 창을 이용한 간편한 설정
단점 : 너무 기능이 없음.
다운로드 : https://wordpress.org/plugins/syntaxhighlighter/
결국 나는 Enlighter 를 사용해보기로 했다. 플러그인을 껐을 경우 Preformatted 블록으로 자동 변경되는것도 맘에 들고.. 그나저나.. 기존에 Crayon 으로 설정돼있는것들은 일일이 다 바꿔줘야 하나..??
[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
파라메터는 잘 넘어가는것 같은데.. (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"
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | SYSTEM |
+--------------------+---------------------+
1 row in set (0.00 sec)
이상태에서는 mysql db의 time_zone과 time_zone_name 2개의 테이블이 비어있는 상태이며, SET time_zone = ‘Asia/Seoul’ 명령도 에러 발생
시스템의 타임존 정보를 mysql에 입력
[root@debian ~]# ./bin/mysql_tzinfo_to_sql /usr/share/zoneinfo | ./bin/mysql -D mysql -u root -p
Enter password:
Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
설정 파일 변경
[root@debian ~]# vi /etc/my.cnf
[mysqld]
default-time-zone=Asia/Seoul
mysql 재시작 및 확인
[root@debian ~]# service mysql restart
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| Asia/Seoul | Asia/Seoul |
+--------------------+---------------------+
1 row in set (0.00 sec)
1. 카카오 개발자사이트 (https://developers.kakao.com) 접속 2. 개발자 등록 및 앱 생성 3. 웹 플랫폼 추가: 앱 선택 – [플랫폼] – [Web 플랫폼 등록] – 사이트 도메인 등록 4. 사이트 도메인 등록: [웹] 플랫폼을 선택하고, [사이트 도메인] 을 등록합니다. (예: http://localhost:8080) 5. 페이지 상단의 [JavaScript 키]를 지도 API의 appkey로 사용합니다. 6. 앱을 실행합니다.
개발한 소스를 아무나 퍼가서 서비스하면 안되기 때문에.. appkey를 사용할 수 있는 사이트(도메인)을 등록해야한다. 우선 개발할때는 개발 URL( 예, http://localhost:8080 )을 등록하고, 나중에 서비스할 도메인을 추가로 등록해도 된다.
나는 웹플랫폼으로 개발을 할것이기 때문에, 별다른 환경은 필요없다. 웹페이지를 서비스 할 수 있는 환경이면 되고, PC에 웹서버를 설치하기 번거로우면 python을 이용한 간단 서버를 띄울 수 있다.