VM(Virtual Machine, 가상머신) 소프트웨어 설치
VMWare Workstation 설치
CentOS 설치 이미지 내려받기
VMWare 설치
VMWare에 가상 컴퓨터 생성
Create -> Typical -> 내려받은 centos ISO이미지 경로설정
리눅스 설치
1) "Install CentOS 7" 클릭
2) 소프트웨어 선택 -> 개발 및 창조를 위한 워크스테이션
3) 설치 대상 -> "파티션을 설정합니다" 클릭 -> 완료
4) 수동으로 파티션 설정 -> 표준 파티션 -> "+" 버튼 -> 마운트 지점:swap / 2G -> "+" 버튼 -> 마운트 지점: /
5) 네트워크 및 호스트명 -> 이더넷(ens33) 켬
6) 설치시작 -> 설치 후 계정설정
YUM으로 각종 패키지 설치 (관리자 계정으로 전환 후 설치)
yum list installed (설치된 패키지 확인, 설치 후 제대로 설치 되었는지 확인)
1) Sublime Text 3 설치
2) Open JDK 설치
yum list java\djk-devel (설치 가능한 JDK버전 확인)
yum install -y java-1.8.0-openjdk-devel.x86_64 (1.8버전 설치)
javac -version (설치 결과 확인) -> 설치한 버전 값 출력, 예) javac 1.8.0.262
echo $JAVA_HOME, echo $PATH (자바변수 확인) -> 설정 전이기 때문에 빈 값으로 출력됨
readlink -f /usr/bin/javac (java의 심볼링 링크 경로 확인), 심볼릭 링크의 경로 중 '/bin/javac' 제외 후 복사
vi /etc/profile 을 열고 맨 아랫부분에 아래 내용 3개 추가
(1) export JAVA_HOME=/(심볼릭링크에서 복사한 경로)
(2) export PATH=$PATH:$JAVA_HOME/bin (기존의 $PATH값에 $JAVA_HOME의 bin디렉토리 추가)
(3) export CLASSPATH=.:$JAVA_HOME/lib/tools.jar (쉘의 현재 디렉토리(.)과 JDK포함된 tools.jar파일 경로 등록)
source /etc/profile (셀 초기화 파일 재로드)
echo $JAVA_HOME, echo $PATH (위에서 입력한 내용 출력됨)
zsh 설치
openssh-server 설치
yum -y install openssh-server
SELinux
SELinux 정책은 SSH, 웹 서버, FTP, MySQL 등의 기능을 하나의 리눅스 안에서 하나만 구동할 수 있게 설정 되어 있는것임.
그래서 여러서버를 하나의 리눅스에서 운영하기 위해서는 이 기능을 비활성화 할 필요가 있다.
vi /etc/sysconfig/selinux -> "SELINUX=disable" 로 변경.
reboot (SELinux는 재부팅 후에만 반영됨)
SSH서비스 실행 (부팅시 자동실행 등록)
systemctl start sshd.service
systemctl status sshd.serivce | grep Active (서비스 상태 확인)
systemctl enable sshd.service (부팅시 자동실행 되도록 등록)
systemctl list-unit-files | grep sshd.service (등록결과 확인)
SSH서버 설정
vi /etc/ssh/sshd_config
"Port" 항목을 찾아 주석해제, 적용할 포트 명시 (9901)
"PermitRootLogin yes"라는 라인을 찾아 주석해제, 값을 no로 변경
systemctl restart sshd.service (재시작)
방화벽 설정
firewall-cmd --state (방화벽 실행 여부 확인)
firewall-cmd --zone=public --list-services | grep ssh (방화벽에 ssh 서비스 등록 여부 확인)
firewall-cmd --permanent --zone=public --remove-service ssh (서비스가 등록되어 있다면 ssh의 기본 서비스 차단)
firewall-cmd --permanent --zone=public --remove-service telnet (telnet의 기본 서비스 차단)
firewall-cmd --permanent --zone=public --add-port=9901/tcp (ssh에서 설정한 포트번호 추가)
firewall-cmd --reload (방화벽 재시작)
vsftp 설치
yum -y install vsftpd
systemctl start vsftpd.service (vsftpd 서비스 시작)
systemctl status vsftpd.service | grep Active (vsftpd 서비스 구동상태 확인)
systemctl enable vsftpd.service (부팅시 vsftpd 서비스 자동시작 등록)
systemctl list-unit-files | grep vsftpd.service (서비스 등록 확인)
firewall-cmd --permanent --zone=public -add-service=ftp (ftp 서비스 방화벽 등록)
firewall-cmd --reload (방화벽 리로드)
vsftpd 설정파일 수정(vi /etc/vsftpd/vsftpd.conf)
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
# 맨 아랫줄에 추가 입력
allow_writeable_chroot=YES
listen_port=9902
pasv_enable=YES
pasv_min_port=10090
pasv_max_port=10100
수정 후 방화벽 설정
firewall-cmd --permanent --zone=public --add-port=9902/tcp
firewall-cmd --permanent --zone=public --add-port=10090-10100/tcp
firewall-cmd --reload
systemctl restart vsftpd
MariaDB 설치
yum -y install mariadb mariadb-server
systemctl start mariadb.service
systemctl enable mariadb.service
mysql_secure_installation
httpd 서버 구성 실습
yum -y install httpd
systemctl start httpd
systemctl enable httpd
systemctl status httpd
firewall-cmd --permanent --zone=public --add-service http
firewall-cmd --permanent --zone=public --add-service https
firewall-cmd --reload
firewall-cmd --list-services
http://(리눅스아이피) 입력 후 화면으로 확인
PHP 설치
yum -y install epel-release (php를 설치할 수 있는 추가 저장소 설치)
rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-7.rpm (remi 저장소 설치)
yum --enablerepo=remi update remi-release (remi 저장소 업데이트)
yum --enablerepo=remi-php72 -y install php (php 설치)
yum --enablerepo=remi-php72 -y install php-bcmath php-dom php-gd php-igbinary php-imap php-intl php-ldap php-mbstring php-mcrypt php-memcached php-mysqli php-mysqlnd php-pdo php-posix php-xml php-xmlrpc php-zip (php 추가 확장팩 설치)
systemctl restart httpd (apache 재시작)
PHP 설정 (관리자 권한, vi /etc/php.ini)
short_open_tag = On
max_input_vars = 1000
display_errors = On
post_max_size = 32M
upload_max_filesize = 32M
date.timezone = Asia/Seoul
systemctl restart httpd
Virtual Host 설정 (vi etc/httpd/conf.d/vhost.conf)
NameVirtualHost *:80
<VirtualHost *:80>
# 웹 프로그램 폴더
DocumentRoot /home/student/public_html
# 서버의 관리자 메일주소
ServerAdmin webmaster@itpaper.co.kr
# 서버이름 (주 도메인)
ServerName helloworld.com
# 서버별칭 (부 도메인)
ServerAlias www.helloworld.com
Serveralias test.helloworld.com
# 프로그램 구동 옵션
<Directory "/home/student/public_html">
Allow from all
Require all granted
</Directory>
</VirtualHost>
Apache-Tomcat 서버 구축
systemctl stop httpd (하나의 시스템에서 두 개 이상의 웹서버는 포트충돌이 발생하므로 php기반의 웹서버는 중지)
systemctl disable httpd
파일 내려받은 경로를 쉽게 기억하기 위해 root로 계정 전환 -> 'cd~'명령을 사용하여 root 홈 디렉토리에서 wget 명령 사용
wget (https://tomcat.apache.org/download-80.cgi 페이지에서 Tomcat 압축파일의 URL복붙)
ls (다운로드 받은 파일 이름 확인)
tar zxvf (파일이름)
mv ./(압축해제한 폴더이름)/usr/local/tomcat8
vi /ect/systemd/system/tomcat.service
/usr/local/tomcat8/bin/startup.sh
/usr/local/tomcat8/bin/shutdown.sh
User=root
Group=root
systemctl daemon-reload
systemctl start tomcat.service
systemctl status tomcat.service
systemctl enable tomcat.service
firewall-cmd --permanent --zone=pubilc--add-forward-port=port=80:proto=tcp:toport=8080
firewall-cmd --reload
mv./(테스트프로그램) /usr/local/tomcat8/webapps
systemctl restart tomcat.service
댓글