본문 바로가기
네트워크 수업/Docker

클라우드서버 구축 nextcoud 23.05.11

by 6^6 2023. 5. 11.
728x90

이번에는 nextcloud를 구축해서 데이터를 따로 운영할거다.

[root@samba _data]# docker run -i -t --name nextcloud ubuntu:20.04

 

 

 

 

 

[root@samba _data]# docker rm nextcloud

 

[root@samba _data]# docker create -i -t --name nextcloud -p 80:80 ubuntu:20.04
Error response from daemon: Conflict. The container name "/nextcloud" is already in use by container "62137f4160d651bf975f46d9d3b4ea49ce507f685589e74fd63e556b1c282a16". You have to remove (or rename) that container to be able to reuse that name.
[root@samba _data]# docker start nextcloud

[root@samba _data]# docker attach nextcloud

 

 

[root@samba _data]# docker create -i -t --name nextcloud -p 80:80 ubuntu:20.04
e91c2146c61e6b76a6aadbfa1bfbc1a29088d402d49d12c7b14be9e5c46cdf73


[root@samba _data]# docker start nextcloud  ==>오류나면
Error response from daemon: driver failed programming external connectivity on endpoint nextcloud (6234f071ed01e2c51858ccbdf555b38be56e8d332ac1edf45a7ccbc434f3efd0): Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use
Error: failed to start containers: nextcloud


[root@samba _data]# systemctl stop httpd ==>stop 해주고
[root@samba _data]# docker start nextcloud
^[[Anextcloud
[root@samba _data]# docker attach nextcloud

root@e91c2146c61e:/# apt-get update -y && apt-get upgrade -y

root@893c736f6187:/# apt update

root@893c736f6187:/# apt install apache2

6 70

 

root@893c736f6187:/# service apache2 start
root@893c736f6187:/# service apache2 status
 * apache2 is running

 

ctrl+shift+p+q 하고 ifconfig 한다음 docker 아이피 172.17.0.1

파이어폭스에 172.17.0.1 치면 사이트 나온다.

 

 

root@893c736f6187:/#  apt install php-imagick libapache2-mod-php7.4 php7.4-common php7.4-mysql php7.4-fpm php7.4-gd php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-bcmath php7.4-gmp

 

 

mariaDB깔기


1) Maria DB설치
 apt install mariadb-server -y


2) Maria DB 시작 및 적용
root@e91c2146c61e:/# service mysql start


4) Maria DB 설정
 mysql_secure_installation
이때 몇가지 질문을 입력한다. Enter current password for root (enter for none): 엔터 눌러서 스킵
 Set root password? [Y/n]`Y`
 Remove anonymous users? [Y/n]`Y`
 Disallow root login remotely? [Y/n]`Y`
 Remove test database and access to it? [Y/n]`Y`
 Reload privilege tables now? [Y/n]`Y`


5) DB 생성
 mysql -u root -p
 create database nextcloud;
 create user nextclouduser@localhost identified by '1111';
 grant all privileges on nextcloud_db.*to nextclouduser@localhost identified by '1111';
 flush privileges;
EXIT;
password입력 부분에 원하는 비밀번호로 입력한다..

 

 

 

7. NextCloud 다운


1) git 다운로드
apt install curl git


2) composer 다운로드
 curl -sS https://getcomposer.org/installer |sudo php -- --install-dir=/usr/local/bin --filename=composer


3) nextCloud 다운로드
 cd /var/www/html

git clone --branch stable20 https://github.com/nextcloud/server.git nextcloud


 cd /var/www/html/nextcloud
 composer install

git submodule update --init


4) 설치 폴더 권한 주기
 chown -R www-data:www-data /var/www/html/nextcloud/
 chmod -R 755 /var/www/html/nextcloud/


5) apache 설정
vi /etc/apache2/sites-available/nextcloud.conf
<VirtualHost *:80>
 ServerAdmin 이메일주소
 DocumentRoot /var/www/html/nextcloud/
 ServerName [ServerIP]/nextcloud
 ServerAlias [ServerIP]/nextcloud

 Alias /nextcloud "/var/www/html/nextcloud/"
 <Directory /var/www/html/nextcloud/>
 Options +FollowSymlinks
 AllowOverride All Require all granted
 <IfModule mod_dav.c>
 Dav off
 </IfModule>
 SetEnv HOME /var/www/html/nextcloud
 SetEnv HTTP_HOME /var/www/html/nextcloud
 </Directory>
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
[ServerIP]에 사용자의 서버 IP 주소를 입력한다.

 

 6) 모듈 활성화
a2ensite nextcloud.conf
a2enmod rewrite
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime


7) apache2 재시작
systemctl restart apache2.service


8. 마무리 설정
1) 관리자 계정 만들기

 

 


cd /

docker save -o nextcloud.tar nextcloud:first  ==>파일명은 nextcloud.tar

 

 

 

뭐가 뭔지...;;;;

 


 

 

 

 

 

 

ls 하고 나오는 nextcloud.tar 복사

docker load -i nextcloud.tar ==> 이미지 만들어진다.

 

rm -rf nextcloud.tar

docker images

docker create -i -t --name nextcloud -p 80:80 nextcloud:first

 

docker ps -a

nextcloud라는 컨테이너가 만들어짐

docker start nextcloud nextcloud

docker attach nextcloud

 

service apache2 start

==>다 날렸는데 인터넷 그대로 켜짐. 살아남

 

 

 

 

 

 


설치 자꾸 안될때 오류 해결

apt install sudo

728x90

'네트워크 수업 > Docker' 카테고리의 다른 글

zfw 23.05.15  (0) 2023.05.15
Docker - NSF 서버구축 23.05.12  (0) 2023.05.12
CLI(Command-line Interface) 23.05.11  (0) 2023.05.11
[실습] IOS_FW GNS3 23.05.10  (0) 2023.05.10
방화벽 23.05.10  (0) 2023.05.10

댓글