下面我来详细讲解在CentOS7中如何使用Nginx和PHP7-FPM安装Nextcloud的完整攻略。整个过程可以分成以下几步:
1. 安装环境首先需要在CentOS7中安装必要的环境,包括Nginx、PHP、MariaDB等。可以使用以下命令来完成:
sudo yum install epel-release -y
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
sudo yum install -y nginx mariadb-server mariadb php php-fpm php-common php-mysqlnd php-intl php-gd php-xml php-mbstring php-mcrypt php-zip
2. 配置MariaDB
接下来需要配置MariaDB数据库。可以使用以下命令来完成:
sudo systemctl start mariadb
sudo mysql_secure_installation
根据提示,输入数据库管理员密码、删除匿名用户、禁止远程访问、删除测试数据库等等操作。
3. 配置Nginx完成MariaDB的配置后,需要配置Nginx。可以使用以下命令来完成:
sudo systemctl start nginx
sudo vi /etc/nginx/conf.d/nextcloud.conf
在编辑器中输入以下内容:
server {
listen 80;
server_name cloud.example.com;
# change the URL to your own domain name
root /var/www/nextcloud/;
index index.php;
access_log /var/log/nginx/nextcloud.access.log;
error_log /var/log/nginx/nextcloud.error.log;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include /etc/nginx/fastcgi_params;
}
}
修改server_name
为你的域名,保存修改,然后重新启动Nginx:
sudo systemctl restart nginx
4. 下载和安装Nextcloud
接下来需要下载和安装Nextcloud软件。可以使用以下命令来完成:
sudo mkdir -p /var/www/
cd /var/www/
sudo wget https://download.nextcloud.com/server/releases/nextcloud-21.0.1.tar.bz2
sudo tar -xvf nextcloud-21.0.1.tar.bz2
sudo rm -rf nextcloud-21.0.1.tar.bz2
sudo chown -R nginx:nginx /var/www/nextcloud/
5. 配置PHP
完成下载和安装后,需要配置PHP。可以使用以下命令来完成:
5.1 修改php.inisudo vi /etc/php.ini
找到以下两个设置:
memory_limit = 128M
upload_max_filesize = 16M
将其修改为:
memory_limit = 512M
upload_max_filesize = 1G
修改后保存退出。
5.2 配置php-fpm接下来需要编辑php-fpm的配置文件:
sudo vi /etc/php-fpm.d/www.conf
找到以下两个设置:
listen = 127.0.0.1:9000
;listen.owner = nobody
;listen.group = nobody
将其修改为:
listen = /var/run/php-fpm.sock
listen.owner = nginx
listen.group = nginx
修改后保存退出,然后重新启动PHP-FPM:
sudo systemctl restart php-fpm
6. 访问Nextcloud
完成以上步骤后,就可以通过浏览器访问Nextcloud了。在浏览器地址栏中输入http://cloud.example.com
(将example.com
换成你的域名),然后根据提示进行下一步的操作。
为了方便用户使用,可以将Nextcloud安装在可访问的IP地址上。例如,将Nextcloud安装在192.168.1.100
上,那么需要将Nginx的配置文件修改为:
server {
listen 80 default_server;
server_name _;
root /var/www/nextcloud;
index index.php index.html;
access_log /var/log/nginx/nextcloud.access.log;
error_log /var/log/nginx/nextcloud.error.log;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
然后重新启动Nginx:
sudo systemctl restart nginx
这样就可以通过浏览器访问http://192.168.1.100
来使用Nextcloud了。
在使用Nextcloud时,如果需要上传大文件,需要将PHP的最大上传文件大小调整为更大的值。可以使用以下命令来修改:
sudo vi /etc/php.ini
然后修改以下两个选项:
post_max_size = 2G
upload_max_filesize = 2G
修改完成后保存退出,然后重启Nginx和PHP-FPM:
sudo systemctl restart nginx
sudo systemctl restart php-fpm
这样就可以上传更大的文件了。