나의 순정 스마트폰을 nextcloud 서버로 만들어보자!(대체 왜...? 굳이...?)
노루팅 스마트폰에 nextcloud22 서버를 만들어 봤습니다...
만들어보니 좀... 뭐랄까... 그렇네요...
이것저것 다 안돼서 만들기도 어렵고 정작 만들어도 보안도 엉망이고...
일단 명령어는 아래에 적어놨으나(안돼도 책임X, 저도 왜 되고 안되는지 몰라요...)
절대 따라하진 마시고
착한 리눅서는 최소한 라즈베리파이 같은 정상적인 장비로 서버를 만듭시다 ^^
(정신 건강에 몹시 해롭습니다.)
진지합니다. 궁서체입니다.
기종 : LG V20
어플 : UserLAnd ubunt 18
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update -y
sudo apt-get install vim apache2 libapache2-mod-php7.4 openssl php-imagick php7.4-common php7.4-curl php7.4-gd php7.4-imap php7.4-intl php7.4-json php7.4-ldap php7.4-mbstring php7.4-mysql php7.4-pgsql php-smbclient php-ssh2 php7.4-sqlite3 php7.4-xml php7.4-zip -y
vim /etc/apache2/apache2.conf
# ServerName 내주소
vim /etc/apache2/ports.conf
#포트변경
vim /etc/apache2/sites-available/000-default.conf
#포트변경
sudo service apache2 start
service apache2 start
#둘 중 되는 것 확인
sudo apt-get install mariadb-server mariadb-client -y
mkdir /var/run/mysqld/
sudo touch /var/run/mysqld/mysqld.sock
sudo chown mysql:mysql /var/run/mysqld/mysqld.sock
sudo chmod 777 /var/run/mysqld/mysqld.sock
sudo service mysql start
sudo mysql_secure_installation
sudo service mysql reload
sudo mysql -u root -p
#CREATE DATABASE nextcloud;
#CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY '비밀번호';
#GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY '비밀번호';
#FLUSH PRIVILEGES;
#EXIT;
sudo apt-get install curl git -y
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
cd /var/www/html
sudo git clone --branch stable22 https://github.com/nextcloud/server.git nextcloud
cd /var/www/html/nextcloud
sudo composer install
sudo git submodule update --init
sudo chown -R www-data:www-data /var/www/html/nextcloud/
sudo chmod -R 755 /var/www/html/nextcloud/
sudo vim /etc/apache2/sites-available/nextcloud.conf
#아래 내용을 그대로 집어넣고 적절하게 값입력
<VirtualHost *:내포트>
ServerAdmin 내이메일주소
DocumentRoot /var/www/html/nextcloud/
ServerName 내주소
ServerAlias 내주소
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>
sudo a2ensite nextcloud.conf
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
service apache2 restart
※ service apache2 start : no root 상태로 시작
※ 재시작 : service apache2 start; sudo service mysql start
이렇게하고 아이피:포트/nextcloud로 접속하시면 됩니다.
ex) 내 내부 ip가 192.123.456.789이고 8888포트로 지정했다면 192.123.456.789:8888/nextcloud로 접속하시면 됩니다.
참고로 포트를 바꾸는 이유는 80포트가 막힌 공유기가 있기 때문입니다.(본인)
...눈만 감으면 아무런 문제도 없습니다.
참고자료
https://yorublog.tistory.com/35
https://yorublog.tistory.com/34?category=895031
https://jimnong.tistory.com/807
캬,,, 결국 구동까지 완료하셨군요.
끈기에 박수를,,,
이제 워드프레스나 다른도커서비스들도ㅎㅎ
경험상 웬만한 건 될 것 같습니다.
userland 어플로 설치되는 우분투 환경 자체가 도커내부 환경과 비슷한 것 같은데
인터넷에서 나오는 데몬 설정을 못할 뿐인 것 같더군요.
다만 안 되는 명령어가 많아서 다른 방법으로 해결하거나 오류해결에 많은 시간을 투자해야 할 뿐이죠.
근데 그럴거면 차라리 제대로 된 장비를 사서 우분투하는 것이 경제적입니다...(+정신건강상 이로움)
cmt alert