1. 키파일생성

[root@localhost ellord]# keytool -genkey -alias tomcat -keyalg RSA -validity 3650 -keystore tomcat.keystore
Enter keystore password:  

비밀번호를 두 번 입력한 후 추가 정보를 입력한다.

 

사설인증서이므로 국가코드 외에는 임의의 정보로 입력한다.

What is your first and last name?
  [Unknown]:   Yang
What is the name of your organizational unit?
  [Unknown]:  Devel
What is the name of your organization?
  [Unknown]:  EL
What is the name of your City or Locality?
  [Unknown]:  SE
What is the name of your State or Province?
  [Unknown]:  SE
What is the two-letter country code for this unit?
  [Unknown]:  KR
Is CN=Yang, OU=Devel, O=EL, L=SE, ST=SE, C=KR correct?
  [no]:  y

Enter key password for <tomcat>
	(RETURN if same as keystore password):  

 

키파일 생성시 만들었던 비밀번호를 두 번 입력하면 완료된다.

 

현재 폴더에 tomcat.keystore 라는 파일이 만들어졌다.

다음과 같이 만들어져 있다.

[root@localhost ellord]# pwd tomcat.keystore
/home/ellord
[root@localhost ellord]# 

 

 

 

 

2. 톰캣에 적용

 

톰캣/conf/server.xml 파일을 연다.

    <!--
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
    -->

 

위와 같이 주석으로 처리된 부분을 찾아 주석을 풀고 끝부분에 아래 항목을 추가한다.

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="/home/ellord/tomcat.keystore" keystorePass="비밀번호"/>

 

비밀번호는 키파일 생성시 만든 비밀번호를 입력한다.

 

 

 

3. 이클립스에서 확인해 본다.

SSL 포트로 8443이 할당되었고, 서버가 시작되었다.

 

 

 

 

 

4. 브라우저에서 확인해 본다.

 

 

된다.

 

'JSP' 카테고리의 다른 글

이클립스+톰캣 사설인증서 eclipse + tomcat SSL 적용  (0) 2020.10.25
jsp 형변환  (0) 2015.04.23
JSP 이미지 크기 측정  (0) 2015.04.18
JSP htmlspecialchars  (0) 2015.04.18
JSP 확장자 구하기  (0) 2015.04.18
블로그 이미지

엘로드넷

댓글을 달아 주세요

<body>
  <div id="parent">
    <div id="childRightCol">
      /*Content*/
    </div>
    <div id="childLeftCol">
      /*Content*/
    </div>
  </div>
</body>

 

$("#parent").css("overflow", "auto");

 

 

또는

 

$("#parent").css("display", "table");

$("#childRightCol").css("display", "table-row");

$("#childLeftCol").css("display", "table-row");

'퍼블리싱' 카테고리의 다른 글

자식 엘리먼트의 높이에 따라 부모 높이 동적변경  (0) 2020.10.25
IE 문서모드  (0) 2015.04.17
블로그 이미지

엘로드넷

댓글을 달아 주세요

한번의 쿼리로는 불가능함.

 

삭제쿼리문을 만든 다음 일괄 수행한다.

 

1. 삭제쿼리 만들기

SQLDeveloper 와 같은 툴을 사용하여 자신의 계정으로 로그온한다.

 

아래 쿼리문을 수행한다.

SELECT 'DROP TABLE "' || TABLE_NAME || '" CASCADE CONSTRAINTS;' FROM user_tables;


2. 1번의 쿼리문 결과를 모두 복사하여, 다시 쿼리를 수행한다.

 

 

끝.

블로그 이미지

엘로드넷

댓글을 달아 주세요

1. pom.xml

 

아래 기존 jackson 1.x 버전은

<dependency>

<groupId>org.codehaus.jackson</groupId>

<artifactId>jackson-mapper-asl</artifactId>

<version>1.9.2</version>

</dependency>

보안이슈가 있으므로 스프링 4.x 부터   jackson 2.x 로 변경해줌.

 

		<dependency>
		       <groupId>com.fasterxml.jackson.core</groupId>
		      <artifactId>jackson-core</artifactId>
		      <version>2.9.10</version>
		</dependency>
		<dependency>
		  <groupId>com.fasterxml.jackson.core</groupId>
		  <artifactId>jackson-databind</artifactId>
		  <version>2.9.10</version>
		</dependency>
		<dependency>
		    <groupId>com.fasterxml.jackson.core</groupId>
		    <artifactId>jackson-annotations</artifactId>
		    <version>2.9.10</version>
		</dependency>

 

 

2. WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml

 

기존 : 

	<bean class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="0"/>

	<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="1" 
    p:prefix="/WEB-INF/jsp/" 
    p:suffix=".jsp" 
    p:viewClass="org.springframework.web.servlet.view.JstlView"/>

 

 

변경 : jsonView 추가 및 order 순서 변경

 

    
	<bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
	
		<property name="contentType" value="application/json;charset=UTF-8" />

	</bean>
   
    <bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
		<property name="order" value="1">
	</property></bean>
	

    <!-- 화면처리용 JSP 파일명의  prefix, suffix 처리에 대한 mvc 설정  -->
    <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="2"
	    p:viewClass="org.springframework.web.servlet.view.JstlView"
	    p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/>
    		

 

3. Controller

 

ModelAndView 형태의 메소드 사용

@RequestMapping(value="/test.do", method=RequestMethod.POST)
	public ModelAndView testList(
			@RequestParam(value="test", required=false) final String test,
            @ModelAttribute("TestVO") TestVO testVO, 
			HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
				
		
				
		//검색 목록
		List<TestVO> result = testService.testList(testVO);
		
		int resultCnt = testService.testListCnt(testVO);
		

		ModelAndView mav = new ModelAndView("jsonView");
		mav.addObject("resultList", result);		//목록리스트
		mav.addObject("resultCnt", resultCnt);		//목록 수
		mav.addObject("testVO", testVO);	//해당 VO

		
		return mav;
		
		
	}

 

블로그 이미지

엘로드넷

댓글을 달아 주세요

리눅스 swapfile 추가

Linux 2020. 9. 1. 18:52

스왑파티션 확인

 

[root@localhost /]# swapon -s
Filename				Type		Size	Used	Priority
/dev/dm-1                              	partition	16318460	0	-2

 

스왑파일을 추가로 만든다.

 

[root@localhost /]# fallocate -l 1GB /swapfile

swapon: /swapfile: read swap header failed: Invalid argument 와 같은 에러 방지를 위해 다음과 같이 해준다.

 

[root@localhost /]# sudo dd if=/dev/zero of=/swapfile count=1024 bs=1MiB

 

스왑파일 퍼미션 변경

[root@localhost /]# chmod 600 /swapfile

 

스왑파일로 변경

[root@localhost /]# mkswap /swapfile 
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=ed717676-8540-48c3-8034-94d0dea8e5b5

 

스왑파일 적용

[root@localhost /]# swapon /swapfile

 

스왑메모리 확인

[root@localhost /]# swapon -s
Filename				Type		Size	Used	Priority
/dev/dm-1                              	partition	16318460	0	-2
/swapfile                              	file	1048572	0	-3
[root@localhost /]# 

/swapfile 이 추가되어 있다.

 

 

부팅시 적용

[root@localhost /]# vi /etc/fstab

 

하단에 아래 항목 추가

/swapfile swap swap defaults 0 0


#
# /etc/fstab
# Created by anaconda on Mon Aug 31 16:53:23 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=7d8e34c6-1c5e-43ed-9bb2-296a8e3be09a /boot                   xfs     defaults        0 0
UUID=C6F0-811D          /boot/efi               vfat    umask=0077,shortname=winnt 0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/swapfile		swap			swap	defaults	0 0

 

스왑을 적용한다.

[root@localhost /]# swapon -a

 

 

블로그 이미지

엘로드넷

댓글을 달아 주세요

osx 에서 리눅스 터미널 접속시 아래와 같은 에러가 날때.

 

ellord@192.168.0.10's password: 
Last login: Tue Sep  1 17:24:58 2020 from 192.168.0.1
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

 

맥의 ssh config를 아래와 같이 변경한다.

 

ellords-Mac-mini:~ ellord$ sudo vi /etc/ssh/ssh_config
ellords-Mac-mini:~ ellord$ Password:

 

SendEnv LANG LC_* 부분을 찾아서 아래와 같이 주석 처리해 준다.

Host *
        SendEnv LANG LC_*

이부분을 아래처럼

Host *
#        SendEnv LANG LC_*

저장하고 빠져나온다.

 

끝.

블로그 이미지

엘로드넷

댓글을 달아 주세요

1. 오라클 사이트에서 다운로드

 

http://www.oracle.com/java/technologies/javase7-archive-downloads.html 

 

jdk-7u80-linux-x64.tar.gz 를 다운받는다.

 

 

2. 서버에 업로드

 

3. 압축을 푼다.

 

[root@localhost ellord]# tar xvfz jdk-7u80-linux-x64.tar.gz 

 

 

4. 압축이 풀린 폴더를 /usr/local 로 이동시켜 준다.

 

[root@localhost ellord]# mv jdk1.7.0_80/ /usr/local/

 

5. 심볼릭 링크를 만든다. java여러 버전을 관리하기 위해서.

 

[root@localhost local]# ln -s jdk1.7.0_80/ ./java

아래와 같이 java 심볼릭 링크가 생성되었다.

 

[root@localhost local]# ll
total 0
drwxr-xr-x. 2 root root   6 Apr 11  2018 bin
drwxr-xr-x. 2 root root   6 Apr 11  2018 etc
drwxr-xr-x. 2 root root   6 Apr 11  2018 games
drwxr-xr-x. 2 root root   6 Apr 11  2018 include
lrwxrwxrwx. 1 root root  12 Sep  1 15:48 java -> jdk1.7.0_80/
drwxr-xr-x. 8   10  143 233 Apr 11  2015 jdk1.7.0_80
drwxr-xr-x. 2 root root   6 Apr 11  2018 lib
drwxr-xr-x. 2 root root   6 Apr 11  2018 lib64
drwxr-xr-x. 2 root root   6 Apr 11  2018 libexec
drwxr-xr-x. 2 root root   6 Apr 11  2018 sbin
drwxr-xr-x. 5 root root  49 Aug 31 16:53 share
drwxr-xr-x. 2 root root   6 Apr 11  2018 src
[root@localhost local]# 

 

6. 현재 자바 버전을 확인해 본다.

 

[root@localhost local]# java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
[root@localhost local]# 

openjdk 1.8이 설치되어 있다.

 

방금 설치한 jdk1.7로 변경하려고 한다.

 

7. alternatives 심볼릭 링크 생성

[root@localhost local]# alternatives --install /usr/bin/java java /usr/local/java/bin/java 2
[root@localhost local]# alternatives --install /usr/bin/java javac /usr/local/java/bin/javac 2
[root@localhost local]# alternatives --install /usr/bin/java javaws /usr/local/java/bin/javaws 2
[root@localhost local]# 
[root@localhost local]# alternatives --set java /usr/local/java/bin/java
[root@localhost local]# alternatives --set javac /usr/local/java/bin/javac
[root@localhost local]# alternatives --set javaws /usr/local/java/bin/javaws
[root@localhost local]# 

 

8. 심볼릭 링크 확인

[root@localhost local]# alternatives --config java

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*  1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64/jre/bin/java)
 + 2           /usr/local/java/bin/java

Enter to keep the current selection[+], or type selection number: 2

2번에 등록된 것 확인할 수 있다. 

2를 입력하고 엔터.

 

확인해 본다.

[root@localhost local]# java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
[root@localhost local]# 

변경이 잘 되었다.

 

 

 

 

 

 

 

 

 

 

 

 

 

블로그 이미지

엘로드넷

댓글을 달아 주세요

<?php


    $string = "123456"
    $salt = "1111";
    $scretKey = "mypass";
    
    $hash = hash("sha512", $salt.$string.$secretKey);
    
?>

salt 와  secret key 가 포함된 단방향 함수임.

 

위 해쉬값은 다음과 같이 나온다.(128자리임)

 

d6cbd1c1a3e603118b70964efbfcb062de3a2f96439cefc5f78bbce6c92870c4fafc20196e125eaba9458d4a4b32cb5efbc10c651ead43698e3173fcde8d490b

 

 

 

 

블로그 이미지

엘로드넷

댓글을 달아 주세요

같은 서버내의 서로 다른 계정끼리 폴더를 공유하는 방법이다.

 

 

공유할 폴더 : /home/testuser/공유폴더

공유할 사용자 : testuser1, testuser2

 

이후부터는 root로 작업한다.

 

 

1. 그룹을 만든다

 

# groupadd mygroup

 

2. 새로 만든 그룹에 속할 계정을 지정해 준다.(계정은 미리 만들어져 있어야 함)

 

# usermod -a -G mygroup testuser1
# usermod -a -G mygroup testuser2

 

-a : 그룹에 추가

-G : 다음에 그룹명 지정

mygroup : 그룹명

testuser1, testuser2 : 사용자계정

 

 

3. 그룹을 확인해 본다.

# cat /etc/group
mygroup:x:1011:testuser1,testuser2

group 파일의 하단에 위와 같이 그룹이 지정된 것을 확인할 수 있다.

 

 

 

4. 공유폴더의 그룹명을 변경해 준다.

 

# chgrp -R mygroup /home/testuser/공유폴더
# chmod -R 2775 /home/testuser/공유폴더

 

2 : 새롭게 생성되는 하위 폴더에 같은 그룹을 지정해주는 옵션

7 : 소유자에게 rwx(4+2+1) 권한 주기

7 : 그룹에게 rwx(4+2+1) 권한 주기

5 : 타인에게 rx(4+1) 권한 주기

 

 

5. 새로운 사용자를 생성하면서 이 그룹에 추가하려면 아래와 같이 하면 된다.

# useradd -m -c "Test User3" -s/bin/bash -G mygroup testuser3

 

공유설정은 끝났다.

 

 

6.

testuser1 계정으로 로그인해서 심볼릭링크를 걸어보자.

 

# ln -s /home/testuser/공유폴더 ./공유폴더

 

공유폴더 링크가 생성되었다.

ftp로 접속을 하면 폴더가 보인다.

 

그런데 접근이 안된다.

 

vsftpd설정에서 chroot_list 옵션을 사용중이어서 상위폴더로 접근이 금지되어 있기 때문이다.

 

 

7. 다음과 같이 해보자

 

심볼릭링크를 삭제한다.

 

그리고 아래와 같이 폴더를 생성한다.

 

# mkdir 공유폴더

 

아래와 같이 원본공유 폴더를 새로 생성한 공유폴더에 마운트 한다.

 

# mount --bind /home/testuser/공유폴더 ./공유폴더

 

 

원본 공유폴더에 777권한을 준다.

# chmod 777 /home/testuser/공유폴더

 

테스트를 해본다.

testuser1, testuser2 등 각기 다른 다른 사용자로 접속하여 파일을 생성하고 삭제해 본다.

정상적으로 작동한다.

 

 

 

*추가

 

재부팅하면 mount 가 해제되므로 다시 설정해야 함.

해당 폴더에 쓰기가 안된다면 selinux 를 아래와 같이 변경

 

# setsebool -P allow_ftpd_full_access 1

 

 

끝.

 

 

 

 

블로그 이미지

엘로드넷

댓글을 달아 주세요

시작프로그램 내역확인. 

[root@localhost ~]# chkconfig --list

알림: 이 출력 결과에서는 SysV 서비스만을 보여주며 기존의 systemd 서비스는 
포함되어 있지 않습니다. SysV 설정 데이터는 기존의 systemd  설정에 의해 
덮어쓰여질 수 있습니다. 

      'systemctl list-unit-files'를 사용하여 systemd 서비스를 나열하실 수 있습니다.
       특정 대상에 활성화된 서비스를 확인하려면
       'systemctl list-dependencies [target]'을 사용하십시오.

[root@localhost ~]# 

안된다.

 

systemctl 명령어를 사용하라고 한다.

[root@localhost ~]# systemctl list-unit-files | grep mariadb
mariadb.service                            disabled 
mariadb@.service                           disabled 
[root@localhost ~]# 

 

 

시작프로그램 등록

[root@localhost ~]# systemctl enable mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.
[root@localhost ~]# 

 

등록확인

 

[root@localhost ~]# systemctl list-unit-files | grep mariadb
mariadb.service                            enabled  
mariadb@.service                           disabled 
[root@localhost ~]# 

 

시작프로그램에서 해제할 때엔

 

systemctl disable mariadb 로 하면 된다.

 

 

 

끝.

블로그 이미지

엘로드넷

댓글을 달아 주세요