1. FTP 서버 구축
리눅스 에서 사용할 수 있는 FTP 서버가 여러종류 있지만 vsftpd를 설치합니다.
pi@raspberrypi:~ $ sudo apt-get install vsftpd
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
다음 새 패키지를 설치할 것입니다:
vsftpd
0개 업그레이드, 1개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
137 k바이트 아카이브를 받아야 합니다.
이 작업 후 306 k바이트의 디스크 공간을 더 사용하게 됩니다.
받기:1 http://ftp.harukasan.org/raspbian/raspbian buster/main armhf vsftpd armhf 3.0.3-12 [137 kB]
내려받기 137 k바이트, 소요시간 2초 (87.1 k바이트/초)
패키지를 미리 설정하는 중입니다...
Selecting previously unselected package vsftpd.
(데이터베이스 읽는중 ...현재 158474개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../vsftpd_3.0.3-12_armhf.deb ...
Unpacking vsftpd (3.0.3-12) ...
vsftpd (3.0.3-12) 설정하는 중입니다 ...
Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service → /lib/systemd/system/vsftpd.service.
[vsftpd.conf:1] Line references path below legacy directory /var/run/, updating /var/run/vsftpd/empty → /run/vsftpd/empty; please update the tmpfiles.d/ drop-in file accordingly.
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for systemd (241-7~deb10u3+rpi1) ...
pi@raspberrypi:~ $
다음 명령어로 ftp 서버를 설정합니다.
pi@raspberrypi:~ $ sudo nano /etc/vsftpd.conf
다음 부분을 찾아서 주석을 풉니다.(# 제거)
write_enable=YES
local_umask=022
저장후 ftp 데몬을 시작 합니다.
pi@raspberrypi:~ $ sudo service vsftpd start
ftp 프로그램을 이용해 접속해봅니다.
ssl을 설치했기 때문에 sftp로 접속합니다.
2. 아파치 설치
apt-get 명령어를 사용하여 아파치를 설치한다.
설치되는 경로는 "/var/www/html"이며, 소유권도 설정한다.
그 이후 apache2가 자동 실행되도록 설정한다(아래 참조)
pi@raspberrypi:~ $ sudo apt-get install apache2
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
The following additional packages will be installed:
apache2-bin apache2-data apache2-utils libapr1 libaprutil1
libaprutil1-dbd-sqlite3 libaprutil1-ldap
제안하는 패키지:
apache2-doc apache2-suexec-pristine | apache2-suexec-custom
다음 새 패키지를 설치할 것입니다:
apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1
libaprutil1-dbd-sqlite3 libaprutil1-ldap
0개 업그레이드, 8개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
1,971 k바이트 아카이브를 받아야 합니다.
이 작업 후 6,164 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y
받기:1 http://ftp.harukasan.org/raspbian/raspbian buster/main armhf libapr1 armhf 1.6.5-1 [83.3 kB]
받기:2 http://ftp.harukasan.org/raspbian/raspbian buster/main armhf libaprutil1 armhf 1.6.1-4 [81.7 kB]
받기:3 http://ftp.harukasan.org/raspbian/raspbian buster/main armhf libaprutil1-dbd-sqlite3 armhf 1.6.1-4 [17.3 kB]
받기:4 http://ftp.harukasan.org/raspbian/raspbian buster/main armhf libaprutil1-ldap armhf 1.6.1-4 [16.3 kB]
받기:5 http://ftp.harukasan.org/raspbian/raspbian buster/main armhf apache2-bin armhf 2.4.38-3+deb10u3 [1,121 kB]
받기:6 http://ftp.harukasan.org/raspbian/raspbian buster/main armhf apache2-data all 2.4.38-3+deb10u3 [165 kB]
받기:7 http://ftp.harukasan.org/raspbian/raspbian buster/main armhf apache2-utils armhf 2.4.38-3+deb10u3 [235 kB]
받기:8 http://ftp.harukasan.org/raspbian/raspbian buster/main armhf apache2 armhf 2.4.38-3+deb10u3 [251 kB]
내려받기 1,971 k바이트, 소요시간 6초 (344 k바이트/초)
Selecting previously unselected package libapr1:armhf.
(데이터베이스 읽는중 ...현재 158532개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../0-libapr1_1.6.5-1_armhf.deb ...
Unpacking libapr1:armhf (1.6.5-1) ...
Selecting previously unselected package libaprutil1:armhf.
Preparing to unpack .../1-libaprutil1_1.6.1-4_armhf.deb ...
Unpacking libaprutil1:armhf (1.6.1-4) ...
Selecting previously unselected package libaprutil1-dbd-sqlite3:armhf.
Preparing to unpack .../2-libaprutil1-dbd-sqlite3_1.6.1-4_armhf.deb ...
Unpacking libaprutil1-dbd-sqlite3:armhf (1.6.1-4) ...
Selecting previously unselected package libaprutil1-ldap:armhf.
Preparing to unpack .../3-libaprutil1-ldap_1.6.1-4_armhf.deb ...
Unpacking libaprutil1-ldap:armhf (1.6.1-4) ...
Selecting previously unselected package apache2-bin.
Preparing to unpack .../4-apache2-bin_2.4.38-3+deb10u3_armhf.deb ...
Unpacking apache2-bin (2.4.38-3+deb10u3) ...
Selecting previously unselected package apache2-data.
Preparing to unpack .../5-apache2-data_2.4.38-3+deb10u3_all.deb ...
Unpacking apache2-data (2.4.38-3+deb10u3) ...
Selecting previously unselected package apache2-utils.
Preparing to unpack .../6-apache2-utils_2.4.38-3+deb10u3_armhf.deb ...
Unpacking apache2-utils (2.4.38-3+deb10u3) ...
Selecting previously unselected package apache2.
Preparing to unpack .../7-apache2_2.4.38-3+deb10u3_armhf.deb ...
Unpacking apache2 (2.4.38-3+deb10u3) ...
libapr1:armhf (1.6.5-1) 설정하는 중입니다 ...
apache2-data (2.4.38-3+deb10u3) 설정하는 중입니다 ...
libaprutil1:armhf (1.6.1-4) 설정하는 중입니다 ...
libaprutil1-ldap:armhf (1.6.1-4) 설정하는 중입니다 ...
libaprutil1-dbd-sqlite3:armhf (1.6.1-4) 설정하는 중입니다 ...
apache2-utils (2.4.38-3+deb10u3) 설정하는 중입니다 ...
apache2-bin (2.4.38-3+deb10u3) 설정하는 중입니다 ...
apache2 (2.4.38-3+deb10u3) 설정하는 중입니다 ...
Enabling module mpm_event.
Enabling module authz_core.
Enabling module authz_host.
Enabling module authn_core.
Enabling module auth_basic.
Enabling module access_compat.
Enabling module authn_file.
Enabling module authz_user.
Enabling module alias.
Enabling module dir.
Enabling module autoindex.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module filter.
Enabling module deflate.
Enabling module status.
Enabling module reqtimeout.
Enabling conf charset.
Enabling conf localized-error-pages.
Enabling conf other-vhosts-access-log.
Enabling conf security.
Enabling conf serve-cgi-bin.
Enabling site 000-default.
Created symlink /etc/systemd/system/multi-user.target.wants/apache2.service → /lib/systemd/system/apache2.service.
Created symlink /etc/systemd/system/multi-user.target.wants/apache-htcacheclean.service → /lib/systemd/system/apache-htcacheclean.service.
Processing triggers for systemd (241-7~deb10u3+rpi1) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for libc-bin (2.28-10+rpi1) ...
pi@raspberrypi:~ $
pi@raspberrypi:~ $ sudo chown pi -R /var/www/html
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ sudo update-rc.d apache2 defaults
pi@raspberrypi:~ $
완료후 브라우저로 해당 IP에 접속해서 아래 그림이 나오면 성공한 것이다.