Centos 7下搭建nextcloud

准备工作

  • 一台装有Centos系统的服务器
  • root权限

第一步:更新系统

用root用户登陆系统并执行以下代码将系统进行更新。

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

重启后用root用户再次登陆

第二步:部署Apache服务器

安装Apache服务器作为nextcloud的运行环境。

sudo yum install httpd -y

关闭apache服务器的欢迎界面

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

为了安全起见,请防止Apache在Web根目录中显示内容/var/www/html:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

防止apache加载WebDAV模块

sudo sed -i 's/^/#&/g' /etc/httpd/conf.modules.d/00-dav.conf

启动apache服务并设置为开机启动

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

第三步:安装PHP和必要的PHP扩展

cd
wget https://centos7.iuscommunity.org/ius-release.rpm
sudo rpm -Uvh ius-release.rpm
sudo yum install php56u php56u-common php56u-xml php56u-gd php56u-mbstring php56u-process php56u-mysqlnd php56u-intl php56u-mcrypt php56u-imap php56u-cli -y

将上传文件大小增加到适当的值,比如50MB:

sudo cp /etc/php.ini /etc/php.ini.bak
sudo sed -i "s/post_max_size = 8M/post_max_size = 50M/" /etc/php.ini
sudo sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 50M/" /etc/php.ini

重新启动Apache以应用上述修改:

sudo systemctl restart httpd.service

Step 4: 第四步:安装MariaDB

安装MariaDB:

sudo yum install mariadb mariadb-server -y

设置为开机启动

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
sudo /usr/bin/mysql_secure_installation

在这个过程中,逐一回答以下问题:

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

为Nextcloud配置数据库:

mysql -u root -p

输入你之前设置登录MariaDB的root密码。

在MySQL控制台中,您需要创建一个数据库和一个数据库用户,然后授予该数据库用户的权限。

使用以下命令完成工作。务必更换数据库名称”nextcloud”,数据库用户名”nextclouduser”和数据库用户密码“密码”在每一个命令,你自己的东西。

CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

第五步:安装NextCloud

下载最新的安装包

cd
wget https://download.nextcloud.com/server/releases/nextcloud-9.0.53.zip

解压

sudo yum install unzip -y
unzip nextcloud-9.0.53.zip

把所有的nextcloud文件到网站的根目录,然后给予他们适当的权限:

sudo mv nextcloud/* /var/www/html && sudo chown apache:apache -R /var/www/html

从下列样本参数的命令行界面安装NextCloud。一定要用你自己的换掉。

  • database-name: nextcloud
  • database-user: nextclouduser
  • database-pass: yourpassword
  • admin-user: admin
  • admin-pass nextcloudadminpassword

运行

cd /var/www/html/
sudo -u apache php occ maintenance:install --database "mysql" --database-name "nextcloud"  --database-user "nextclouduser" --database-pass "yourpassword" --admin-user "admin" --admin-pass "nextcloudadminpassword"

如果成功将会出现:

Nextcloud is not installed - only a limited number of commands are available
ownCloud was successfully installed

把你的服务器IP(例如:203.0.113.1)和域名(说它是www.example.com)添加为NextCloud的信任域列表:

sudo vi /var/www/html/config/config.php

找到行:

0 => 'localhost',

插入以下内容:

1 => '203.0.113.1',
2 => 'www.example.com',

保存并退出

:wq!

为了安全起见,你需要建立强大的权限在nextcloud文件和目录安装z后:

sudo find /var/www/html -type f -print0 | sudo xargs -0 chmod 0640
sudo find /var/www/html -type d -print0 | sudo xargs -0 chmod 0750
sudo chown -R root:apache /var/www/html
sudo chown -R apache:apache /var/www/html/apps
sudo chown -R apache:apache /var/www/html/config
sudo chown -R apache:apache /var/www/html/data
sudo chown -R apache:apache /var/www/html/themes
sudo chown -R apache:apache /var/www/html/updater
sudo chmod 0644 /var/www/html/.htaccess
sudo chown root:apache /var/www/html/.htaccess
sudo chmod 0644 /var/www/html/data/.htaccess
sudo chown root:apache /var/www/html/data/.htaccess

另外,请记住还有一个目录并没有被创建,命名为/var/www/html/assets. 如果将来创建这个目录,您还需要运行以下命令:

sudo chown -R apache:apache /var/www/html/assets

这些设置可以帮助防止未经授权的访问nextcloud。

注意:如果你需要更新在未来nextcloud,你可以暂时放松权限使用以下命令:

sudo chown apache:apache -R /var/www/html

更新后,仍然设置强权限,如上所述。

重新启动Apache以使更改生效

sudo systemctl restart httpd.service

修改防火墙规则以允许访问者访问:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

访问 http://203.0.113.1 进行登陆


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值