일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 프로그래밍
- 자바스크립트
- 입출력
- 자바
- Linux
- 프로그래머스 SQL
- BufferedReader
- MySQL
- 정보처리기사
- String클래스
- scanner
- Git
- 리눅스
- 개발자
- 메서드
- 정보처리기사필기요약
- html
- DML
- where
- 스프링
- select
- 예외처리
- github
- 형변환
- 백준
- 웹개발
- 알고리즘
- StringBuilder
- 클래스
- SQL
- order by
- 프론트엔드
- mybatis
- sql문
- 백엔드
- JavaScript
- Java
- 프로그래머스 sql 고득점 kit
- select문
- 데이터 조회
- 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
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] 에 들어가서 )
'■ 프로그래밍 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 |