Ubuntu下手动安装NextCloud

文/老谭

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,就可以正常访问了。

以上步骤是实践过程,到最后的结果是不能正常访问,界面如下:

Ubuntu下手动安装NextCloud_第1张图片
访问出错

昨晚调试了几个小时也没能搞定,包括更新源、彻底删除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,界面如下:

Ubuntu下手动安装NextCloud_第2张图片
登录界面


————————————————

The end.

你可能感兴趣的:(Ubuntu下手动安装NextCloud)