从零开始搭建Nextcloud#失败

安装Nginx和php7环境

CentOS 7默认是关闭网络的,首先开启网络。

1
cd /etc/sysconfig/network-scripts/

然后找到网卡命名的那个文件,做以下修改。

1
2
BOOTPROTO="DHCP"
ONBOOT=yes

然后用:wq保存退出,重启网络。

1
service network restart

还有就是如果你是纯净安装,记得运行如下指令来安装wget和unzip。

1
yum -y install wget unzip

由于CentOS7中并未包含Nginx的安装源,所以咱们需要通过EPEL的安装源来下载Nginx的安装包,使用以下命令来添加EPEL源。

1
yum -y install epel-release

现在就可以从EPEL仓库中安装Nginx了。

1
yum -y install nginx

但是由于某些不可描述的原因,还需要为 php7-fpm 添加另外一个仓库,这次用的是速度还行的webtatic。

1
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

然后来安装一些PHP7-FPM和Nextcloud需要的一些包。

1
yum -y install php70w-fpm php70w-cli php70w-gd php70w-mcrypt php70w-mysql php70w-pear php70w-xml php70w-mbstring php70w-pdo php70w-json php70w-pecl-apcu php70w-pecl-apcu-devel

最后查看PHP的版本号,确认PHP已经被正确安装。

1
php -v
说起来由于笔记不是一天写完的,咱忘记装没装过Nginx了,这里就需要一个命令。
> rpm -qa|grep nginx
其中-qa是列出所有程序,然后传递给grep来查找nginx,嗯就是这样。

配置PHP

只是安装了Nginx和PHP-FPM还不够,我们还要让他们协同运行。

编辑PHP-FPM的配置文件。

1
2
3
4
5
6
7
8
9
10
user = nginx
grout = nginx
listen = 127.0.0.1:80 这里可以改成你想要的端口
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

在哪些位置自己找吧..反正环境变量有点靠后,随便改随便改,记得保存退出。

然后我们要在 /var/lib/php 目录下面建立一个叫做session的文件夹,并且更改它的所有权限,其实这一步我也不懂为什么,但是不建立好像就要GG。

1
2
mkdir -p /var/lib/php/session
chown nginx:nginx -R /var/lib/php/session/

然后启动PHP-FPM和Nginx并且添加开机自启。

1
2
3
4
systemctl start php-fpm
systemctl enable php-fpm
systemctl start nginx
systemctl enable nginx

嗯,基本完成了。

#安装并且配置MariaDB
为什么用MariaDB而不是MongoDB呢~因为我们上课学过啊~

1
yum -y install mariadb mariadb-server

轻松搞定。

然后添加开机自启并且启动MariaDB。

1
2
systemctl start mariadb
systemctl enable mariadb

接着开始初始化MariaDB。

1
mysql_secure_installation

敲一次回车,输入Y,然后输入新密码两次,再疯狂回车就好了。

但是我们还要给NextCloud创建一个数据库和用户。

键入以下命令来登陆到MariaDB。

1
mysql -uroot -pPassword

如果光标提示符变成 MariaDB[{none}]: 即为已经登陆MariaDB。

键入以下语句来创建数据库和用户。

1
2
3
4
create database database_name;
create user username@localhost identified by 'username@';
grant all privileges on database_name.* to username@localhost identified by 'username@';
flush privileges; 刷新数据库

好了搞定,记好数据库名字和用户名,一会要用。

上线NextCloud

直接下载最新的NextCloud包,直到这篇文章完成的时候最新版本是12.0.3.

1
wget https://download.nextcloud.com/server/releases/nextcloud-12.0.3.zip

然后解压Nextcloud,扔到一个你喜欢的位置,这里我用的是Nginx默认位置。

1
2
unzip nextcloud-12.0.3.zip
mv nextcloud/ /usr/share/nginx/html/

顺便写个data给Nextcloud然后改权限。

1
2
mkdir -p ./nextcloud/data/
chown nginx:nginx -R nextcloud/

然后再Nginx目录下新建一个配置文件,并且写入配置就好了。

嗯,本应该这样,但是,但是,但是!!!

我折腾了整整一周!!!

该死的Fastcgi!!!它!!!用不了!!!

所以我放弃了,我们用LANP一键安装包吧(躺。

既然这样的话那就没什么好说的了(死鱼眼)。

就写到这里吧。