文/老譚
NextCloud 是基于云技術(shù)的工程教育平臺(tái)怀估,利用云技術(shù)媒抠,提高工程教育過(guò)程中教學(xué)善玫、實(shí)驗(yàn)與創(chuàng)新的效率與效果工窍。每一位nextcloud的使用者都可以以教師或?qū)W生身份登錄科乎, 從而使得每個(gè)人都可以傳授知識(shí)也可以學(xué)習(xí)知識(shí)壁畸,真正做到any time, any where的工程教育全新愿景茅茂。
安裝環(huán)境:Ubuntu 16.04.6 LTS
一捏萍、安裝Apache2
sudo apt-get install apache2
如果出現(xiàn)如下錯(cuò)誤:
E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
執(zhí)行如下命令后,再執(zhí)行安裝apache2命令:
sudo? rm? /var/lib/apt/lists/lock
sudo? rm? /var/cache/apt/archives/lock
sudo? rm? /var/lib/dpkg/lock
安裝完成后空闲,瀏覽器訪問http://your ip/照弥,出現(xiàn)It works!網(wǎng)頁(yè)表示安裝成功。
修改狀態(tài):
service apache2 status|start|stop|restart
站點(diǎn)目錄:/var/www/
修改權(quán)限:
sudo chmod 777 /var/www
安裝目錄:/etc/apache2/
全局配置:/etc/apache2/apache2.conf
監(jiān)聽端口:/etc/apache2/ports.conf
虛擬主機(jī):/etc/apache2/sites-enabled/000-default.conf
二进副、安裝MariaDB
sudo apt-get install mariadb-server mariadb-client
如果出現(xiàn):
dpkg was interrupted you must marually run 'dpkg --configure -a' to correct the problem
則執(zhí)行命令:
dpkg --configure -a
如果出現(xiàn):
dpkg: error: parsing file'/var/lib/dpkg/updates/0003'near line 0:
newlineinfield name'#padding'
則執(zhí)行命令:
sudo rm /var/lib/dpkg/updates/*
sudo apt-get update
即可这揣。
啟動(dòng)MariaDB服務(wù):
sudo systemctl start mysql
查看狀態(tài):
sudo systemctl status mysql
重啟服務(wù):
service mysql restart
查看監(jiān)聽端口的情況:
netstat -tunpl 或 netstat -tap
執(zhí)行初始化安全腳本悔常,默認(rèn)root密碼為空,設(shè)置root密碼和其他選項(xiàng):
sudo mysql_secure_installation
為NextCloud創(chuàng)建數(shù)據(jù)庫(kù)和用戶
創(chuàng)建數(shù)據(jù)庫(kù)nextcloud给赞,用戶名nextcloud机打,密碼XXXXXXXX
sudo mysql -u root -p
進(jìn)入MariaDB后,執(zhí)行:
#創(chuàng)建數(shù)據(jù)庫(kù)片迅,名為:nextcloud
CREATE DATABASE nextcloud;
#給用戶nextcloud全部權(quán)限
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'XXXXXXXX';
FLUSH PRIVILEGES;
#退出
\q
三残邀、安裝PHP及其他模塊
sudo apt-get install php7.0
sudo apt-get install apache2 mariadb-server libapache2-mod-php7.0
sudo apt-get install php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-mbstring
sudo apt-get install php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip
測(cè)試:
php7.0 -v
重啟服務(wù):
service apache2 restart
測(cè)試Apache能否解析PHP
sudo vi /var/www/html/phpinfo.php
文件中寫:<?php echo phpinfo();?>
瀏覽器訪問:http://your ip/phpinfo.php,出現(xiàn)PHP Version網(wǎng)頁(yè)
四柑蛇、安裝phpMyAdmin
sudo apt-get install phpmyadmin
安裝:選擇apache2芥挣,點(diǎn)擊確定。下一步選擇是要配置數(shù)據(jù)庫(kù)耻台,并輸入密碼空免。
創(chuàng)建phpMyAdmin快捷方式:
sudo ln -s /usr/share/phpmyadmin /var/www/html
啟用Apache mod_rewrite模塊:
sudo a2enmod rewrite
重啟服務(wù):
service php7.0-fpm restart & service apache2 restart
測(cè)試:瀏覽器訪問:http://your ip/phpmyadmin
五、配置Apache
sudo vi /etc/apache2/apache2.conf
在文件最后面添加:
AddType application/x-httpd-php .php .htm .html
AddDefaultCharset UTF-8
然后重啟Apache服務(wù)盆耽。
到此為止蹋砚,web站點(diǎn)其實(shí)已經(jīng)搭建起來(lái)了,只需在/var/www/html目錄下存放網(wǎng)頁(yè)文件摄杂,電腦主機(jī)就可以訪問服務(wù)器了坝咐,http://ip/xxx.html。
六析恢、下載nextcloud
cd /var/www/html
sudo wget https://download.nextcloud.com/server/releases/nextcloud-15.0.5.zip? --no-check-certificate
sudo unzip nextcloud-15.0.5.zip? ? ? ?
##如果沒有安裝unzip軟件墨坚,則在命令行輸入sudo apt-get install unzip 即可。
sudo rm nextcloud-15.0.5.zip
接下來(lái)只需要在電腦主機(jī)的瀏覽器上輸入http://your ip/nextcloud映挂,就可以正常訪問了框杜。
以上步驟是實(shí)踐過(guò)程,到最后的結(jié)果是不能正常訪問袖肥,界面如下:
昨晚調(diào)試了幾個(gè)小時(shí)也沒能搞定咪辱,包括更新源、徹底刪除PHP7.0后安裝PHP7.1椎组、重裝Apache2等等油狂。今天請(qǐng)教高手,繼續(xù)調(diào)試寸癌。
加油(? ??_??)?
2019.12.17? 繼續(xù)安裝
先重裝PHP7.0专筷,按前面安裝的步驟即可。訪問http://ip/nextcloud蒸苇,發(fā)現(xiàn)問題依舊磷蛹,還是上圖的樣子。
找高手分析原因溪烤,發(fā)現(xiàn)有2個(gè)權(quán)限相關(guān)的問題:
1味咳、目錄權(quán)限問題
sudo chmod -R 0777 /var/www/html/nextcloud
即可庇勃。
2、數(shù)據(jù)庫(kù)權(quán)限問題
mysql -u root -p
mysql>grant all privileges on *.* to root@"localhost" identified by "XXXX" with grant option;? ? ? ? PS:XXXX代表你的root密碼
參考:https://www.douban.com/note/311849800/
接下來(lái)槽驶,重啟一下php和apache2服務(wù):
sudo service php7.0-fpm restart & service apache2 restart
如果遇到以下提示:
Warning: apache2.service changed on disk. Run 'systemctl daemon-reload' to reload units.
解決如下 :
systemctl daemon-reload
systemctl start apache2
接下來(lái)修改apache服務(wù)器默認(rèn)網(wǎng)站根目錄责嚷,有以下3處:
1. 修改 /etc/apache2/apache2.conf 文件
<Directory? /var/www/html/nextcloud>
? ? Options Indexes FollowSymLinks
? ? AllowOverride None
? ? Require all granted
</Directory>
2. 修改 /etc/apache2/sites-available/000-default.conf 文件
DocumentRoot? /var/www/html/nextcloud
3. 修改 /etc/apache2/sites-available/default-ssl.conf 文件
DocumentRoot? /var/www/html/nextcloud
最后重啟apache服務(wù)器即可。
sudo service apache2 restart
在電腦主機(jī)的瀏覽器上輸入http://your ip addr掂铐,界面如下:
————————————————
The end.