며칠 전 Windows에 문제가 생겨 포맷을 했다.
그러다 생각난 것이 백업...
사실 집 Desktop은 Youtube와 게임용이기에 상관없지만, 폰을 잃어버리면 나의 사진이 날라가는 것이다.
One Drive 용량도 찼다고 메일이 왔기에, 돈내기는 싫고 집에서 굴러다니는 라즈베리파이로 개인 Cloud 서버를 만들어 보자.
* NGINX로 진행하려 했으나 관리자계정생성에서 무한루프 돌고 로그인이 안되서 APACHE로 변경...
1. APACHE2 설치
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install apache2 -y
이후 본인의 ip를 접속하여 APACHE가 설치되었는지 확인
2. MariaDB 설치/설정
MariaDB 설치와 보안설정을 하는데, 보안설정은 test DB를 삭제할거냐... root 계정 remote access를 허용할거냐...
이런거 물으니 읽어보고 선택하고, 모르면 다른 블로그를 참고하자.
sudo apt install mariadb-server -y
sudo mysql_secure_installation # root 비밀번호 / 보안 설정
sudo mysql -u root -p # db 접속
다음에는 NextCloud를 위한 계정을 생성
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY '[PASS WORD]';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
3. php 설치
NextCloud는 php로 만들어졌기에 php를 설치해야 한다.
설치될때 버전을 잘 보고, 앞으로의 설정에 php 버전에 꼭 맞게 설정하자
sudo apt install php-fpm php-mysql php-gd php-json php-curl php-mbstring php-intl php-xml php-zip php-bz2 php-imagick php-gmp -y
4. NextCloud 설치
NextCloud를 특정 폴더에 설치한다.
cd /var/www/
sudo wget https://download.nextcloud.com/server/releases/nextcloud-27.0.2.zip
sudo unzip nextcloud-27.0.2.zip
sudo chown -R www-data:www-data nextcloud
sudo chmod -R 755 nextcloud
5. APACHE 구성 설정
앞서 설치한 nginx, php, nextcloud의 설정을 이용하여 nextcloud에 접속하는 nginx 설정을 추가한다.
파일 경로는 아래와 같다
sudo vim /etc/apache2/sites-available/nextcloud.conf
참고로 나는 port를 8000번으로 변경할 것이다.
<VirtualHost *:8000>
DocumentRoot /var/www/nextcloud/
# ServerName [IP]
<Directory /var/www/nextcloud/>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
<Directory /var/www/nextcloud/data/>
Require all denied
</Directory>
ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
</VirtualHost>
APACHE는 심볼릭 링크를 설정하는게 아니라 ports.conf 파일을 수정한다더라.
sudo vim /etc/apache2/ports.conf
Listen 80
Listen 8000
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
이후 아파치 재시작
sudo a2ensite nextcloud.conf
sudo systemctl restart apache2
6. nextCloud 관리자계정 만들기
데이터베이스 호스트에 포트도 적어랬지만, 안적어야 하는거같다... ?
이후 로그인하면 접속되는 것을 확인가능하다.
7. 포트포워딩하기(선택)
나는 외부IP:5000에서 내부IP:8000으로 포워딩할 것이다.
각자 게이트웨이로 들어가서 포트포워딩 설정
외부 IP로 접속해보면 신뢰하지 않은 도메인이라고 출력되는데,
NextCloud에 외부 ip를 등록해줘야한다.
sudo vim /var/www/nextcloud/config/config.php
'trusted_domains' =>
array (
0 => 'localhost',
1 => '192.168.1.100', // 내부 IP 주소 예시
2 => '외부IP:5000', // 외부IP (포트 포함)
),
8. Windows 네트워크 연결(선택)
먼저 NextCloud 클라이언트를 설치해야한다.
https://nextcloud.com/install/
설치가 완료되고 로그인하면 아래와 같이 폴더를 지정할 수 있는데,
이렇게 폴더가 생성된다.
휴대폰에서도 nextCloud를 설치해야하는데, 설치후 사진 약 4000장을 업로드 했더니
100장쯤에서 뻗어버린다 ㅎ
라즈베리는... 그냥 놓아주어야겠다.
'프로그래밍 > Linux' 카테고리의 다른 글
[Ubuntu] 구글 계정 연동 (0) | 2024.09.24 |
---|---|
[Ubuntu] Service log 파일 경로 변경 (0) | 2024.09.21 |
[Ubuntu] 화면 검은색 깜빡임 해결 (0) | 2023.09.12 |
[Ubuntu] STM32 VSCode debugger GDB version Error 해결 (0) | 2023.08.14 |
[Ubuntu] STLink Upgrade 사용하여 STM32 board firmware update하기 (0) | 2023.08.14 |
댓글