文/老谭
NextCloud 是基于云技术的工程教育平台,利用云技术,提高工程教育过程中教学、实验与创新的效率与效果。每一位nextcloud的使用者都可以以教师或学生身份登录, 从而使得每个人都可以传授知识也可以学习知识,真正做到any time, any where的工程教育全新愿景。
安装环境:Ubuntu 16.04.6 LTS
一、安装Apache2
sudo apt-get install apache2
如果出现如下错误:
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?
执行如下命令后,再执行安装apache2命令:
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
安装完成后,浏览器访问http://your ip/,出现It works!网页表示安装成功。
修改状态:
service apache2 status|start|stop|restart
站点目录:/var/www/
修改权限:
sudo chmod 777 /var/www
安装目录:/etc/apache2/
全局配置:/etc/apache2/apache2.conf
监听端口:/etc/apache2/ports.conf
虚拟主机:/etc/apache2/sites-enabled/000-default.conf
二、安装MariaDB
sudo apt-get install mariadb-server mariadb-client
如果出现:
dpkg was interrupted you must marually run 'dpkg --configure -a' to correct the problem
则执行命令:
dpkg --configure -a
如果出现:
dpkg: error: parsing file'/var/lib/dpkg/updates/0003'near line 0:
newlineinfield name'#padding'
则执行命令:
sudo rm /var/lib/dpkg/updates/*
sudo apt-get update
即可。
启动MariaDB服务:
sudo systemctl start mysql
查看状态:
sudo systemctl status mysql
重启服务:
service mysql restart
查看监听端口的情况:
netstat -tunpl 或 netstat -tap
执行初始化安全脚本,默认root密码为空,设置root密码和其他选项:
sudo mysql_secure_installation
为NextCloud创建数据库和用户
创建数据库nextcloud,用户名nextcloud,密码XXXXXXXX
sudo mysql -u root -p
进入MariaDB后,执行:
#创建数据库,名为:nextcloud
CREATE DATABASE nextcloud;
#给用户nextcloud全部权限
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
测试:
php7.0 -v
重启服务:
service apache2 restart
测试Apache能否解析PHP
sudo vi /var/www/html/phpinfo.php
文件中写:
浏览器访问:http://your ip/phpinfo.php,出现PHP Version网页
四、安装phpMyAdmin
sudo apt-get install phpmyadmin
安装:选择apache2,点击确定。下一步选择是要配置数据库,并输入密码。
创建phpMyAdmin快捷方式:
sudo ln -s /usr/share/phpmyadmin /var/www/html
启用Apache mod_rewrite模块:
sudo a2enmod rewrite
重启服务:
service php7.0-fpm restart & service apache2 restart
测试:浏览器访问:http://your ip/phpmyadmin
五、配置Apache
sudo vi /etc/apache2/apache2.conf
在文件最后面添加:
AddType application/x-httpd-php .php .htm .html
AddDefaultCharset UTF-8
然后重启Apache服务。
到此为止,web站点其实已经搭建起来了,只需在/var/www/html目录下存放网页文件,电脑主机就可以访问服务器了,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
接下来只需要在电脑主机的浏览器上输入http://your ip/nextcloud,就可以正常访问了。
以上步骤是实践过程,到最后的结果是不能正常访问,界面如下:
昨晚调试了几个小时也没能搞定,包括更新源、彻底删除PHP7.0后安装PHP7.1、重装Apache2等等。今天请教高手,继续调试。
加油(ง •̀_•́)ง
2019.12.17 继续安装
先重装PHP7.0,按前面安装的步骤即可。访问http://ip/nextcloud,发现问题依旧,还是上图的样子。
找高手分析原因,发现有2个权限相关的问题:
1、目录权限问题
sudo chmod -R 0777 /var/www/html/nextcloud
即可。
2、数据库权限问题
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/
接下来,重启一下php和apache2服务:
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
接下来修改apache服务器默认网站根目录,有以下3处:
1. 修改 /etc/apache2/apache2.conf 文件
/var/www/html/nextcloud> Options Indexes FollowSymLinks
AllowOverride None
Require all granted
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服务器即可。
sudo service apache2 restart
在电脑主机的浏览器上输入http://your ip addr,界面如下:
————————————————
The end.