일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- spring boot
- set
- BFS
- dfs
- math
- alter
- sql
- 리소스모니터링
- date
- deque
- 스프링부트
- JPA
- 힙덤프
- priority_queue
- html
- Calendar
- 스택
- union_find
- NIO
- List
- 큐
- javascript
- Java
- Union-find
- map
- scanner
- GC로그수집
- CSS
- Properties
- string
- Today
- Total
매일 조금씩
02/08 ! - Linux(5) : putty로 리눅스 서버 접속 본문
리눅스 패키비(배포판) - CentOS
배포판
CentOS - 서버쪽 (무료)
=> RedHat - 서버쪽 (유료)
문제가 터지면 유료는 RedHat이 책임을 진다.
유료는 기술지원도 해준다.
ubuntu - 개인용(Windows, MacOS)
ubuntu.com
CentOS
기본 명령어
서버 세팅
- Service (운영 - SA)
- 개발용 서버 세팅
* 확인 명령어
systemctl
ps
1. 원격관리
CUI
telnet (telnet server / client)
ssh (ssh server / client)
ssh server - openssh
openssh -> 실행된 상태 sshd(daemon)
ssh client - putty(window), ssh(linux/ Mac)
GUI
vnc (vnc server / client)
2. jsp용 WAS - Apache-tomcat
* jdk 설치
* Apache-tomcat 압축해제
1. 포트변경
2. document root - jsp 저장 디렉토리 변경
putty에서 다운로드도 가능하다.
wget : 윈도우에서 다운받는 것처럼 다운받기
tomcat.apache.org에서 tar.gz의 링크를 복사해서 putty에 붙여 넣으면 다운로드 된다.
[master@localhost ~]$ wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.43/bin/apache-tomcat-9.0.43.tar.gz
3. 원격의 파일을 업로드 - ftp
ftp (File Transfer Protocol)
server - vsftpd
vsftpd.beasts.org
21 : 접속용
20 : 데이터 공유용
client - 파일질라
3-1. 설치, 연결
먼저 root 권한으로 들어간다.
[master@localhost ~]$ su - root
ftp.xml을보면
[root@localhost ~]# cat /usr/lib/firewalld/services/ftp.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>FTP</short>
<description>FTP is a protocol used for remote file transfer. If you plan to make your FTP server publicly available, enable this option. You need the vsftpd package installed for this option to be useful.</description>
<port protocol="tcp" port="21"/>
<helper name="ftp"/>
</service>
ftp.xml을 수정한다. 22번 포트를 추가한다.
이제 방화벽에 등록해준다.
[root@localhost ~]# firewall-cmd --zone=public --add-service=ftp --permanent
success
새로 고침한다.
[root@localhost ~]# firewall-cmd --reload
success
확인해보면 ftp가 servieces에 등록되어 있는 것을 확인 할수 있다.
[root@localhost ~]# firewall-cmd --zone=public --list-services
cockpit dhcpv6-client ftp ssh tomcat
그다음 vsftp가 설치가 되어 있는지 확인한다.
[root@localhost ~]# rpm -qa | grep vsftpd
[root@localhost ~]#
yum에 vsftpd 패키지가 있는지 확인한다.
[root@localhost ~]# yum list vsftpd
yum으로 설치한다.
[root@localhost ~]# yum install vsftpd
실행중인지 확인한다.
[root@localhost ~]# systemctl status vsftpd
실행중이 아니므로 실행시킨다.
[root@localhost ~]# systemctl start vsftpd
다시 실행중인지 확인해보면 실행중이다.
[root@localhost ~]# systemctl status vsftpd
이제 접속을 해보도록 한다.
파일질라를 켠다.
능동형으로 설정해서 새 사이트를 만든다.
이러면 전송과 받는것이 가능하다.
3-2. 환경 설정하기
환경 설정 전에 파일질라 연결을 끊고 종료해준다.
다음 vsftpd의 환경설정 파일인 vsftpd.conf에 들어간다.
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
chroot를 검색해서 다음과 같이 코드를 추가한다.
다음 다시 읽어달라고 다음 명령을 실행시킨다.
[root@localhost ~]# systemctl restart vsftpd
그런다음 파일질라에서 연결해보면 /home/master 말고 다른 폴더들도 접근이 가능하게 되어 있다.
그다음 리부팅을 시킨다.
[root@localhost ~]# reboot
그럼 vmware가 리부팅 된다. 그러면 Restarat session을 한다.
그리고 enable을 통해 시작과 동시에 vsftpd가 실행되게 설정한다.
[root@localhost ~]# systemctl enable vsftpd
- enable : 리부팅되면 시작되게 서비스안에 세팅해준다. (리부팅을 부담없이 할 수 있음)
그리고 다시 리부팅후 확인해보면 vsftp가 실행중인지 확인해보면 실행중이다.
* 리눅스용 ftp client는 뭔지 설치해보면 좋다.
4. mariaDB
이걸하면 프로젝트 한걸 리눅스에 올릴수 있다.
4-1. 설치, 연결
mariaDB는 없는데 mysql은 포트번호가 설정되어있다.
mysql.xml파일을 복사해서 mariadb.xml 파일을 만들어도 된다.
[root@localhost services]# cp mysql.xml mariadb.xml
다음 방화벽에 설정을 해준다.
[root@localhost services]# firewall-cmd --zone=public --add-service=mariadb --permanent
success
방화벽 새로고침하고 services
[root@localhost services]# firewall-cmd --reload
success
[root@localhost services]# firewall-cmd --zone=public --list-services
cockpit dhcpv6-client ftp mariadb ssh tomcat
yum 으로 mariadb 확인
mariadb를 설치한다. 아래 두개를 설치한다.
[root@localhost services]# yum install mariadb
[root@localhost services]# yum install mariadb-server
다음 mariadb를 실행시킨다.
그러고 나서 mariadb에 접속하면 실제 윈도우에서 했던 것처럼 mariadb에 접속이 가능하다.
4-2. 환경설정
1) 관리자 암호
관리자암호부터 만든다.
[root@localhost ~]# mysqladmin -u root password '!123456'
그리고 접속하면 접속할수 없다고 나온다.
[root@localhost ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
아래처럼 암호를 통해 접속해야 접속 가능하다.
2) 접속 설정
리눅스에내에서 로컬로 접속 가능
[root@localhost ~]# mysql -h 127.0.0.7 -u root -p
윈도우에선 접속 불가능
[root@localhost ~]# mysql -h 192.168.44.128 -u root -p
mariadb에 로컬로 접속해서 어디서나 접속할수 있게 설정한다.
MariaDB [(none)]> grant all privileges on *.* to 'root'@'%' identified by '!123456';
위에께 잘 등록되었는지 확인한다.
MariaDB [(none)]> select host, user, password from mysql.user;
그럼 접속 가능해진다.
데이터베이스 : project
사용자 : project / 비밀번호 : 123456
로컬로 접속해서 아래처럼하면된다.
create database project;
grant all privileges on project.* to 'project'@'%' identified by '123456';
3) 한글 처리
다시 putty로 와서 테이블을 하나만든다.
영어는 들어가는데 한글은 안들어간다.
이걸 한글이 가능하게 설정해 줘야한다.
MariaDB [project]> show variables like 'c%';
여기서 전부 utf8로 나와야한다.
파일 세개를 수정한다.
[root@localhost ~]# vi /etc/my.cnf.d/client.cnf
[root@localhost ~]# vi /etc/my.cnf.d/mysql-clients.cnf
[root@localhost ~]# vi /etc/my.cnf.d/mariadb-server.cnf
1. /etc/my.cnf.d/client.cnf
2. /etc/my.cnf.d/mysql-clients.cnf
3. /etc/my.cnf.d/mariadb-server.cnf
그리고 확인해보면 전부 utf8로 바껴있다.
그러고 난후 한글이 제대로 들어가는지 확인해보려면
기존 데이터 베이스를 지우고 다시 만든다.
한글이 잘 들어가진다.
데이터베이스 연결 순서를 정리해보자면
1. 인코딩 설정
2. 사용자 만들기
3. 데이터 베이스 연결
4. 테이블 생성
실습1) zipcode 의 csv 파일을 mariadb의 project에 project 사용자로 데이터 넣기
1. ftp로 zipcode 파일을 리눅스서버에 넣는다.
2. 테이블만들기
3. java
실습2) 우편번호 검색기 , Spring 프로젝트 윈도우에서 가져와서 실행시키기
윈도우의 eclipse에서 우편번호 검색기 구현했던걸 export로 war파일로 리눅스 서버에 ftp에 보낸다.
그걸 풀어서 실행시킨다.
1. window eclipse -> war
* 데이터베이스 연결
* 파일 경로
2. ftp deployment
war -> /home/master/apache-tomcat-XXX/webapps
3. 브라우저 실행
1. window eclipse -> war
포트번호 3306으로 해야함
> ZipcodeMVCEx01
Spring 프로젝트도 같은 방법으로 하면 된다. 포트번호 3306으로 해야함