最近入手一台小主机,把自己剩余的硬盘都加上去了,想着做个私有云..使用了owncloud,类似的文章很多,不过各有各的坑,当然我这个也肯定有坑,主要是各自的环境还不一样。
关于在这之前的准备,比如什么内网穿透啊.. 硬盘挂载 环境啊 等等,这里就不多说了。
先列参考文章:
准备
先下载一个owncloud的包,网上有提供的很多种方式,有的可以,有的不行,我是直接跟同学要的(通过wget 或者chrome下载都挺慢的,可以试试迅雷,据说鸡块)。
owncloud 有不同的版本,不同版本支持的php版本也不同。我用的是10.1.0 的,php7.2.
apache 安装
yum install httpd –y
//服务重启
systemctl start/restart httpd.service
apache端口默认是80,如果需要修改的话,还要修改httpd.conf 文件。
vi /etc/httpd/conf/httpd.conf
//找到 Listen 80 修改即可。
//还要修改这个
AllowOverride All
//同时要注意,owncloud的文件夹位置,可能会修改DocumentRoot . 我的owncloud的目录是/var/www/owncloud/ ,所以 DocumentRoot 的目录只到/var/www ,我的访问地址是: www.xxx.com/owncloud/
php 安装
在安装之前,可能还需要把原有的低版本的卸载掉。
看这个吧 。https://www.cnblogs.com/sunshine-H/p/8117105.html
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php72w
yum -y install php72w-cli php72w-common php72w-devel php72w-mysql php72w-xml php72w-odbc
//检查版本
php -v
//找到php.ini文件目录,记得选7.2的
sudo find / -name php.ini
//然后在Apache的配置文件httpd.conf中添加PHP7.2
vi /etc/httpd/conf/httpd.conf
//在httpd.conf文件的最后面加上下面这句:
PHPIniDir /etc/php.ini(这个是上面找到的PHP7.2的php.ini文件目录)
数据库安装创建
当然这中间还有个数据库创建啥的。
$ mysql -u root -p
//密码可能是空密码
MariaDB [(none)] > create database owncloud;
MariaDB [(none)] > GRANT ALL ON owncloud.* TO owncloud@localhost IDENTIFIED BY 'owncloud';
MariaDB [(none)] > flush privileges;
MariaDB [(none)] > exit
//重新设置数据库安全性
mysql_secure_installation
尝试启动链接
启动httpd服务systemctl restart httpd
.
配置好内网nginx 穿透 端口等。
浏览器访问。
- 有可能直接找不到(apache的配置问题,主要是documentroot 那里)
- 有可能有版本问题(php 版本问题,需要卸载旧版本,安装新版本,同时需要注意owncloud的版本对应)
- 有可能无法创建目录。(php权限问题,open_basedir 那里打开并添加你想要他控制的目录即可,例如:/mnt/data/:/var/www/owncloud/)
- 前面都好用,结果报错【Internal Server Error】这个得具体看日志。或者试试重来一遍。有很大的可能还是basedir 没有设置好(我的是这样的)。
暂时先这样。