个人技术总结

一.技术概述

其实也不算啥技术,就是对Linux学习过程中遇到的一些实用性的小玩意,主要是基于Ubuntu18.04系统下手动安装Nextcloud,这里稍微介绍以下Nextcloud:Nextcloud是一套用于创建网络硬盘的客户端-服务器软件。其功能与Dropbox相近,但Nextcloud是自由及开放源代码软件,每个人都可以在私人服务器上安装并运行它,个人感觉用旧电脑拿来做私人网盘还不错。

二.技术详述

注:

  • 由于是比较久之前装的,手动安装没有记录,以下手动安装过程主要参照他人博客,然后附上本人记录的简易安装记录(推荐,手动安装后续还要设置一些东西)
  • 如果是安装在自己的旧电脑上只能内网访问,若想外网访问参照通过frp内网穿透
  1. 安装Apache2
sudo apt-get install apache2
  • 修改状态:
service apache2 status|start|stop|restart
  • 站点目录:
/var/www/
  • 修改权限:
sudo chmod 777 /var/www
  • 安装目录:
/etc/apache2/
  1. 安装MariaDB
sudo apt-get install mariadb-server mariadb-client
  • 启动MariaDB服务:
sudo systemctl start mysql
  • 查看状态:
sudo systemctl status mysql
  • 重启服务:
service mysql restart

为NextCloud创建数据库和用户
创建数据库nextcloud,用户名nextcloud,密码XXXXXXXX

sudo mysql -u root -p

进入MariaDB后,执行:

#创建数据库,名为:nextcloud
CREATE DATABASE nextcloud;


GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'XXXXXXXX';
FLUSH PRIVILEGES;
#退出
\q
  1. 安装PHP以及其他模块
sudo apt-get install php7.0

sudo apt-get install apache2 mariadb-server libapache2-mod-php7.0

sudo apt-get install php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-mbstring

sudo apt-get install php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip
  • 测试:
php7.0 -v
  • 重启服务:
service apache2 restart
  • 测试Apache能否解析PHP
执行sudo nano /var/www/html/phpinfo.php
文件中写:<?php echo phpinfo();?>
浏览器访问:http://your ip/phpinfo.php,出现PHP Version网页
  1. 安装phpMyAdmin
sudo apt-get install phpmyadmin
  • 安装:选择apache2,点击确定。下一步选择是要配置数据库,并输入密码。
  • 创建phpMyAdmin快捷方式:
sudo ln -s /usr/share/phpmyadmin /var/www/html
  • 启用Apache mod_rewrite模块:
sudo a2enmod rewrite
  • 重启服务:
service php7.0-fpm restart & service apache2 restart
  • 测试:浏览器访问:
http://your ip/phpmyadmin\
  1. 配置Apache
nano /etc/apache2/apache2.conf

在配置文件最后添加

AddType application/x-httpd-php .php .htm .html
AddDefaultCharset UTF-8

然后重启Apache服务。
  到此为止,web站点其实已经搭建起来了,只需在/var/www/html目录下存放网页文件,电脑主机就可以访问服务器了,http://ip/xxx.html

  1. 下载Nextcloud
cd /var/www/html
wget https://download.nextcloud.com/server/releases/nextcloud-13.0.5.zip
unzip nextcloud-13.0.5.zip
rm nextcloud-13.0.5.zip

三.遇到的问题/解决

问题1:无权限

ubutu如何搭建云服务器 ubuntu nextcloud搭建_php

解决方法:

cd /var/www/html
chown www-data nextcloud -Rf
chmod 770 nextcloud -Rf

问题2:相关模块未安装

ubutu如何搭建云服务器 ubuntu nextcloud搭建_apache_02

解决方法:

sudo apt-get install libcurl3 php7.0-curl

四.总结

  • 学习过程中总能遇到很多有趣的东西,可能有时候超出你的知识范围,但是只要有兴趣去研究,总是能学会的不是吗。
  • 附上几张私有云盘使用图:
  • 上传文件本地存储位置
/var/snap/nextcloud/common/nextcloud/data/用户名

五.参考文献/博客

  1. 简书——Ubuntu下手动安装NextCloud