ToBe끝판왕

[ LINUX ] 파일 업로드( FTP Server ), 파일질라( Filezilla ), 자바 게시판 우분투 배포 본문

■ 프로그래밍 SKILLS/LINUX

[ 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 추가

 

 

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

 

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] 에 들어가서 )

 

반응형
Comments