个人技术总结
一.技术概述
其实也不算啥技术,就是对Linux学习过程中遇到的一些实用性的小玩意,主要是基于Ubuntu18.04系统下手动安装Nextcloud,这里稍微介绍以下Nextcloud:Nextcloud是一套用于创建网络硬盘的客户端-服务器软件。其功能与Dropbox相近,但Nextcloud是自由及开放源代码软件,每个人都可以在私人服务器上安装并运行它,个人感觉用旧电脑拿来做私人网盘还不错。
二.技术详述
注:
- 由于是比较久之前装的,手动安装没有记录,以下手动安装过程主要参照他人博客,然后附上本人记录的简易安装记录(推荐,手动安装后续还要设置一些东西)
- 如果是安装在自己的旧电脑上只能内网访问,若想外网访问参照通过frp内网穿透
- 安装Apache2
sudo apt-get install apache2
- 修改状态:
service apache2 status|start|stop|restart
- 站点目录:
/var/www/
- 修改权限:
sudo chmod 777 /var/www
- 安装目录:
/etc/apache2/
- 安装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
- 安装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网页
- 安装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\
- 配置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
。
- 下载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:无权限
解决方法:
cd /var/www/html
chown www-data nextcloud -Rf
chmod 770 nextcloud -Rf
问题2:相关模块未安装
解决方法:
sudo apt-get install libcurl3 php7.0-curl
四.总结
- 学习过程中总能遇到很多有趣的东西,可能有时候超出你的知识范围,但是只要有兴趣去研究,总是能学会的不是吗。
- 附上几张私有云盘使用图:
- 上传文件本地存储位置
/var/snap/nextcloud/common/nextcloud/data/用户名
五.参考文献/博客