2020. 6. 8.

[Network] 네트워크 구성 실습 4. 오라클 DNS 아파치 - 내부 네임서버


30
오라클, DNS, 아파치, PHP - 내부 네임서버
ip 192.168.30.11
subnet 255.255.255.0
gateway 192.168.30.1
아파치 서버 경로 : /app/apache
아파치 : 2.2.34 (httpd-2.2.34.tar.gz)
PHP : 5.6.39 (php-5.6.39.tar.gz)
오라클 서버의 ORACLE_HOME 디렉토리 : /app/ora12c/12c

# 같은 시스템에 설치하는 것이기에 조금 다르다.

*오라클 설치

램을 2기가 이상 스왑은 4기가 이상 줘야한다.
미리 rmp database 파일을 받아둔다.

설치 계정 ora12c ( UID : 1200)
소속 그룹 dab (GID : 1200)
홈디렉토리 /home/ora12c

groupadd -g 1200 dba
useradd -g dba -u 1200 ora12c
passwd asdf1234
mkdir -p /app/ora12c
chown -R ora12c.dba /app
chmod -R 755 /app
ls -al /app

vi /etc/hosts

192.168.30.11 DB12.itclass.co.kr DB12
192.168.30.11 ora12c.itclass.co.kr ora12c

vi /etc/security/limits.conf

# oracle setup
ora12c soft nproc 2047
ora12c hard nproc 16384
ora12c soft nofile 1024
ora12c hard nofile 65536
ora12c soft stack 10240
ora12c hard stack 20480

vi /etc/sysctl.conf

# Oracle12c setup
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.msgmnb = 65536
kernel.msgmni = 2878
kernel.shmmni=4096
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576
fs.file-max=6815744
fs.aio-max-nr=1048576

sysctl -p

# 쳣을때 나와야한다.

kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.msgmnb = 65536
kernel.msgmni = 2878
kernel.shmmni = 4096
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.file-max = 6815744
fs.aio-max-nr = 1048576

yum -y install compat-libcap1
yum -y install compat-libstdc++-33
yum -y install libstdc++-devel
yum -y install gcc
yum -y install gcc-c++
yum -y install ksh
yum -y install libaio-devel

// 오라클 계정으로 로그인한다.

su - ora12c

vi .bash_profile

# oracle setup
export ORACLE_HOSTNAME=DB12.itclass.co.kr
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_OWNER=ora12c
export ORACLE_BASE=/app/ora12c
export ORACLE_HOME=/app/ora12c/12c
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME:/usr/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=DB12
export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export EDITOR=vi
if [ $USER = "ora12c" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

재로그인 확인
su - ora12c

env | grep ORACLE

ORACLE_OWNER=ora12c
ORACLE_SID=DB12
ORACLE_BASE=/app/ora12c
ORACLE_HOSTNAME=DB12.itclass.co.kr
ORACLE_TERM=xterm
ORACLE_HOME=/app/ora12c/12c

step 1 압축 해제

# 퍼미션 권한 다 있어야 한다. 파일 미리 준비할것

mv /home/ora12c/linuxx64_12201_database.zip /app
cd /app
rm -rf database
unzip /app/linuxx64_12201_database.zip
ls /app

step 2 인스톨러 실행

/app/database/runInstaller

DB12.itclass.co.kr
asdf1234

su -
/app/oraInventory/orainstRoot.sh
/app/ora12c/12c/root.sh

*아파치 설치

cd /usr/local/

파일 가져오는 과정 (안정버전)
혹은 ftp 192.168.10.11
kst11 #로그인
get httpd-2.2.34.tar.gz
bye

tar xvfz httpd-2.2.34.tar.gz
#압축을 푼다
cd ./httpd-2.2.34
# 설치된 httpd 하위 디렉토리로 이동
./configure --prefix=/app/apache --enable-so
# --enable-so : 동적 라이브러리 사용 가능하게 해준다.
make
# 컴파일러 소환
make install
# 컴파일해서 설치

#서버 네임을 등록해줘야한다
cp /app/apache/conf/httpd.conf /app/apache/conf/httpd.conf_default
vi  /app/apache/conf/httpd.conf
ServerName localhost

입력해준다.
# Apache 서버 구동
# 항상 아파치는 이렇게 실행해야한다.
/app/apache/bin/apachectl start
#구동확인
같은 네트워크에서 접속해본다
192.168.30.11


*PHP 설치

yum install -y libxml2*
cd /usr/local
tar xvfz php-5.6.39.tar.gz
cd php-5.6.39/
./configure --with-apxs2=/app/apache/bin/apxs --with-oci8=/app/ora12c/12c --enable-sigchild
make
make install
cp php.ini-development /usr/local/lib/php.ini

*Apache, PHP 설정

vi /app/apache/conf/httpd.conf

LoadModule php5_module modules/libphp5.so // 문구 아래 추가 내용을 삽입
AddType application/x-httpd-php .php .html .htm .inc // 추가 내용

vi /usr/local/lib/php.ini

short_open_tag = On
default_charset = "EUC-KR" (or "UTF-8")
include_path=".:/usr/local/lib"
upload_tmp_dir = /tmp
date.timezone = Asia/Seoul
error_reporting = E_ALL & ~E_NOTICE

vi /app/apache/bin/apachectl

export ORACLE_HOSTNAME=DB12.itclass.co.kr
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_OWNER=ora12c
export ORACLE_BASE=/app/ora12c
export ORACLE_HOME=/app/ora12c/12c
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME:/usr/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib::/lib:/usr/lib
export ORACLE_SID=DB12
export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

DocumentRoot 디렉토리의 index.html 파일 수정

vi /app/apache/htdocs/index.html

<?
$server = "oracle";
$user_name = "php";
$password = "php";
$conn=@oci_connect($user_name, $password, $server) or die('Could not connect:');
echo("Oracle 12c ₩$conn : $conn<br>");
$st=oci_server_version($conn);
echo("$st<br>");
phpinfo();
?>

chmod -R o+r /app/ora12c
/app/apache/bin/apachectl stop
/app/apache/bin/apachectl start

su - ora12c
lsnrctl start listener
cd $ORACLE_HOME
vi tnsnames.ora

sqlplus / as sysdba
startup


*DNS 설치
yum install -y bind
# dns 설치
vi /etc/named.conf
# dns 파일 설정 수정
options {
directory "/var/named";
};
zone "." {
type hint;
file "named.ca";
};
# ca 파일 수정 named.ca 내용 추가
mv /var/named/named.ca /var/named/named_default.ca
vi /var/named/named.ca

# DNS 설정 변경
vi /etc/resolv.conf
nameserver 192.168.30.11
# 네트워크 재설정 서비스 재시작
vi /etc/sysconfig/network-scripts/ifcfg-ens32
systemctl restart named.service
systemctl restart network




systemctl enable named.service
/app/apache/bin/apachectl stop
lsnrctl start listener

댓글 없음:

댓글 쓰기