반응형

 

PostgreSQL에서 아래와 같이 LIKE를 사용하여 검색을 하면 대소문자 구분을 하여, 결과를 가져오지 못하는 경우

SELECT * FROM notice WHERE title LIKE '%test%'

 

LIKE 대신 ILIKE 를 사용하면 된다.

SELECT * FROM notice WHERE title ILIKE '%test%'

 

반응형

'DB > PostgreSQL' 카테고리의 다른 글

[linux] PostGIS 3.4 설치  (0) 2024.06.18
[linux] PostgreSQL 15.1 설치 (Source)  (0) 2024.05.31
[linux] PostgreSQL 삭제 방법  (0) 2024.05.30
반응형

아파치와 톰캣을 tomcat connecotr를 통해서 연동하는 방법

 

- 필수 설치 패키지

autoconf libtool httpd-devel

 

- tomcat connector 다운로드

tomcat-connectors-1.2.49-src.tar.gz

https://tomcat.apache.org/download-connectors.cgi

 

Apache Tomcat® - Tomcat Connectors (mod_jk) Downloads

You must verify the integrity of the downloaded files. We provide OpenPGP signatures for every release file. This signature should be matched against the KEYS file which contains the OpenPGP keys of Tomcat's Release Managers. We also provide SHA512 checksu

tomcat.apache.org

 

-  tomcat connector 압축 풀기 및 설치

(apxs는 필수 설치된 아파치의 bin 폴더 안에 apxs가 존재

여기서는 /home/user/web/apache/bin/apxs 경로에 위치함)

tar -zxvf tomcat-connectors-1.2.49-src.tar.gz
cd ./tomcat-connectors-1.2.49-src/native
./configure --with-apxs=/home/user/web/apache/bin/apxs
make
make install

 

- mod_jk 모듈 권한 변경

(보통 755 권한으로 되어있는 것 같음)

cd /home/user/web/apache/modules/
chmod 755 ./mod_jk.so

 

- httpd.conf 파일 수정

vi /home/user/web/apache/conf/httpd.conf

 

-- LoadModule로 검색 후 하단에 추가

LoadModule jk_module modules/mod_jk.so

 

-- Include로 검색 후 하단에 추가

# mod_jk Connector
Include conf/extra/httpd-modjk.conf

 

- workers.properties 파일 생성

(여기서는 instance를 2개로 분리했기 때문에 2개

아래 내용 참고하여 더 생성하거나 삭제)

vi /home/user/web/apache/conf/extra/workers.properties
worker.list=worker1, worker2

worker.worker1.port=8009
worker.worker1.host=localhost
worker.wokrer1.type=ajp13

worker.worker2.port=8019
worker.worker2.host=localhost
worker.wokrer2.type=ajp13

 

-- workers.properties 권한 변경

chmod 755 ./workers.properties

 

- mod_jk conf 파일 생성

vi /home/user/web/apache/conf/extra/httpd-modjk.conf
<IfModule jk_module>
	JkWorkersFile conf/extra/workers.properties
	JkShmFile logs/mod_jk.shm
	JkLogFile logs/mod_jk.log
	JkLogLevel info
	JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

	#JkMount
	JkMount /* worker1
	JkMount /test/* worker2
</IfModule>

 

-- mod_jk conf 권한 변경

chmod 755 ./httpd-modjk.conf

 

- 톰캣 server.xml 수정

아래 부분 주석 제거

<!--
    <Connector protocol="AJP/1.3"
               address="::1"
               port="8009"
               redirectPort="8443"
               maxParameterCount="1000"
               />
    -->

 

Secret Key가 없기 때문에 secretRequired="false" 추가

	<Connector protocol="AJP/1.3"
               address="::1" secretRequired="false"
               port="8009"
               redirectPort="8443"
               maxParameterCount="1000"
               />

 

* 추가 인스턴스가 있는경우

workers.properties 파일에서 지정한 8019 포트로

인스턴스 경로의 server.xml 변경하여 적용

 

* 톰캣 재가동 후 80 포트로 접속시 8080 포트의 톰캣 화면이 나오면 완료

반응형
반응형

톰캣은 설치되어있는 상태에서 톰캣 인스턴스를 여러개 만드는 방법

여기에서느 톰캣은 /home/user/was 경로에 설치가 되어있음.

 

- instance 생성 및 (conf,logs,temp,webapps,work) 필요 파일 복사

-- 인스턴스를 관리하기 위한 apps라는 경로 생성 후 기존 설치된 톰캣의 경로에서 필요한 부분 복사

cd /home/user/was

mkdir apps
cd ./apps

mkdir instance1
cp -r /home/user/was/tomcat/conf /home/user/was/apps/instance1
cp -r /home/user/was/tomcat/logs /home/user/was/apps/instance1
cp -r /home/user/was/tomcat/temp /home/user/was/apps/instance1
cp -r /home/user/was/tomcat/webapps /home/user/was/apps/instance1
cp -r /home/user/was/tomcat/work /home/user/was/apps/instance1

 

- server.xml 수정

vi /home/user/was/apps/instance1/conf/server.xml

 

- 아래 부분을 찾아서 포트 번호 변경

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

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />


<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector protocol="AJP/1.3"
               address="::1"
               port="8009"
               redirectPort="8443"
               maxParameterCount="1000"
               />

 

- 실행 스크립트

-- 시작 스크립트 생성

vi instance1_startup.sh
#!/bin/sh
CATALINA_BASE=/home/user/was/apps/instance1

CATALINA_OPTS="-Denv.servername=instance1"

TOMCAT_HOME=/home/user/was/tomcat

export CATALINA_BASE CATALINA_OPTS TOMCAT_HOME

cd $TOMCAT_HOME/bin

./startup.sh

 

-- 종료 스크립스 생성

vi instance1_shutdown.sh
#!/bin/sh
CATALINA_BASE=/home/user/was/apps/instance1

CATALINA_OPTS="-Denv.servername=instance1"

TOMCAT_HOME=/home/user/was/tomcat

export CATALINA_BASE CATALINA_OPTS TOMCAT_HOME

cd $TOMCAT_HOME/bin

./shutdown.sh

 

-- 스크립트 권한 변경

chmod 755 instance1_startup.sh
chmod 755 instance1_shutdown.sh

 

*추가 인스턴스를 생성시에는 위의 과정을 반복 또는 생성된 instance를 복사 후 수정

반응형
반응형

PostgreSQL에  PostGIS 3.4 설치

Rocky Linux 9

 

PostGIS 3.4 기준 아래의 링크를 확인하면, 

PostgreSQL 12 ~ 16  버전의 경우 필수 패키지 버전 확인이 가능하다.

https://postgis.net/docs/manual-3.4/postgis_installation.html

 

Chapter 2. PostGIS Installation

2.2. Compiling and Install from Source Many OS systems now include pre-built packages for PostgreSQL/PostGIS. In many cases compilation is only necessary if you want the most bleeding edge versions or you are a package maintainer. This section includes ge

postgis.net

 

필수 패키지 버전을 참고하여, 아래의 링크에서 다운로드

proj 6.1 이상 https://proj.org/ (proj-9.4.0)
GEOS 3.6 이상 https://libgeos.org (geos-3.12.1)
GDAL 3 https://gdal.org/download.html (gdal-3.4.3)
JSON-C 0.9이상 https://github.com/json-c/json-c/releases/ (json-c-0.15)
LibXML2 2.5 이상  https://gitlab.gnome.org/GNOME/libxml2/-/releases (2.12.1)

#아래의 패키지는 필수라고 나와있으나, 설치 링크 연결도 안되고 없어도 설치가 되는 것 확인
PostgreSQL+JIT, LLVM 6이상 https://trac.osgeo.org/postgis/ticket/4125 (설치 안함 - 링크 연결안됨)

 

 

 

- SQLite 버전 업데이트 (PROJ9.4 설치시 sqlite 3.11 버전 이상 필요)

SQLite 버전이 3.11보다 높은경우 다음 단계로 넘어가도록 하자

#SQLite 버전 확인 명령어
sqlite3 --version

 

-- sqlite tar 압축해제 및 설치 (https://www.sqlite.org/download.html)

tar -xvf sqlite-autoconf-3450300.tar.gz
cd ./sqlite-autoconf-3450300
./configure 
make
make install
sqlite3 --version

 

-- 환경변수 설정(버전확인시 기존 설치 버전으로 나오기때문에 필요)

vi /etc/profile

export LD_LIBRARY_PATH=/usr/local/lib

source /etc/profile

 

-- SQLite 버전 확인하여 아래와 같은 버전으로 나오면 완료

sqlite3 --version
3.45.3 2024-04-15 13:34:05

 

 

 

 

- CMake 설치 (PROJ9.4 설치시 cmake 명령어 필요)

CMake가 설치되어 있다면, 다음 단계로 넘어가도록 하자

#cmake 버전 확인 명령어
cmake --version

 

-- cmake tar 압축해제 및 설치 (https://cmake.org/download/)

tar -xvf cmake-3.29.3.tar.gz
cd ./cmake-3.29.3
./bootstrap --prefix=/usr/local
make
make install

cmake --version

 

 

- PROJ 설치

-- proj tar 압축해제 및 설치 (https://proj.org/en/9.4/download.html)(https://proj.org/en/9.4/install.html)

tar -xvf proj-9.4.0.tar.gz
cd ./proj-9.4.0
mkdir ./build
cd ./build
#외부인터넷이 안되는 환경이므로 BUILD_TESTING=OFF 옵션 적용 
cmake -DBUILD_TESTING=OFF -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ ..
cmake --build .
cmake --build . --target install
#삭제 방법 cmake --build . --target uninstall

 

PROJ 설치 실패로 인한 추가 설치, 아래명령어로 확인후 버전에 맞게 설치

rpm -qa|grep libtiff 
rpm -qa|grep libcurl

 

 

- GEOS 설치

--geos tar 압축해제 및 설치 (https://libgeos.org/usage/download/)

tar -xvf geos-3.12.1.tar.bz2
cd ./geos-3.12.1
mkdir ./_build
cd ./_build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ ..
make
ctest
make install

 

 

- GDAL 설치

-- gdal tar 압축해제 및 설치 (https://gdal.org/download.html / https://gdal.org/development/building_from_source.html)

tar -xvf gdal-3.4.3.tar.gz
cd ./gdal-3.4.3
./configure --with-sqlite3=/usr/local/bin/sqlite3
make
make install

gdalinfo --version

 

 

- JSON-C 설치

-- json-c tar 압축해제 및 설치 (https://s3.amazonaws.com/json-c_releases/releases/index.html)

tar -xvf json-c-0.15.tar.gz
cd ./json-c-0.15
mkdir ./build
cd ./build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..
make
make install

 

 

- LibXML2 설치

-- libxml2가 이미 설치되어있어서, libxml2-devel만 버전에 맞게 설치 

rpm -qa|grep libxml2

 

 

- POSTGIS 설치 

-- postgis  tar -xvzf postgis-3.4.2.tar.gz (https://postgis.net/development/source_code/)

tar -xvzf postgis-3.4.2.tar.gz
cd ./postgis-3.4.2
./configure --with-pgconfig=/home/postgres/pgsql/bin/pg_config --with-raster --without-protobuf --with-jsondir=/usr/local

make
make install

(pg_config 파일은 postgresql 설치 경로에 위치)
(protobuf를 사용하지 않으므로  ' --without-protobuf ' 옵션 사용)

(위에서 json-c 수동 설치 했을경우, ' -DCMAKE_INSTALL_PREFIX=/usr/local ' 옵션을 사용했기때문에

' --with-jsondir=/usr/local '  옵션으로 경로로 잡아줘야 json-c 위치를 찾음)

 

- Extensions 추가 설치

-- POSTGIS

cd extensions/postgis
make clean
make && make install
cd ..

 

-- POSTGIS_TOPOLOGY

cd postgis_topology
make clean
make && make install
반응형
반응형

외부 네트워크가 불가능한 상황에서 Apache를 설치하는 방법

Rocky Linux 9

 

- Apache Source 파일 다운로드

아래의 URL을 접속하여, tar파일을 다운로드

https://httpd.apache.org/download.cgi

 

Download - The Apache HTTP Server Project

Downloading the Apache HTTP Server Use the links below to download the Apache HTTP Server from our download servers. You must verify the integrity of the downloaded files using signatures downloaded from our main distribution directory. The signatures can

httpd.apache.org

 

- 필수 패키지 확인 및 설치
이 부분이 가장 시간이 많이  소요되며, 외부 인터넷이 안되는 불편함을 느끼는 부분

apr
apr-util
gcc
gcc-c++
pcre
pcre-devel
expat
expat-devel
zlib-devel

openssl(ssl 적용시)

 

- 아파치 경로 생성 및 압축 해제

(/home/user 경로안에 생성)

#아파치 설치 경로 생성
cd /home/user
mkdir ./web

#httpd-2.4.54.tar.gz 파일 옮겨놓고 압축해제
cd /home/user/web
tar -zxvf httpd-2.4.54.tar.gz

#심볼릭 링크 생성
ln -s /home/user/web/httpd-2.4.54 apache

 

- apr & apr-util 압축 풀기 및 이동

( apr & apr-util 의 경우 tar파일을 받아 압축해제 후 아파치 경로의 srclib로 이동시켜줘야한다.)

아래의 경로에서 다운받을 수 있다.

https://apr.apache.org/download.cgi

 

Download - The Apache Portable Runtime Project

The currently selected mirror is https://dlcdn.apache.org/. If you encounter a problem with this mirror, please select another mirror. If all mirrors are failing, there are backup mirrors (at the end of the mirrors list) that should be available. You may a

apr.apache.org

#apr & apr-util 압축해제
tar -zxvf apr-1.7.0.tar.gz
tar -zxvf apr-util-1.6.1.tar.gz

#apr & apr-util 이동
mv apr-1.7.0 /home/user/web/apache/srclib/apr 
mv apr-util-1.6.1 /home/user/web/apache/srclib/apr-util

 

 

- gcc & gcc-c++ & pcre & pcre-devel &  expat & expat-devel & zlib-devel 

서버마다 설치되어있는 경우도 있고, OS 버전에 맞게 다운로드 받아서 수동 설치

 

 

- 아파치 설치 (ssl 미적용)

cd /dopco/web/apache
./configure --prefix=/home/user/web/apache --with-included-apr --enable-module=so --enable-mods-shared=all --enable-so --enable-deflate --enable-rewrite
make
make install

 

경우에 따라서 아래의 아파치 설치 옵션 참고

https://httpd.apache.org/docs/2.4/programs/configure.html#installationdirectories

 

configure - 소스 트리를 구성한다 - Apache HTTP Server Version 2.4

configure - 소스 트리를 구성한다 이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요. configure 스크립트는 특정 플래폼에서 아파치 웹서버를 컴파일하고 설치하기

httpd.apache.org

 

 

-http.conf 파일 수정

vi /home/user/web/apache/conf/http.conf

#ServerName 검색 후 주석처리 해제
ServerName localhost:80

 

 

- 아파치 실행

/home/user/web/apache/bin/apachectl start

 

---------------------- 아래의 내용은 필요한 경우 참조----------------------

 

- 80포트 방화벽 허용

(su - 통해 root 접속 필요)

firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --reload
firewall-cmd --list-ports

 

- apache 실행 권한 부여

(user로 apache 실행이 불가한 경우 su - 통해 root 접속 후 user에 실행권한 부여 필요)

chmod -Rf 755 /home/user/
cd /home/user/web/apache/bin
chown root:user httpd
chmod +s httpd
chown user:user apachectl
반응형
반응형

외부 네트워크가 불가능한 상황에서 PostgreSQL 15를 설치하는 방법

Rocky Linux 9

 

- EPEL 저장소 설치 (https://pkgs.org/download/epel-release)

OS 버전에 맞는 EPEL 을 다운받아 설치해주도록하자

rpm -ivh epel-release-9-7.el9.noarch.rpm

 

 

- PostgreSQL Source 파일 다운로드

아래의 URL을 접속하여, 원하는 버전의 tar파일을 다운로드

( 여기서는 postgresql-15.1.tar.gz  다운로드)

https://www.postgresql.org/ftp/source/

 

PostgreSQL: File Browser

 

www.postgresql.org

 

- 필수 패키지 확인 및 설치

이 부분이 가장 시간이 많이  소요되며, 외부 인터넷이 안되는 불편함을 느끼는 부분

(아래의 링크를 통해 필수 패키지 버전 확인이 가능하다.)

https://www.postgresql.org/docs/15/install-requirements.html

 

17.2. Requirements

17.2. Requirements In general, a modern Unix-compatible platform should be able to run PostgreSQL. The platforms that had received specific testing …

www.postgresql.org

 

rpm -qa|grep 명령어를 사용하여, 기존에 설치되어 있는 패키지 및 버전 확인하여 다운로드하여 설치

(추가로 필요한 패키지가 있는지 모르겠지만, 아래 정도만으로 설치 완료)

rpm -qa|grep glibc
rpm -qa|grep make
rpm -qa|grep gcc
rpm -qa|grep gcc-c++
rpm -qa|grep readline
rpm -qa|grep readline-devel
rpm -qa|grep zlib
rpm -qa|grep zlib-devel
rpm -qa|grep autoconf
rpm -qa|grep openssl
rpm -qa|grep openssl-devel
rpm -qa|grep uuid
rpm -qa|grep gettext
rpm -qa|grep gettext-devel

 

- root 접속

su -

 

- 유저 생성

groupadd postgres
useradd -g postgres -d /home/postgres postgres
passwd postgres
#유저 확인
cat /etc/passwd

#유저 디렉토리 변경
usermod -d /home/postgres postgres

 

- PATH 설정

vi /etc/profile
export PG_HOME=/home/postgres/pgsql
export PATH=$PG_HOME/bin:$PATH
export PGDATA=$PG_HOME/data
export LD_LIBRARY_PATH=$PG_HOME/lib
source /etc/profile

 

- tar 압축 해제 & 설치

https://www.postgresql.org/docs/15/install-procedure.html

 

17.4. Installation Procedure

17.4. Installation Procedure 17.4.1. configure Options 17.4.2. configure Environment Variables Configuration The first step of the installation procedure is to configure …

www.postgresql.org

 

tar -xvf postgresql-15.1.tar.gz
cd postgresql-15.1
./configure --prefix=/home/postgres/pgsql --enable-depend --enable-nls=utf-8 -with-openssl --with-ossp-uuid
make world
make check
make install-docs
make install-world

 

- PostgreSQL 초기화 (initdb)

cd /home/postgres/pgsql
mkdir ./data

cd /home/postgres/pgsql/bin
initdb -E utf-8 -D /home/postgres/pgsql/data

 

- 설정 파일 수정

postgresql.conf

vi /home/postgres/pgsql/data/postgresql.conf

#아래 내용 수정
#listen addresses ='localhost'
->
listen addresses ='*'

 

pg_hba.conf

vi /home/postgres/pgsql/data/pg_hba.conf

#아래 내용 추가
host    all             all             0.0.0.0/0               trust
host    all             all             all                     trust

 

- PostgreSQL 실행

cd /home/postgres/pgsql/bin
pg_ctl start -D /home/postgres/pgsql/data

 

- PostgreSQL 접속

cd /home/postgres/pgsql/bin
psql
\password postgres
\q
반응형
반응형

기존에 설치되어 있던 postgresql 을 삭제 해야하는 경우가 있다.

 

- root 접속

(상황에 따라 sudo 명령어 사용)

su -

 

- postgresql 종료

systemctl stop postgresql-15.service

 

- 서비스 상태 보기

systemctl list-unit-files postgresql*

 

- 서비스 비활성화

systemctl disable postgresql-15

 

- postgresql 홈 경로 삭제

(보통 /var/lib/pgsql 경로에 있으나, 확인 후 삭제)

rm -rf /var/lib/pgsql

 

- postgres 계정 삭제

userdel postgres
groupdel postgres

 

- 설치된 패키지 확인

yum list installed *postgres*

or

rpm -qa|grep postgres

 

- 설치된 패키지 삭제

yum remove *postgres*

or

rpm -e [package명]

 

마지막으로 설치된 패키지 확인시 안보이면 완료

반응형
반응형

 

Intelli J를 통해 Spring boot Gradle 빌드 방법

우측 Gradle 클릭

Tasks - build - bootJar 더블클릭

 

빌드가 완료되면 프로젝트 하위 폴더 build 가 생성되며, 

libs 폴더 안에 jar 파일이 생성되는 것이 확인 가능

 

반응형
반응형

 

spring-boot-devtools

여러가지 기능을 가지고 있지만 아래의 인텔리제이 설정은 Automatic Restart 부분에만 해당.

Automatic Restart : 개발 단계에서 자바 파일이 수정되는 경우 자동으로 어플리케이션을 재시작

 

아래의 사이트에 접속하여 원하는 버전을 추가합니다.

https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools

 

- File -Settings

 

- Advenced Settings - Allow auto-make to start even if developed application is currently running 체크

 

- Build, Execution, Deployment - Compiler - Build project automatically 체크

 

반응형

'SPRING > Intelli J' 카테고리의 다른 글

[Intelli J]Spring boot Gradle Build  (0) 2024.03.21
[Intelli J] JAVA 버전 변경 및 Gradle JVM 변경  (0) 2024.03.20
반응형

- JAVA 버전 변경

File - Project Structure (Ctrl + Alt + Shift + S)

 - Project Settiings - Project - SDK 버전 선택 적용

 

- SDK 가 없는 경우 

 - Platform Settings - SDKs 추가

 

-Gradle JVM 변경

File - Settings (Ctrl + Alt + S)

 - Build Tools -  Gradle - Gradle JVM 변경 

(추가로 Build and run using & Run tests using 값을

Gradle(Default) 가 아닌 IntelliJ IDEA 로 바꾸면 실행 속도가 더 빠르다고함)

반응형

'SPRING > Intelli J' 카테고리의 다른 글

[Intelli J]Spring boot Gradle Build  (0) 2024.03.21
[Intelli J] 인텔리제이 Spring boot Devtools 적용  (0) 2024.03.20

+ Recent posts