VM(Virtual Machine, 가상머신) 소프트웨어 설치
VMWare Workstation 설치
- CentOS 설치 이미지 내려받기
- http://www.centos.org/download -> "DVD ISO"
- 여러 사이트가 나오는데 가장 신뢰도가 높은 URL을 선택하려 내려받기
- VMWare 설치
- http://www.vmware.com/kr.html -> "다운로드"메뉴 -> Workstation Pro -> 윈도우 버전 내려받기
- 필수 환경설정 : Edit -> Preferences -> Shared vMs -> Disable Sharing 클릭
- 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 설치
- yum-config-manager --add-repo https://download.sublimetext.com/rpm/stable/x86_64/sublime-text.repo
- yum install sublime-text
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 설치
- yum -y install zsh ('-y'를 입력하면 설치과정 중 물음에 자동으로 'y'로 응답해줌)
- yum -y install git (Git 클라이언트 설치)
- chsh -s /bin/zsh (쉘 환경 변경)
- sh -c"$(curl-fsSL https://raw.github.com/robbyrussell/oh-myzsh/master/tools/install.sh)" (Oh-my-zsh설치)
- git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting (명령어 문법 강조 플러그인)
- git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
(명령어 자동완성 플러그인) - vi ~/.zshrc -> 테마변경 / 'plugins' 부분에 zsh-syntax-highlighting, zsh-autosuggestions 입력 (설치한 플러그인 적용)
- source ~/.zshrc (적용)
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
'Linux' 카테고리의 다른 글
Linux(명령어 정리) (0) | 2020.08.21 |
---|---|
Linux-2 (0) | 2020.08.20 |
Linux-1 (0) | 2020.08.10 |
댓글