趁著這次更新的機會,將私有雲軟體從 owncloud更換為 nextcloud,
其實這兩個軟體都是同一個作者寫的,所以在介面跟安裝上極其類似,
但owncloud偏向商業使用,很多功能必須付費,而nextcloud則偏向個人及社群使用,
用戶活躍度跟社群參與討論度都較高,趁這個機會就換了。
nextcloud需要php 7.2以上的支援,而ubuntu的php則已經到˙7.4,執行以下指令安裝php:
sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline
在apache2上啟動php模組支援:
sudo a2enmod php7.4
重新啟動apache2:
sudo systemctl restart apache2
到此完成php的安裝,接下來就可以準備安裝 nextcloud了。
下載 netcloud,現在最新版的 nectcloud是 23.0.3,執行指令:
wget https://download.nextcloud.com/server/releases/nextcloud-23.0.3.zip
然後解壓縮到 /var/www 目錄下:
sudo apt install unzip
sudo unzip nextcloud-23.0.3.zip -d /var/www/
變更群組及使用者為www-data:
sudo chown www-data:www-data /var/www/nextcloud/ -R
建立一個名為 nextcloud 的mysql 資料庫及使用者:
sudo mysql
create database nextcloud;
create user nextcloud@localhost identified by 'your-password';
紅色部分的密碼記得用你自己的設定。
授權 nextcloud 可以使用 cloud這個資料庫:
grant all privileges on nextcloud.* to nextcloud@localhost identified by 'your-password';
密碼要跟你上面設定的一樣。
登出資料庫:
flush privileges;
exit;
以下apache2的設定有兩種方式,一種是用vhost,也就是虛擬主機的方式,執行:
sudo nano /etc/apache2/sites-available/nextcloud.conf
修改內容為:
<VirtualHost *:80>
DocumentRoot "/var/www/nextcloud"
ServerName nextcloud.bell.idv.tw
ErrorLog ${APACHE_LOG_DIR}/nextcloud.error
CustomLog ${APACHE_LOG_DIR}/nextcloud.access combined
<Directory /var/www/nextcloud/>
Require all granted
Options FollowSymlinks MultiViews
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
Satisfy Any
</Directory>
</VirtualHost>
藍色文字為網域名稱,適合有自己的網域名稱,有DNS設定可以用虛擬主機的方式連線。
另一種方式適合不想用vhost,只想用IP或是 /主機/nextcloud/ 這種方式連線的人,一樣修改:
sudo nano /etc/apache2/sites-available/nextcloud.conf
Alias /nextcloud "/var/www/nextcloud/"
<Directory /var/www/nextcloud/>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
<IfModule mod_dav.c>
Dav off
</IfModule>
</Directory>
存檔後離開。
啟用這個網站設定:
sudo a2ensite nextcloud
啟用apache2的相關模組:
sudo a2enmod rewrite headers env dir mime setenvif ssl
重啟apache2:
sudo systemctl restart apache2
有一些php模組需要補上去,安裝:
sudo apt install imagemagick 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
沒裝好的話可能會出現這樣的錯誤畫面:
安裝好php模組之後要重新啟動apache2:
sudo systemctl restart apache2
在電腦上的瀏覽器輸入: http://nextcloud.urhost.com(第一種設定) 或是 http://ip/nextcloud/ (第二種設定)
可以看到nextcloud的設定畫面:
畫面往下拉可以看到設定的按鈕:
設定內容:
最上面是nextcloud的管理員帳號,中間是server上使用者的家目錄,下面是資料庫的相關設定。
設定完之後按安裝,等一段時間安裝好會跳到nextcloud主頁畫面,即可進行其他操作,
nextcloud的基本安裝到此結束。