본문 바로가기
운영체제/리눅스

(리눅스)웹 서버 & DB 서버(MySQL)

by Cloud_Park 2018. 11. 26.
웹서버 및 DB 서버 설치
  1) 웹 서버 설치(아파치 httpd)
	yum install -y httpd

  2) MySQL 설치
	yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
	yum install mysql-community-server


7.2 웹 서버 설정 (/etc/httpd/conf/httpd.conf 파일)
  1) 기본 디렉토리 설정
	DocumentRoot "/var/www/html"

  2) 디렉토리 리스팅 거부 설정
      기본 폴더인 /var/www/html에 board 및 member 디렉토리 생성
      board 밑에는 list.html 생성	사용자들이 접속할 때는 http://192.168.240.200/board/list.html	
      member 밑에서는 login.html 생성 사용자들이 접속할 때는 http://192.168.240.200/member/login.html	

-------------------------------
	list.html
-------------------------------
리스트 페이지입니다.

-------------------------------
	login.html
-------------------------------
로그인 페이지입니다.

각각 작성

서버 설정 파일에서 수정 전
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted 
</Directory>


서버 설정 파일에서 수정 후
<Directory "/var/www/html">
    Options FollowSymLinks
    AllowOverride None
    Require all granted 
</Directory>


서비스 재시작 후 확인


  3) 에러 페이지 지정
	설정 파일 하단 남는 부분에 다음 내용 추가
	ErrorDocument 403 /error.html
	ErrorDocument 404 /error.html

	/var/www/html 밑에 error.html 파일 생성

아파치 & 톰캣 연동
  1) JDK 설치
yum install java-1.8.0-openjdk-devel.x86_64

vi /etc/profile 파일 맨 밑에 추가
  JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
  export JAVA_HOME
  PATH=$PATH:$JAVA_HOME/bin
  export PATH
  저장 및 종료

su - root

java -version

  2) 톰캣 설치
	wget http://mirror.apache-kr.org/tomcat/tomcat-9/v9.0.12/bin/apache-tomcat-9.0.12.tar.gz
	아카이브 해제
	해제해서 나온 디렉토리를 /usr/local/tomcat9로 이름을 바꾸면서 이동


  3) 아파치와 톰캣 연동
	(1) 연결 모듈 다운 및 컴파일
	  yum install httpd-devel

	  wget http://mirror.navercorp.com/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.44-src.tar.gz
	  tar zxvf tomcat-connectors-1.2.44-src.tar.gz
	  cd tomcat-connectors-1.2.44-src/native
	  yum install -y gcc
	  ./configure --with-apxs=/usr/bin/apxs
	  make
	  make install
	  
 	  tomcat-connectors-1.2.44-src/native/apache-2.0/mod_jk.so 파일이 있으면 성공

	(3) 아파치 웹서버에 모듈 적용
	  cp native/apache-2.0/mod_jk.so /usr/lib64/httpd/modules/mod_jk.so	y로 덮어쓰기한다.
	  chmod 755 /usr/lib64/httpd/modules/mod_jk.so

	  vi /etc/httpd/conf/httpd.conf	파일에 다음 내용 추가
		LoadModule jk_module /usr/lib64/httpd/modules/mod_jk.so
	
		<IfModule jk_module>
			JkWorkersFile /etc/httpd/conf/workers.properties
			JkLogFile /var/log/httpd/mod_jk.log
			JkLogLevel info
			JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
			JkMount /servlet/* worker1
			JkMount /* worker1
		</IfModule>
	
	(4) 워커 파일 생성
	  vi /etc/httpd/conf/workers.properties
		worker.list=worker1
		worker.worker1.type=ajp13
		worker.worker1.socket_connect_timeout=5000
		worker.worker1.socket_keepalive=true
		worker.worker1.host=192.168.240.200
		worker.worker1.port=8009

	(5) 서비스 재시작
	  systemctl stop httpd
	  /usr/local/tomcat9/bin/shutdown.sh
	  /usr/local/tomcat9/bin/startup.sh
	  systemctl start httpd


	(6) 확인

MySQL 초기 설정 1) mysql_secure_installation 명령어 실행 패스워드 설정 2) 접속 mysql -u root -p 7.5 웹 서버 프로그램 적용 1) DB 생성 create database user; 2) 생성한 DB에 테이블 생성 use user; create table board ( bno INT NOT NULL auto_increment, title VARCHAR(200) NOT NULL, content text NULL, summary text NULL, video text NULL, writer VARCHAR(50) NOT NULL, regdate TIMESTAMP NOT NULL DEFAULT now(), viewcnt INT DEFAULT 0, replycnt INT DEFAULT 0, type INT DEFAULT 0, category VARCHAR(200), primary KEY (bno)); CREATE TABLE `user` ( `uid` varchar(50) NOT NULL, `upw` varchar(50) NOT NULL, `uname` varchar(100) NOT NULL, `upoint` int not NULL default 0, `sessionKey` varchar(50) NOT NULL DEFAULT 'none', `sessionlimit` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `confirmKey` VARCHAR(50) NOT NULL, `confirm` INT(1) DEFAULT 0, PRIMARY KEY (`uid`) ); CREATE TABLE `reply` ( `rno` int NOT NULL auto_increment, `bno` int not null default 0, `replytext` varchar(1000) not null, `replyer` varchar(50) not null, `regdate` timestamp not null default now(), `updatedate` timestamp not null default now(), PRIMARY KEY (`rno`) ); alter table reply add constraint fk_board foreign key (bno) references board (bno); CREATE TABLE `attach` ( `fullName` varchar(150) NOT NULL, `bno` int not null, `regdate` timestamp default now(), PRIMARY KEY (`fullName`) ); alter table attach add constraint fk_board_attach foreign key (bno) references board (bno); 3) 웹 아카이브 파일 다운

---생략--

톰캣 재시작 /usr/local/tomcat9/bin/shutdown.sh /usr/local/tomcat9/bin/startup.sh 4) 톰캣의 기본 디렉토리 변경 vi /usr/local/tomcat9/conf/server.xml <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> 이 내용 다음 줄에 <Context path="" docBase="sjb" reloadable="true" /> 이 내용 추가 후 저장 및 종료 5) 서비스 재시작 6) http://리눅스IP 입력 하면 웹 페이지 나옴