httpd-vhosts.conf 파일 수정

vi /home/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
	생략 .. 
    <IfModule mod_rewrite.c>
       RewriteEngine On
       RewriteCond %{HTTPS} off
       RewriteCond %{REMOTE_ADDR}  !127.0.0.1
       RewriteCond %{REQUEST_URI} !^/intro.html$ [NC]
       RewriteRule .* /intro.html [R,L]
    </IfModule>
	생략 .. 
</VirtualHost>

http://www.test.co.kr/page/1.jsp 

 

REMOTE_ADDR : 클라이언트 접속 아이피 

REQUEST_URI : page/1.jsp

 

 

 

scp(Secure Copy) 명령어

scp는 서로 다른 서버가 네트워크가 연결되어 있는 상태에서 원격으로 파일을 전송을 할 수 있는 명령어입니다. 

 

로컬에서 원격지에 있는 파일을 가져오거나, 원격지에서 로컬로 파일을 가져오는데 사용합니다. 

 

1. 연격지에서 로컬로 파일 보내기

scp [옵션] [원본 위치] [로컬계정@IP:파일생성 위치]

 

예)

# scp -P 8000 /home/text1.txt root@111.111.111.111:/home/text2.txt

 

서로 서버간의 통신은 8000포트를 사용하면서 /home/text1.txt. 파일을 111.111.111.111 서버에 있는 /home 디렉토리 아래 text2.txt 파일로 복사를 한다. 

 

2. 로컬에서 원격지에 있는 파일 가져오기

scp [옵션] [원격지계정@IP:가져올 파일 위치] [파일생성 위치]

 

예)

# scp -P 8000 root@111.111.111.111:/home/text1.txt /home/text2.txt

서로 서버간의 통신은 8000포트를 사용하면서 111.111.111.111서버에 /home디렉토리 아래에 text1.txt 파일을 /home 디렉토리 아래 text2.txt 파일로 복사를 한다. 

3.옵션

옵션 설명
-r 디렉토리를 전체 복사
-P(대문자) 지정된 포트로 연결(기본 22번)
-p(소문자) 복사될 대상의 권한, 속성 등 그대로 유지
-c 압축해서 복사
-v 실행과정 출력

 

vi 에디터

리눅스 환경에서 파일을 수정을 할 때 사용하는 에디터는 주로 vi 나 vim을 사용합니다.

이 에디터는 처음 사용자에게는 필요로 하는 명령어가 많아 조작하기 힘듭니다.

 

# vi file

 

file 에 자신이 열고자 하는 파일을 입력하면 됩니다.

현재 디렉토리에 없는 파일을 입력시 입력된 파일명의 이름으로 새파일 글쓰기가 됩니다(저장시 파일 생성).

 

에디터에서 "입력모드", "명령모드", "ex모드"를 번갈아 가며, 활용이 가능합니다.

1. 입력

 입력 키

설명 

 i

 커서가 있는 곳에서 입력모드 전환(삽입)

 R

 커서가 있는 곳에서 입력모드 전환(덮어쓰기)

 I

 커서가 있는 행에 맨 왼쪽에서 입력모드 전환

 A

 커서가 있는 행에 맨 오른쪽에서 입력모드 전환

 

2. 삭제

 입력 키

설명 

 x

커서가 위치한 문자 삭제 

 dd

 커서가 위치한 행 삭제

 10dd

 커서가 위치한 행 부터 아래로 10행 까지 삭제

 D

 커서가 위치한 행에서 커서 뒤로 문자 전부 삭제

 

3. 커서이동

 입력 키

설명 

 방향키(↑,→,↓,←)

 커서를 위치한 곳부터 한칸씩 이동시킴

 %

커서가 { } 또는 ( ) 위치에서 입력시 짝이 있는곳으로 이동시킴

 H

현재 보이는 화면에서 커서를 맨 위로 이동시킴 

 M

 현재 보이는 화면에서 커서를 중앙으로 이동시킴

 L

 현재 보이는 화면에서 커서를 맨 아래로 이동시킴

 ^

 커서가 위치한 행에 맨 앞으로 이동

 $

 커서가 위치한 행에 맨 뒤로 이동

 

4. 화면이동

 입력 키

설명 

ctrl + f

화면 아래에 있는 다음 페이지를 보여줌

ctrl + b

화면 위에 있는 이전 페이지를 보여줌 

 ctrl + e

 화면 아래에 있는 한줄을 보여줌

ctrl +  y

화면 위에 있는 한줄을 보여줌

 

5. 복사 붙여넣기

 입력 키

설명 

 yy

커서가 위치해 있는 행을 버퍼에 저장 

 10yy

 커서가 위치해 있는 행부터 10행까지 버퍼에 저장

 p

 버퍼에 저장된 내용을 커서 뒤로 붙여넣음

 

6. 문자열 찾기

 입력 키

설명 

 /문자열

 파일에 "문자열"이 있는 곳으로 커서 이동

n

커서에서 부터 다음 찾기 

 N

 커서에서 부터 이전 찾기

 :라인 수

해당 라인수로 커서를 이동시킴 

 

7. 저장

 입력 키

설명 

 :w

저장 

 :q

 저장하지 않고 종료

 :q!

저장하기 않고 강제종료 

 

 

8. 기타

 입력 키

설명 

 :set number

파일에 라인 수를 표시함 

 :set nonumber

파일에 라인 수가 표시된걸 지움 

 

 

 

자주 사용하는 단축키는 빨간색으로 표시를 해두었습니다.

 

 

리눅스 WC 명령어 활용

wc명령어는 파일이나 출력되는 택스트에 단어, 문자열, 행 등 수를 파악할때 유용할게 사용할 수 있는 명령어 입니다.

 

사용 방법

[localhost:/home/web]# wc index.jsp
275     864   10123 index.jsp

 

아무 옵션없이 wc 명령어로 index.jsp 파일을 검색을 해보면 275, 864, 10123 숫자만 나옵니다.

이 숫자를 해석을 하면 아래와 같습니다.

 

행 : 275 

단어 : 864

바이트 : 10123

 

wc 명령어는 그냥 사용을 하기보다는 옵션을 사용해 활용을 많이 합니다.

 

wc 옵션

 l

행 수

 w

단어 수

 c

바이트 수

 m

문자 수

 

wc명령어 응용

1. 디렉토리 안에 파일 개수를 빠르게 카운트 하는법

 

[localhost:/home/web]# ls /home/web | wc -w

 7

 

 

2. 파일 내부에 특정 문자 또는 문자열이 몇개가 있는지 카운트 하는법

 

[localhost:/home/web]# cat index.jsp | grep 'index' | wc -l
       5 

 

옵션을 사용해 파일 내부에 특정 단어가 들어가 있는 수를 파악하기 위해서는 위와 같이 사용을 하면 된다.

index.jsp 파일 내부에 "index"가 들어가는 라인의 수는 5줄이다.

 

문제 사항 : 한 라인에 특정 단어가 2개 이상이 있으면 라인이 1개로 출력이 되기 때문에 정확한 카운트가 되지 않는다.

 

TOMCAT JSP 컴파일 파일 위치 찾기

홈페이지를 유지보수를 진행하다가 보면 JSP파일을 수정을 했는데 수정된 내용이 변경이 안되고 수정 전에 있던 소스가 출력되는 경우가 있습니다. 
이럴때는 JSP 컴파일 파일을 백업을 하고 해당 class 및 java 파일은 삭제를해 페이지가 호출이 된 후 파일이 생성이 확인을 해 컴파일이 정상적으로 동작을 하는지 확인은 가능합니다. 

JSP 컴파일 위치를 알아야 테스트 작업 진행을 할 수가 있습니다. 

기본 위치 :  <TOMCAT HOME>/work/Catalina/<HOST NAME>/_/org/apache/jsp

 

 

1. TOMCAT HOME

현재 실행되고 있는 TOMCAT의 프로세스를 살펴보면 정보가 나온다.

이 정보에서 전부는 필요없는 경로가 나와있는 Dcatalina.base, Dcatalina.home 변수값을 보도록 합니다.

 

 [root@test conf]# ps -ef | grep tomcat

root      2271     1  2  2018 ?        1-14:27:53 /home/server/jdk1.6.0_45/bin/java

 

 -Djava.util.logging.config.file=/home/server/tomcat/conf/logging.properties
-Djava.endorsed.dirs=/home/server/tomcat/endorsed
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.awt.headless=true -Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
-Djava.endorsed.dirs=/home/server/tomcat/endorsed -classpath :/home/server/tomcat/bin/bootstrap.jar
-Dcatalina.base=/home/server/tomcat
-Dcatalina.home=/home/server/tomcat
-Djava.io.tmpdir=/home/server/tomcat/temp org.apache.catalina.startup.Bootstrap start

 

2. server.xml 파일 조회

server.xml은 TOMCAT의 메인 설정파일입니다.

먼저 이 설정파일을 열어보고 컴파일 경로는 아래 설명하겠습니다.

 

 [root@rfctest conf]# cat server.xml

 

<Server port="8005" shutdown="SHUTDOWN">

 ...
  <Service name="Catalina">

  ...
    <Engine name="Catalina" defaultHost="localhost">

    ...
      <Host name="localhost" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" 
workDir="/home/web/compile">
      </Host> 

     ...
    </Engine>

   ...
  </Service>

 ...
</Server>

 

이 설정파일을 열어봐서 Host 쪽에 보게되면은 "name", "workDir" 2개 값이 있는데

name은 HOST NAME 입니다.

workDir은 설정이 되어 있는 설정도 있고, 값이 없을 수도 있습니다.

 

1. workDir path가 설정이 되어 있다고 하면 jsp파일 컴파일 경로는 "/home/web/compile"이 되겠습니다.

2. workDir path가 설정이 되어 있지 않으면 기본설정에 따라서 "/home/server/tomcat/work/Catalina/localhost/_/org/apache/jsp"이 됩니다.

 

workDir에 따라서 기본 경로로 설정이 될수도 있고 아닐수도 있으니 헷갈리는 일이 없도록 합니다

'서버 > WAS' 카테고리의 다른 글

개발노트 :: 제우스(JEUS) JSP 컴파일 파일 위치 찾기  (0) 2019.02.26

JEUS JSP 컴파일 파일 위치 찾기

홈페이지를 유지보수를 진행하다가 보면 JSP파일을 수정을 했는데 수정된 내용이 변경이 안되고 수정 전에 있던 소스가 출력되는 경우가 있습니다. 
이럴때는 JSP 컴파일 파일을 백업을 하고 해당 class 및 java 파일은 삭제를해 페이지가 호출이 된 후 파일이 생성이 확인을 해 컴파일이 정상적으로 동작을 하는지 확인은 가능합니다. 

JSP 컴파일 위치를 알아야 테스트 작업 진행을 할 수가 있습니다. 

위치 :  <JEUS HOME>/config/<HOST NAME>/<HOST NAME>_<ENGINE TYPE>_<ENGINE NAME>/WEBMain.xml

JEUS JSP 컴파일 파일 위치를 찾기 위해서는 먼저 찾아 볼게 몇가지가 존재한다. 

 

JEUS HOME

 HOST NAME

 ENGINE TYPE

 ENGINE NAME


이상 4개 값을 먼저 찾아보도록 하자


1. JEUS HOME

jeushome은 jeus가 실행되고 있는 프로세스를 보고 위치를 확인한다. 
또는 
환경변수가 설정이 되어 있다고 하면 echo $JEUS_HOME를 통해 확인합니다. 

 [was1:/]# ps -ef | grep jeus

tmax 13211     1   0 21:01:52 ?           0:00 /bin/sh /home/jeus/bin/jeus -xml -Uschadmin -Pjeus#39698!


2. HOST NAME

homename은 간단한 명령어로 통해 확인이 가능하다. 

 [was1:/]# hostname

was1


3. ENGINE TYPE 및 ENGINE NAME

ENGINE TYPE 및 ENGINE NAME를 확인하기 위해서는 jeus 설정파일(JEUSMain.xml)을 확인 해야합니다. 
JEUSMain.xml 위치 
/JEUS_HOME/config/HOST_NAME/HOST_NAME/JEUSMain.xml

 [was1:/]# cd /home/jeus/config/was1/

 [was1:/home/jeus/config/was1/]# cat JEUSMain.xml


...

 <engine-container>

     <name>container1</name>

...

     <engine-command>

         <type>servlet</type>

         <name>engine1</name>

     </engine-command>

...

 </engine-container>

...

 <engine-container>

     <name>container2</name>

...

     <engine-command>

         <type>servlet</type>

         <name>engine1</name>

     </engine-command>

...

 </engine-container>

...


이처럼 container는 여러개가 설정되어 있을 수도 있으니 참고해 주세요.

type은 servlet, ejb, jms  3개중 하나로 선택이 가능하다. 


4. JSP 컴파일 PSTH 찾기 

최종적으로 이제 경로를 모두 구했으니 WEBMain.xml 파일에 들어가 JSP 컴파일 위치를 찾도록 해보자 


 [was1:/]#  /home/jeus/config/was1/was1_servlet_engine1/

 [was1: /home/jeus/config/was1/was1_servlet_engine1/]# cat WEBMain.xml


...

 <context-group>

        ...

 <jsp-engine>

 <jsp-work-dir>/home/web/jspwork</jsp-work-dir>

 <check-included-jspfile>true</check-included-jspfile>

 </jsp-engine>

        ...

 </context-group>

...


WEBMain.xml 파일에서 <jsp-work-dir> /home/web/jspwork/ </jsp-work-dir> 컴파일 위치를 확인 할 수 있습니다. 

결론 jsp파일 컴파일 경로는  /home/web/jspwork/ 여기이다!

 

'서버 > WAS' 카테고리의 다른 글

개발노트 :: 톰캣(TOMCAT) JSP 컴파일 파일 위치 찾기  (0) 2019.02.27

리눅스 MySQL 5.5버전 이상 소스 설치(CMAKE)

1. 필요 패키지 다운로드

1-1 CMAKE

CMAKE 공식 홈페이지 : https://cmake.org/download/

 


1-2 BOOST

https://sourceforge.net/projects/boost/files/boost/

 



1-3 MySQL5.7

MySQL 공식 홈페이지 : https://dev.mysql.com/downloads/mysql/5.7.html#downloads

 


2. 필요 패키지 설치

2-1 CMAKE

 cd /home/server/

 tar -zxvf cmake-3.6.1.tar


 cd cmake-3.6.1

 ./bootstrap  

 make

 make install


2-2 BOOST

 cd /home/server/

 tar -zxvf boost_1_59_0.tar


 cd boot_1_59_0

 ./boots

 ./b2 install


3. MySQL 압축 해제

 cd /home/server/

 tar -zxvf mysql-5.7.24.tar


4. CMAKE 실행

 cd /home/server/mysql-5.7.24

 

 cmake 

-DCMAKE_INSTALL_PREFIX=/home/server/mysql5.7 \

-DWITH_EXTRA_CHARSETS=all \

-DMYSQL_DATADIR=/home/server/mysql5.7/data \

-DENABLED_LOCAL_INFILE=1 \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=../boost_1_59_0 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

-DSYSCONFDIR=/etc \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS=all


5. make install

 cd /home/server/mysql-5.7.24

 make

 make install


6. 권한 부여

 chown -R mysql.mysql /home/server/mysql-5.7


7. MySQL 초기 세팅 및 임시비밀번호 확인

 cd  /home/server/mysql-5.7/bin

 ./mysqld --initialize --user=mysql --basedir=/home/server/mysql-5.7/ --datadir=/home/server/mysql-5.7/data


2018-12-27T07:56:27.913833Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2018-12-27T07:56:29.196662Z 0 [Warning] InnoDB: New log files created, LSN=45790

2018-12-27T07:56:29.520164Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2018-12-27T07:56:29.699679Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: eb3a375b-09ac-11e9-8094-782bcb0552a8.

2018-12-27T07:56:29.747774Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

2018-12-27T07:56:29.759912Z 1 [Note] A temporary password is generated for root@localhost: 2Dnhu6+d;)HU < 임시비밀번호 


OR 


cat /var/log/mysqld.log | grep 'temporary password'

2018-12-27T07:56:29.759912Z 1 [Note] A temporary password is generated for root@localhost: 2Dnhu6+d;)HU < 임시비밀번호 


8. 설정파일 수정

 cd /etc/

 vi my.cnf

[mysqld]

datadir=/home/server/mysql-5.7/data

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0


[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid


 cd /home/server/mysql-5.7/support-files

 vi mysql.server


 ...

 basedir=/home/server/mysql-5.7

 datadir=/home/server/mysql-5.7/data

 ...



 cp /home/server/mysql-5.7/support-files/mysql.server /etc/init.d/mysqld

 chmod 755 /etc/init.d/mysql.d 


9. 접속 및 초기 비밀번호 설정

 cd /etc/init.d

 ./mysqld start


 cd /home/server/mysql-5.7/bin

 ./mysql  -u root -p

 SET PASSWORD = PASSWORD('your_new_password');



10. 에러 모음

10-1. 서비스 실행 중 mysql.soct 파일 없을 시

  cd /etc/init.d

 ./mysqld start

Starting MySQL.2018-12-27T08:02:26.158618Z mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.

The server quit without updating PID file (/home/server/mys[실패]/data/pushtest2.pid).


cd /var/lib 

 mkdir mysql 

 chown mysql:mysql mysql


 cp /etc/init.d

 ./mysqld start --skip-grant-tables &

 /var/mysql/mysql.soct 파일 생성 확인 


 ./mysqld start 재시작(파일이 생성되어 있으면)

 



리눅스 아파치 톰캣(apache-tomcat) 설치

1. 기존 설치 버전 확인

 cd /home/server/tomcat/lib

 java -cp catalina.jar org.apache.catalina.util.ServerInfo

 

2. apache-tomcat 다운로드

 https://tomcat.apache.org/download-70.cgi < Core tar.gz 파일 설치

 

3. 초기설정 파일 수정

3-1. 포트 설정

cd /home/server/tomcat7/conf

vi server.xml

<!-- 76번쯤 -->

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

 

3-2. 도큐먼트 루트 패스 변경

cd /home/server/tomcat7/conf

vi server.xml

<!-- 125번쯤 -->

<Host name="localhost" autoDeploy="true" unpackWARs="true" debug="0" >
 <Context path="" docBase="/home/web/webContent" reloadable="true" allowLinking="true" /> 
 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs“  prefix="localhost_access_log" suffix=".txt“ pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

+ Recent posts