自行搭建全部开源的:代码管理、缺陷跟踪、项目管理、同步云盘(三)--NextCloud
私有云盘主要的作用是将PC机,工作机,手机连在一起,文件在几个设置之前进行共享。
前两节我们介绍了gitlab和meterphere,现在我给大家介绍自行搭建的私有云盘,这里需要提醒小伙伴们,同步云盘并不适合存放代码,同步的私有云盘主要放置一些你需要的文件,资料,ISO等,不适合存放代码。
私有云盘主要的作用是将PC机,工作机,手机连在一起,文件在几个设置之前进行共享。
这里我们介绍的私有云盘为nextcloud,我们以ubuntu20.04为操作系统,介绍具体的配置方法如下。
1、安装数据库环境
apt install apache2 mariadb-server libapache2-mod-php7.4
apt install php7.4-gd php7.4-mysql php7.4-curl php7.4-mbstring php7.4-intl
apt install php7.4-gmp php7.4-bcmath php-imagick php7.4-xml php7.4-zip php7.4-apcu
apt install libmagickcore-6.q16-6-extra
2、安装Nextcloud。
步骤1.首先,通过apt在终端中运行以下以下命令,确保所有系统软件包都是最新的。
sudo apt update
sudo apt upgrade
步骤2.安装LAMP堆栈。
需要Ubuntu 20.04 LAMP服务器。如果您未安装LAMP,则可以在此处按照我们的指南进行操作。
步骤3.在Ubuntu 20.04上安装Nextcloud。
现在,我们下载最新版本的Nextloud(当前时间2020-03-03):
wget https://download.nextcloud.com/server/releases/nextcloud-23.0.2.zip
将Nextcloud存档解压缩到服务器上的文档根目录:
unzip nextcloud-23.0.2.zip
mv nextcloud /var/www/html
我们将需要更改一些文件夹权限:
chown -R www-data:www-data /var/www/html/nextcloud
chown -R www-data:www-data /data
步骤4.为Nextcloud配置MariaDB。
默认情况下,不会对MariaDB进行加固。您可以使用mysql_secure_installation脚本保护MariaDB 。您应该仔细阅读每个步骤,并在每个步骤下面仔细进行操作,这将设置root密码,删除匿名用户,禁止远程root登录以及删除测试数据库和对安全MariaDB的访问。
mysql_secure_installation
像这样配置它:
- Set root password? [Y/n] y
- 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
接下来,我们将需要登录到MariaDB控制台并为Nextcloud创建数据库。运行以下命令:
mysql -u root -p
这将提示您输入密码,因此输入您的MariaDB根密码,然后按Enter。登录数据库服务器后,需要创建一个数据库以进行Nextcloud安装:
MariaDB [(none)]> CREATE DATABASE nextcloud;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY '你的密码*';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q
步骤5.为Nextcloud配置Apache Web服务器。
在Apache中创建一个新的虚拟主机指令。例如,在虚拟服务器上创建一个名为“ nextcloud.conf”的新Apache配置文件:
touch /etc/apache2/sites-available/nextcloud.conf
ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf
nano /etc/apache2/sites-available/nextcloud.conf
添加以下行:
<VirtualHost *:80>
ServerAdmin admin@yourdomain.com
DocumentRoot "/var/www/html/nextcloud/"
ServerName your-domain.com
ServerAlias www.your-domain.com
<Directory "/var/www/html/nextcloud/">
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/your-domain.com-error_log
CustomLog /var/log/apache2/your-domain.com-access_log common
</VirtualHost>
重新启动Apache Web服务器,以便进行更改:
sudo a2enmod rewrite
sudo a2ensite nextcloud.conf
sudo systemctl restart apache2.service
步骤6.设置HTTPS,假如不用https此步可省略。
我们应该在Nextcloud上启用安全的HTTPS连接。我们可以从Let's Encrypt获得免费的TLS证书。从Ubuntu 20.04存储库安装Let's Encrypt客户端(certbot):
sudo apt install certbot python3-certbot-apache
接下来,运行以下命令以使用Apache插件获取免费的TLS证书:
sudo certbot --apache --agree-tos --redirect --staple-ocsp --email you@example.com -d example.com
如果测试成功,请重新加载Apache以使更改生效:
sudo apache2ctl -t
sudo systemctl reload apache2
步骤7.访问Nextcloud Web界面。
默认情况下,Nextcloud将在HTTP端口80上可用。打开您喜欢的浏览器,然后浏览至https://your-domain.com/或https://server-ip-address/完成所需的步骤以完成安装。如果您使用防火墙,请打开端口80以启用对控制面板的访问。您对Nextcloud的处理完全由您决定。您可以添加新模块,也可以仅将其用作基于云的文件同步和共享。您可以安装Android应用程序,甚至可以使用ownCloud桌面客户端(它们可以与Nextcloud一起正常使用)。
第一次登录会要求你设置用户名,密码,数据库地址,等信息。设置完后,进入登录界面。如下图。
3、其他问题解决方法:
(1)提示内存不足,这是由于php的默认memory_limit值为128M所导致的。
修改/etc/php/7.4/apache2/php.ini文件(ubuntu 20),其中7.4目录的命令是与当前php版本相符的,例如,php7.0,此目录名应为7.0。
找到memory_limit = 128M,将128M修改是1024M,数值按内存情况及需要而定,保存退出。
找到output_buffering = off 改off
service apache2 restart
(2)提示内存不足同时修改:
Nextcloud推荐是Apcu,大家可以搭配memcached一起使用。将php的扩展开启Apcu和memcached,然后在Nextcloud的config.php文件添加:
修改/var/www/html/nextcloud/config/config.php文件
添加如下:
'memcache.local' => '\OC\Memcache\APCu', (解决内存不够的问题)
'default_phone_region' => 'CN', (解决电话的问题)
或者(假如你安装了memcached)
'memcache.distributed' => '\OC\Memcache\Memcached',
'memcached_servers' =>
array (
0 =>
array (
0 => 'localhost',
1 => 11211,
),
),
(3)修改登录端口
假如你不想以80端口登录,主要是我们的应用太多了,有时可能会产品冲突。你需要修改nextcloud登录地址:
第一步
sudo vim /etc/apache2/ports.conf 修改监听端口以及主机端口为8282
Listen 8282
sudo vim /etc/apache2/sites-available/nextcloud.conf
NameVirtualHost *:8282
第二步
sudo vim /etc/apache2/sites-available/000-default.conf 只要修改virtualHost的端口即可:
<VirtualHost *:8282>
第三步
重启apache2
更多推荐
所有评论(0)