一、安裝PHP8.0以上
我這里使用PHP8.0.30
[root@localhost ~]# php -v
PHP 8.0.30 (cli) (built: Aug 3 2023 17:13:08) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
[root@localhost ~]#
安裝方法參考
二、安裝MYSQL8.0以上
我這里使用mysql8.0.35
[root@localhost ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.35 MySQL Community Server - GPLCopyright (c) 2000, 2023, Oracle and/or its affiliates.
三、安裝nginx或apache,
我這里使用apache,版本:2.4.6
[root@localhost ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: May 30 2023 14:01:11
[root@localhost ~]#
apache安裝方法有編譯安裝
這里使用YUM來再安裝一次
#檢查舊版apche,并卸載舊版
[root@localhost ~]# rpm -qa | grep httpd
[root@localhost ~]# yum remove httpd*
[root@localhost ~]# yum install httpd
[root@localhost ~]# systemctl start httpd# Apache配置文件:```go
[root@localhost ~]# find / -name httpd
/run/httpd
/etc/sysconfig/httpd
/etc/logrotate.d/httpd
/etc/httpd
/var/log/httpd
/var/cache/httpd
/usr/sbin/httpd
/usr/lib64/httpd
/usr/share/httpd
/usr/libexec/initscripts/legacy-actions/httpd
/data/httpd
[root@localhost ~]# [root@localhost ~]# find / -name httpd.conf
/etc/httpd/conf/httpd.conf
/usr/lib/tmpfiles.d/httpd.conf
[root@localhost ~]#
#開放80端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[root@localhost ~]#
[root@localhost ~]# firewall-cmd --zone=public --add-port=443/tcp --permanent
success
[root@localhost ~]#
#檢查確認是否開啟
[root@localhost ~]# firewall-cmd --reload
[root@localhost ~]# firewall-cmd --list-ports
80/tcp 443/tcp
[root@localhost ~]#
[root@localhost ~]#
三、安裝Nextcloud
1、
#啟用Apache PHP模塊
[root@localhost ~]# yum install mod_php
#vim
2、
#啟用Aapache https訪問模塊
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
#增加與修改處
#1、DirectoryIndex處增加index.php
#
<IfModule dir_module>DirectoryIndex index.php index.html
</IfModule>
#2、 LoadModule 處增加LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so#3、AddType處增加AddType application/x-httpd-php .phpAddType text/html .php
#、測試
[root@localhost ~]# echo " <?php phpinfo() ?>" > /var/www/html/index.php
[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# echo " <?php phpinfo() ?>" > /var/www/html/index.php
[root@localhost ~]# systemctl restart httpd
3、創建Nextcloud目錄,并下載最新Nextcloud文件到創建目錄
[root@localhost ~]# mkdir -p /data/nextcloud/
[root@localhost ~]# chown -R apache. /data/nextcloud/
[root@localhost ~]# chmod -R 755 /data/nextcloud/
[root@localhost ~]# cd /data/nextcloud/
[root@localhost nextcloud]# wget https://download.nextcloud.com/server/releases/latest.zip
[root@localhost nextcloud]# ls
latest.zip
[root@localhost nextcloud]# unzip latest.zip
[root@localhost nextcloud]# ls
latest.zip nextcloud
[root@localhost nextcloud]# rm -rf latest.zip
#修改發布目錄
[root@localhost html]# vim /etc/httpd/conf/httpd.conf
[root@localhost html]# systemctl restart httpd
4、創建數據庫,并登錄
[root@localhost ~]# mysql -uroot -p
mysql> CREATE DATABASE nextcloud;
Query OK, 1 row affected (0.01 sec)
mysql> create user 'nextcloud'@'%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on nextcloud.*to 'nextcloud'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>
四、優化nextcloud
1、
[root@localhost ~]# vim /data/nextcloud/nextcloud/config/config.php
#在Nextcloud的config.php配置文件后面添加:'activity_expire_days' => '90', #使得MySQL數據庫中oc_activity表中的數據記錄只保存90天的'memcache.local' => '\\OC\\Memcache\\Redis', #配置redis'redis' =>array ('host' => 'localhost','port' => 6379,),'memcache.locking' => '\\OC\\Memcache\\Redis','check_for_working_wellknown_setup' => false, 'default_phone_region' => 'CN',
);
~
2、
安裝下面三個模塊
yum install php-imagick php-gmp php-opcache
3、
[root@localhost ~]# vim /etc/php.ini
把memory_limit值修改為512M
4、
vim /data/nextcloud/nextcloud/config/config.php
#增加:
'default_phone_region' => 'CN',
5、
vim /data/nextcloud/nextcloud/config/config.php
#增加:
'check_for_working_wellknown_setup' => false,
6、
這個錯誤大多是配置redis后出現的
檢查有沒有安裝redis,安裝后還需要安裝php-redis擴展
[root@localhost ~]# yum install redis
[root@localhost ~]# systemctl start redis
[root@localhost ~]# yum install php-redis
7、
啟用https訪問
[root@localhost ~]# yum install mod_ssl openssl
[root@localhost ~]# vim /etc/httpd/conf.d/ssl.conf
8、
點擊后面查看哪些文件無效,大部份是.htaccess .user.ini 兩個文件,可以重nextcloud目錄重新拷貝過來
9、
[root@localhost nextcloud]# vim /etc/php.ini
在php配置文件中注釋掉output_buffering 。找到這個,前面加上;