일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프론트엔드
- 웹개발
- 프로그래밍
- 입출력
- 프로그래머스 SQL
- 데이터 조회
- 정보처리기사필기요약
- select문
- Linux
- 프로그래머스 sql 고득점 kit
- 백준
- MySQL
- 메서드
- 형변환
- Java
- 정보처리기사
- String클래스
- 자바스크립트
- DML
- scanner
- 개발자
- 클래스
- JavaScript
- BufferedReader
- StringBuilder
- for문
- order by
- 백엔드
- 예외처리
- select
- 알고리즘
- sql문
- Git
- 자바
- html
- github
- SQL
- 리눅스
- 반복문
- where
- Today
- Total
ToBe끝판왕
[ LINUX ] 파일 업로드( FTP Server ), 파일질라( Filezilla ), 자바 게시판 우분투 배포 본문
[ LINUX ] 파일 업로드( FTP Server ), 파일질라( Filezilla ), 자바 게시판 우분투 배포
업그레이드중 2022. 5. 16. 10:43
파일업로드

▶ VSFTPD 서버 다운로드 및 실행 ( 기본적으로 VSFTPD 포트는 21번 )
• Linux에서 SSH 키고, putty를 통해서
$ sudo apt-cache search vsftpd
$ sudo apt-cache show vsftpd

$ sudo apt-get -y install vsftpd (설치)

$ systemctl status vsftpd (확인)

▶ 파일질라 다운로드

▶ 파일질라 linux 사이트 만들기
• Linux 아이피 입력
• master , master 비밀번호 입력
• 문자셋 : utf-8 강제 선택 설정

▶ Windows에서 파일을 Filezilla를 통해서 우분투로 업로드 가능토록 설정 필요
$ systemctl stop vsftpd 로 putty에서 서버를 꺼준다.
$ sudo vi /etc/vsftpd.conf
vi 편집기에서 " write_enable=yes " 부분의 주석 제거

$ systemctl start vsftpd ( 서버 시작)
$ systemctl status vsftpd ( 확인 )
Windows파일을 우분투로 업로드해본다. ( 파일질라 )
$ sudo vi /etc/vsftpd.conf
vi 편집기에서 "listen=No" 부분 아래에 " listen_port=2021" 입력

※ 파일질라에서 상위 디렉터리 제한시키기
$ sudo vi /etc/vsftpd.conf
vi 편집기에서 "chroot_local_user=YES" 주석 제거
allow_writeable_chroot=YES 추가


▶ 다시한번 복습하고 넘어가기

Windows Java 통해서, FTP 연결되는 프로그램 만들기
1) FTP 연결위해 Apache APIs 다운로드
https://commons.apache.org/proper/commons-net/download_net.cgi
Apache Commons Net – Download Apache Commons Net
Download Apache Commons Net Using a Mirror We recommend you use a mirror to download our release builds, but you must verify the integrity of the downloaded files using signatures downloaded from our main distribution directories. Recent releases (48 hours
commons.apache.org

2) Java 프로그램 만들기
• FTPClientEx01.java 파일을 만든다.

• FTPClientEx01.java (소스)
import java.io.IOException;
import java.net.SocketException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
public class FTPClientEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 서버 접속
FTPClient ftpClient = null;
try {
ftpClient = new FTPClient();
// 한글 인코딩 처리
ftpClient.setControlEncoding( "utf-8" );
ftpClient.connect( "Linux아이피", 2021 );
//파일질라 IP (자료공유)
//ftpClient.connect( "221.151.185.221", 21 );
int replyCode = ftpClient.getReplyCode();
if( FTPReply.isPositiveCompletion( replyCode ) ) {
// 연결성공
// System.out.println( "성공" );
boolean success = ftpClient.login( "master", "!123456" );
//boolean success = ftpClient.login( "tester1", "!123456" );
//파일질라 IP (자료공유)
//boolean success = ftpClient.login( "class4", "123456" );
if( success ) {
//로그인 성공
// System.out.println( "로그인 성공" );
// master파일 리스트 보이기
//String[] fileNames = ftpClient.listNames();
//for( String fileName : fileNames ) {
// System.out.println( fileName );
//}
FTPFile[] files = ftpClient.listFiles();
for( FTPFile file : files ) {
System.out.println( file );
}
} else {
//로그인 실패
System.out.println( "로그인 실패" );
}
} else {
// 연결실패
System.out.println( "실패" );
}
} catch (SocketException e) {
// TODO Auto-generated catch block
System.out.println( "[에러]" + e.getMessage() );
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println( "[에러]" + e.getMessage() );
} finally {
if( ftpClient != null ) try { ftpClient.disconnect(); } catch ( IOException e ) {}
}
}
}
Windows에서 만든 게시판 소스 => 우분투 리눅스 배포

1) 기존 Tomcat 중지
$ ./apache-tomcat-9.0.56/bin/shutdown.sh 으로 Tomcat을 끈다.
2) 옮기기
파일질라의 apache-tomcat-9.0.56 폴더 - [webapps] 에 SimpleBoardEx01 디렉터리를 생성하고
이클립스의 내용을 옮겨준다. ( 라이브러리, 설정파일, 이미지 , css , jsp 파일 )


3) 옮기기 ( 데이터베이스 테이블 )
• (Windows 프롬프트에서)
mysqldump -u project -p1234 project board1 | mysql -h 아이피 -u project -p123456 project
board1 테이블을 Ubuntu 데이터베이스에 업로드한다. (덤프 시키기)
• (Windows 프롬프트에서)
- mysql -h 아이피 -u project -p : 우분투 maria 접속
- show tables; 로 board1이 있는지 확인
4) 실행확인
이클립스에서 SimpleBoardEx01 을 만들고 기존 Board 파일복사해서 실행되는지 확인

$ ./apache-tomcat-9.0.56/bin/startup.sh 로 Tomcat 로 톰캣을 다시 키고
Linux IP 넣어서 경로를 변경하고 실행되는지 확인

※ Model 1, Model2 게시판 배포시 주의할점 !
1) Linux로 옮길때 class 도 옮겨야한다. ( Windows에 [build] - [classes] 에 들어가서 )


'■ Programming Skills > LINUX' 카테고리의 다른 글
[ LINUX ] 데이터베이스 사용, Windows 덤프 시키기, 우편번호 데이터 삽입, Putty 리눅스 서버 접속, 포트번호 변경 (0) | 2022.05.16 |
---|---|
[ LINUX ] 압축 관련 명령어, 이클립스 사용, 톰캣 사용, 서버 관리 (0) | 2022.05.16 |
[ LINUX ] 문서 편집( Vi ), 사용자 관련 명령어( 접근 권한 ), 프로세스 관련 명령어 (0) | 2022.05.15 |
[ LINUX ] 설치, 기본 개념, 기본 명령어, 파일 & 디렉터리 명령어 (0) | 2022.05.15 |