自从租了阿里云云翼服务器之后,一直想要搭建一个属于我自己的私有云,可以存放一些资料什么的,这两天一直在配置环境,绕了很多弯路,在网上查遍资料,出现一个有一个bug,然后一个一个解决,整整花了两天的时间才把nextcloud私有云搭建起来。
说句实在话,我对web和网络一知半解,对前后端是知之甚少,完全是摸索着学习。一开始,云栖社区文章说需要搭建LAMP的经典web环境,不过在云栖中介绍的主要是阿里云提供的一键配置工具,当时想省点力气,也不想去深入学习web那些,所以就想走捷径。云栖提供的一键配置工具是收费的,2元钱,我没买,而是去CSDN上下载了一个一键配置工具,但是没有看清介绍,这个一键配置工具适用于Ubuntu14,对Ubuntu16.04的好像有些问题,当时没注意,后来是真心后悔。
一键配置工具安装的是Apache2、MySQL和PHP以及三者之间的依赖关系,但是可能因为版本的原因,一直提示我缺少libphp5.so,然后去文件夹找也是没找到,因为这个文件缺失,导致了Apache2对PHP文件的解析失败,每次在浏览器中访问的时候,显示的都是PHP代码,而不是html网页,尝试了无数次的失败,百度搜狗各种搜索引擎全部搜遍依然毫无所获,甚至都有些想要放弃。最终,我尝试了一次将所有环境全部卸载,重新安装,不再使用一键配置工具,而是一个一个的安装,接下来说一下LAMP环境的安装步骤:
阿里云服务器一开始的时候,需要配置安全组,能够让电脑主机和服务器之间可以ping通,并且将服务器的80、3306、21和22等常用端口开放。
sudo passwd
切换到root用户:
su
或su -
或su root
切换到普通用户:
su 用户名
或logout
sudo apt-get update
源保存的文件为:
/etc/apt/sources.list
sudo apt-get install openssh-server
查看状态:
service ssh status/start/stop/restart
或:
/etc/init.d/ssh status/start/stop/retsrt
实际上,service命令就是执行/etc/init.d脚本,二者功能是一样的
sudo apt-get install vim
sudo apt-get install tree
sudo apt-get install git
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
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;
sudo apt-get install php7.0
测试:
php7.0 -v
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
文件中写:
浏览器访问:
http://ubuntu地址/phpinfo.php
,出现PHP Version网页
sudo chmod 777 /var/www
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
vim /etc/apache2/apache2.conf
到此为止,web站点其实已经搭建起来了,只需在/var/www/html目录下存放网页文件,电脑主机就可以访问服务器了,http://服务器IP/xxx.html,然后就是把nextcloud下载过来即可。
添加:
AddType application/x-httpd-php .php .htm .html
AddDefaultCharset UTF-8
重启Apache服务
这样就把nextcloud包下下来了,uzip没找到命令的再去单独安装apt-get install uzip,解压后,在html文件夹下就有了nextcloud文件夹了,接下来只需要在电脑主机的浏览器上输入http://服务器IP/nextcloud,然后就出现了下面的画面
出现这样的话 证明你没有给nextcloud目录权限
# cd /var/www/html
# chown apache nextcloud -Rf
# chmod 770 nextcloud -Rf
刷新浏览器出现
提示缺少php库,那就安装吧
# apt-get install php7.0-dom php7.0-gd
# service apache2 restart
然后一刷新浏览器 奇迹出现了
如果没有出现这个画面,而是出现了权限的问题,提示赋于数据文件夹0770的权限,但是改了之后还是有问题,我出现过这个错误,因为需要给www-data用户以权限,输入:
# chown -R www-data data/
OK,完成。
通过这两天的经历,告诉我一个道理,学习没有捷径可走,本来很简单的事,因为我想走捷径而变得难上加难,不过经此事之后,我对Linux的兴趣确实越来越深的,越来越想去DIV自己的东西。