f nextcloud-21.0.2 Installation On Ubuntu 20.04 ~ 迪貝之家

nextcloud-21.0.2 Installation On Ubuntu 20.04

 

1.packages for the Nextcloud core system
apt upgrade
apt install apache2 mariadb-server libapache2-mod-php7.4
apt install php7.4-gd php7.4-mysql php7.4-curl php7.4-mbstring php7.4-intl
apt install php7.4-gmp php7.4-bcmath php-imagick php7.4-xml php7.4-zip
2.Start MySQL
/etc/init.d/mysql start
mysql -uroot -p
3.Create Nextcloud DB
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'urpassword';
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
4.解壓縮至WEB根目錄
unzip nextcloud-21.0.2.zip
cp -r nextcloud /var/www/html
cd /var/www/html
chown www-data nextcloud -Rf
chmod 770 nextcloud -Rf
5.配置Apache
/etc/apache2/apache2.conf
在最后面添加:
AddType application/x-httpd-php .php .htm .html
AddDefaultCharset UTF-8
重启Apache服务 :
systemctl restart apache2
寫到了這裡
如果你只是要測試而已
那你可以透過ip來進行nextcloud的初始化
如果你是要建置給其他人使用的
那我建議還是先把整個FQDN先協調弄妥後
再來進行nextcloud 初始化
因為你既然用了這個CMS
我想你應該會想用它的onlyoffice
要用它,問題會有點大
主要是在於它跟document server的整合
看圖:
我手上的環境
完整的路徑如下:
https://www.mydomain.com/nextcloud/index.php/apps/documentserver_community/
這個問題其實是我前幾天已經弄好一個環境
現在準備enable ssl發生的
因為只要啟動了SSL
雖然登入正常
但只要你點選了office的文件
系統就會出現
onlyoffice cannot be reached. please contact admin
搞了一天...最後才了解為何它會發生
仔細地想了一下
如果要用SSL 連接,及使用onlyoffice
一開始就得把domain給要到
安裝package時,最好就把 libapache2-mod-md 也給安裝上去
我們來啟用SSL吧 !!
這種服務不加密
不就等於把內部文件開放公眾了嗎?
apt-get install libapache2-mod-md
a2enmod md
a2enmod ssl
a2enmod rewrite
a2enmod headers
a2ensite default-ssl.conf
systemctl restart apache2
既然都把DNS相關的Record申請到了
那就最好把apache的預設server name 也設成那組FQDN
當然你也可以把用到80 Port 的default site給關掉
a2dissite 000-default.conf
systemctl restart apache2

https://www.cyberciti.biz/faq/how-to-install-apache-on-ubuntu-20-04-lts/
https://www.cyberciti.biz/faq/how-to-secure-apache-with-mod_md-lets-encrypt-on-ubuntu-20-04-lts/
這是我設定nextcloud時所碰到的一些問題
1. ipv6設定影響到了google smtp的解析
這是在我筆電上的vm發生的
可是在我公司的環境居然沒有
後來找了資料
應該是ubuntu 預設就啟動了ipv6
可能公司的網路沒有ipv6
所以連到google smtp就只用ipv4
但在我電腦上
我用的是手機的網路
出去的預設ip就是ipv6
google smtp 不接受ipv6
但disable ipv6經我測試下
好像只有下指令才會非常完全
# 停用 IPv6 網路位址
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
在sysctl.conf還是grub裏頭disble都無法完全不啟動
找時間再查吧~~
https://officeguide.cc/ubuntu-linux-disable-ipv6-address-tutorial/

2.doc檔透過onlyoffice 轉docx時出現的問題
在config.php裏頭加上相關的設定來解決
3.已安裝onlyoffice後,再啟用ssl,office文件就沒辦法開啟了
這就是我為何前面提醒要好好的建置nextcloud前
最好先把DNS及IP規劃好
因為onlyoffice的運作是依賴document server
所以安裝完document server
再安裝onlyoffice
onlyoffice要使用你登入nextcloud後
當下FQDN組成的URL寫在它的預設設定裏頭
因此當你決定啟用SSL後
80 Port的預設web site就不能用了
如果你要線上office 文件編輯的功能正常運作的話
https://github.com/nextcloud/server/issues/20879
https://docs.nextcloud.com/server/latest/admin_manual/installation/example_ubuntu.html
我原本安裝onlyoffice的步驟如下:
/var/www/html/nextcloud
/usr/bin/php7.4 occ app:install documentserver_community
/usr/bin/php7.4 occ app:install onlyoffice
重新安裝後,修正的步驟如下:
document server在預設的app store裏頭找不到
還是得手動安裝它
/var/www/html/nextcloud
/usr/bin/php7.4 occ app:install documentserver_community
然後以admin身分登入nextcloud
從UI 裏頭的search box找
4.安裝2FA
你要更高的安全性的話
就啟動TWO FACTOR AUTHENTICATOR 的模組
指令安裝或者UI安裝都可以
/usr/bin/php7.4 occ app:install twofactor_totp

5.協同作業設定SMTP:
如果你用的是google的smtp
那你要把你的goole 帳號設成較低安全性來存取
這是EMAIL的設定
在我建置過程中
我其實對opensource的領域
不襟又發出了感嘆!!
這年頭要靠資訊技能賺錢...
真的不容易啊!!
免費軟體都可以做到這個地步了~~
想想也是啦~~
我弄過Nagios 3.x及4.x Core版本
就是花時間研究一下而已
何必要花大錢買什麼監控軟體哩~~
我也玩過一段時間的wordpress
Nextcloud其實也是類似的CMS
都走LAMP架構
不過如果你是要經營網站的話
重點還是在content啦~~
所以最後我就不研究wordpress了
直接用blogger來建置我個人的web site