自从租了阿里云云翼服务器之后,一直想要搭建一个属于我自己的私有云,可以存放一些资料什么的,这两天一直在配置环境,绕了很多弯路,在网上查遍资料,出现一个有一个bug,然后一个一个解决,整整花了两天的时间才把nextcloud私有云搭建起来。

  说句实在话,我对web和网络一知半解,对前后端是知之甚少,完全是摸索着学习。一开始,云栖社区文章说需要搭建LAMP的经典web环境,不过在云栖中介绍的主要是阿里云提供的一键配置工具,当时想省点力气,也不想去深入学习web那些,所以就想走捷径。云栖提供的一键配置工具是收费的,2元钱,我没买,而是去CSDN上下载了一个一键配置工具,但是没有看清介绍,这个一键配置工具适用于Ubuntu14,对Ubuntu16.04的好像有些问题,当时没注意,后来是真心后悔。

  一键配置工具安装的是Apache2、MySQL和PHP以及三者之间的依赖关系,但是可能因为版本的原因,一直提示我缺少libphp5.so,然后去文件夹找也是没找到,因为这个文件缺失,导致了Apache2对PHP文件的解析失败,每次在浏览器中访问的时候,显示的都是PHP代码,而不是html网页,尝试了无数次的失败,百度搜狗各种搜索引擎全部搜遍依然毫无所获,甚至都有些想要放弃。最终,我尝试了一次将所有环境全部卸载,重新安装,不再使用一键配置工具,而是一个一个的安装,接下来说一下LAMP环境的安装步骤:

基本设置

1.配置网络环境

  阿里云服务器一开始的时候,需要配置安全组,能够让电脑主机和服务器之间可以ping通,并且将服务器的80、3306、21和22等常用端口开放。

2.设置root密码

sudo passwd

  • 切换到root用户su 或 su - 或 su root

  • 切换到普通用户su 用户名 或 logout

3.更新源

sudo apt-get update

源保存的文件为:/etc/apt/sources.list


安装常用软件

1.SSH

sudo apt-get install openssh-server

  • 查看状态service ssh status/start/stop/restart

  • 或:/etc/init.d/ssh status/start/stop/retsrt

  • 实际上,service命令就是执行/etc/init.d脚本,二者功能是一样的

2.Vim

sudo apt-get install vim

3.Tree

sudo apt-get install tree

4.Git

sudo apt-get install git


搭建LAMP

1.安装Apache

sudo apt-get install apache2

  • 测试: 浏览器访问http://Ubuntu的IP,出现It Works!网页。

  • 查看状态: service apache2 status/start/stop/restart

  • Web目录: /var/www

  • 安装目录: /etc/apache2/

  • 全局配置: /etc/apache2/apache2.conf

  • 监听端口: /etc/apache2/ports.conf

  • 虚拟主机: /etc/apache2/sites-enabled/000-default.conf

2.安装MySQL

sudo apt-get install mysql-server mysql-client

  • 测试mysql -u root -p

  • 查看状态service mysql status/start/stop/retart

  • 查看监听端口的情况netstat -tunpl 或 netstat -tap

  • 在mysql中创建nextcloud数据库,后面会用到:

  • create database nextcloud character set utf8;

3.安装PHP

sudo apt-get install php7.0

  • 测试php7.0 -v

4.安装其他模块

sudo apt-get install libapache2-mod-php7.0
sudo apt-get install php7.0-mysql

  • 重启服务

    • service apache2 restart

    • service mysql restart

  • 测试Apache能否解析PHP

    • vim /var/www/html/phpinfo.php

    • 文件中写:<?php echo phpinfo();?>

    • 浏览器访问:http://ubuntu地址/phpinfo.php,出现PHP Version网页

5.修改权限

sudo chmod 777 /var/www

6.安装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://ubuntu地址/phpmyadmin

7.配置Apache

vim /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下载过来即可。
下载

下载nextcloud

     cd /var/www/html
    wget https://download.nextcloud.com/server/releases/nextcloud-11.0.1.zip
    unzip nextcoud-11.0.1.zip

这样就把nextcloud包下下来了,uzip没找到命令的再去单独安装apt-get install uzip,解压后,在html文件夹下就有了nextcloud文件夹了,接下来只需要在电脑主机的浏览器上输入http://服务器IP/nextcloud,然后就出现了下面的画面

#原创新人# 网盘不靠谱 那就自己搭建256TB的网盘呗 — Nextcloud搭建过程

出现这样的话 证明你没有给nextcloud目录权限

# cd /var/www/html

# chown apache nextcloud -Rf

# chmod 770 nextcloud -Rf

刷新浏览器出现

#原创新人# 网盘不靠谱 那就自己搭建256TB的网盘呗 — Nextcloud搭建过程

提示缺少php库,那就安装吧

# apt-get install php7.0-dom php7.0-gd

# service apache2 restart

然后一刷新浏览器 奇迹出现了

#原创新人# 网盘不靠谱 那就自己搭建256TB的网盘呗 — Nextcloud搭建过程

如果没有出现这个画面,而是出现了权限的问题,提示赋于数据文件夹0770的权限,但是改了之后还是有问题,我出现过这个错误,因为需要给www-data用户以权限,输入:

# chown -R www-data data/

OK,完成。



通过这两天的经历,告诉我一个道理,学习没有捷径可走,本来很简单的事,因为我想走捷径而变得难上加难,不过经此事之后,我对Linux的兴趣确实越来越深的,越来越想去DIV自己的东西。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐