静看光阴荏苒
不管不顾不问不说也不念

openSUSE Tumbleweed安装Nextcloud

openSUSE官方存储库里已经为我们打包好了一个nextcloud的全家桶,基于LAMP环境,如果你要安装的话只需要一条命令即可完成:

sudo zypper in nextcloud

我们只需要再装一个opcache即可,这是优化nextcloud所需,这个包不知道为啥不当作nextcloud的依赖,不知道是不是漏掉了:

sudo zypper in php7-opcache

如果在后续需要配置SSL,你还可以安装certbot的apache插件:

sudo zypper in python3-certbot-apache

提示:

1.建议安装nextcloud的机器内存要有2GB。

2.这个软件包基于LAMP环境,它会自动帮你安装apache/mariadb/php,如果你的系统内装了nginx,需要停止掉。

3.建议只在tumbleweed版本上操作,leap的话不推荐用这个方法。因为leap的软件包较旧,你可能无法及时获取到nextcloud的更新和最新版,还是去nextcloud官网自己下压缩包安装比较好。

接下来我们只需要简单的对LAMP环境进行配置即可,首先把服务都启动,启动apache:

sudo systemctl start apache2
sudo systemctl enable apache2

启动mariadb:

sudo systemctl start mariadb
sudo systemctl enable mariadb

如果你是初次安装mariadb需要执行下面的命令进行一番配置:

sudo mysql_secure_installation

登录mariadb:

mysql -u root -p

创建一个名为nextcloud的数据库和用户并设置用户密码:

CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON nextcloud.* TO nextcloud@localhost IDENTIFIED BY '设置你的用户密码';
FLUSH PRIVILEGES;
quit

接下来配置apache,首先启用一些所需的mod:

sudo a2enmod php7
sudo a2enmod rewrite

这里的apache是使用的mod_php,如果你要apache使用php-fpm的话需要额外配置,这里不细说。只是提醒一下,如果你安装了nginx并启用了php-fpm不会影响到这里的apache,因为mod_php和php-fpm根本不是一个东西。你只需要注意nginx不要把80/443端口占用了就行。

新建一个虚拟主机配置文件:

sudo nano /etc/apache2/vhosts.d/nextcloud.conf

写入如下配置即可:

<VirtualHost *:80>
ServerName cloud.imlala.best
DocumentRoot /srv/www/htdocs/nextcloud
</VirtualHost>

重启apache:

sudo systemctl restart apache2

访问你的域名开始安装:

到这里安装好后,如果你不打算继续配置一些优化的东西那么就可以拿来用了。

但是你要知道nextcloud这货就是个非常臃肿的东西,不优化好的话后面使用起来各种卡。所以建议还是麻烦一下把下面的这些步骤走一走。

首先在设置-基本设置-后台任务这里把它改为cron:

然后启用nextcloud的systemd定时器即可:

sudo systemctl enable --now nextcloud-cron.timer

这个定时器也是nextcloud这个官方软件包为我们提供的,默认5分钟执行一次,你可以查看运行状态,确保它在正常工作:

sudo systemctl status nextcloud-cron.timer

启用漂亮的URL(去掉地址中的index.php)

首先把.htaccess的所属用户和组改下,不然后续occ没有权限改动这个文件:

sudo chown -R wwwrun:www /srv/www/htdocs/nextcloud/.htaccess

编辑nextcloud的配置文件:

sudo -u wwwrun nano /srv/www/htdocs/nextcloud/config/config.php

加入如下配置:

'htaccess.RewriteBase' => '/',

默认情况下php7-apcu已经安装好了,所以你还可以在这里加上APCu的缓存配置:

'memcache.local' => '\OC\Memcache\APCu',

运行occ更新.htaccess:

sudo -u wwwrun php /srv/www/htdocs/nextcloud/occ maintenance:update:htaccess

最后编辑php.ini,配置一下opcache和php内存限制:

sudo nano /etc/php7/apache2/php.ini

需要改动的地方:

memory_limit = 512M
opcache.enable=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

重启apache使其生效:

sudo systemctl restart apache2

签发SSL证书,整个过程是全自动的,不需要人工干预:

sudo certbot --apache

以上是在openSUSE上搭建nextcloud的整个过程,后续你在使用了一段时间后会发现单独拿nextcloud这个程序来说的话,apache其实比nginx好用。

而openSUSE更是人性化,直接提供了全家桶方便安装(吹一波,让更多的人入坑)

像我拿openSUSE做桌面环境的话,不仅服务端,连客户端都准备好了,要安装也是zypper一把梭:

sudo zypper in nextcloud-desktop nextcloud-desktop-lang
赞(5)
未经允许不得转载:荒岛 » openSUSE Tumbleweed安装Nextcloud
分享到: 更多 (0)

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

分享创造快乐

广告合作资源投稿