接上一篇《企業私有云Owncloud(1)--介紹》,本文講單機版Owncloud安裝,即全部component都安裝在一個server上。Owncloud推薦使用以下環境(詳見OwncloudServerAdminManual Chapter2):php
* Red Hat Enterprise Linux 7
* MySQL/MariaDB
* PHP 5.4 +
* Apache 2.4html
(注意,自從8.0後再也不支持windows Server版)mysql
安裝方式有兩種,一種是RPM包,一種是源碼安裝。安裝以前最好disable selinux和iptables,否則會出現問題,/etc/syslinux/config中設置爲disablelinux
1,RPM包 sql
詳見 http://software.opensuse.org/download.html?project=isv:ownCloud:community&package=owncloud 數據庫
例如,apache
對於 CentOS CentOS-7,請以 根用戶 root 運行下面命令:json
cd /etc/yum.repos.d/ wget http://download.opensuse.org/repositories/isv:ownCloud:community/CentOS_CentOS-7/isv:ownCloud:community.repo yum install owncloud
對於 CentOS CentOS-6,請以 根用戶 root 運行下面命令:windows
cd /etc/yum.repos.d/ wget http://download.opensuse.org/repositories/isv:ownCloud:community/CentOS_CentOS-6/isv:ownCloud:community.repo yum install owncloud
2,源碼安裝centos
安裝PHP: yum install -y php-mysql php-json php-xml php-mbstring php-zip php-gd curl php-curl php-pdo
安裝Mysql: yum install -y mysql-server mysql mysql-devel
安裝Apache: yum install -y httpd
[root@BRO-centos6 owncloud]# tar -jxf owncloud-8.0.2.tar.bz2 –C /var/www/html/
[root@localhost html]# chown -R apache:apache owncloud/
[root@localhost html]# chmod -R 777 owncloud/
2.1 Mysql 配置
登錄Mysql服務器,建立Owncloud須要使用的數據庫,以及用戶,授予權限
若是第一次登錄mysql Server,須要使用mysqladmin –uroot password ‘’ 設置root密碼
mysql>CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
mysql>CREATE DATABASE IF NOT EXISTS owncloud;
mysql>GRANT ALL PRIVILEGES ON owncloud.* TO 'username'@'localhost' IDENTIFIED BY 'password';
mysql>flush priveleges;
mysql>quit;
2.2 Apache配置
Apache配置很簡單,/etc/httpd/conf/httpd.conf ,修改以下配置
ServerName 10.45.45.6:80
DocumentRoot "/var/www/html/owncloud"
2.3 Owncloud配置
Owncloud的配置文件,/var/www/html/owncloud/config/config.php
在第一次打開Owncloud頁面以前,須要在config.php配置以下
<?php
$CONFIG = array (
'datadirectory' => '/var/www/html/owncloud/data', <--用戶數據掛載路徑,好比有用戶user1,user2,user3,那會在此目錄下生成user1,user2,user3三個目錄文件,
'dbtype' => 'mysql', <--配置的數據庫類型,支持Microsoft SQL Server,Oracle
'version' => '8.0.2.0',
'dbname' => 'owncloud2', <--Owncloud數據庫名字,本身起
'dbhost' => '10.45.45.7', <-- 數據庫的IP
'dbtableprefix' => 'oc_',
'dbuser' => 'cloudtest2', <--數據庫的用戶名
'dbpassword' => 'password', <--cloudtest2用戶的密碼
);
打開http://10.45.45.6,第一次會出現以下頁面,Admin account是管理此Owncloud Server的用戶名,不是數據庫的。而後是Storage&Database的配置,數據庫就採用以前上面config.php的用戶名密碼,若是數據庫主機是在本機上的,能夠填寫localhost或者127.0.0.1(若是localhost不行,能夠試試127.0.0.1)
配置完成後,點擊finish setup,第一次登錄會花費一些時間建立owncloud系統數據庫。以後就能夠enjoy Owncloud了。。。
若是打開Owncloud報錯,能夠查看/var/www/html/owncloud/data/owncloud.log會看到一些有用的信息,例如
能夠看到log中
{"reqId":"319c6484605141dd9cb541c583601187","remoteAddr":"10.0.0.2","app":"index","message":"Exception: {\"Message\":\"An exception occured in driver: SQLSTATE[42000] [1044] Access denied for user 'cloudtest2'@'localhost' to database 'owncloud'\",\"Code\":0,\"Trace\":\"#0 \\\/var\\\/www\\\/html\\\/owncloud\\\/3rdparty\\\/doctrine\\\/dbal\\\/lib\\\/Doctrine\\\/DBAL\\\/Connection.php(814): OC\\\\DB\\\\Connection->connect()\\n#1 \\\/var\\\/www\\\/html\\\/owncloud\\\/lib\\\/private\\\/db\\\/connection.php(111): Doctrine\\\\DBAL\\\\Connection->executeQuery('SELECT `configv...', Array, Array, NULL)\\n#2 \\\/var\\\/www\\\/html\\\/owncloud\\\/lib\\\/private\\\/appconfig.php(259): OC\\\\DB\\\\Connection->executeQuery('SELECT `configv...', Array)\\n#3 \\\/var\\\/www\\\/html\\\/owncloud\\\/lib\\\/private\\\/app.php(219): OC\\\\AppConfig->getValues(false, 'enabled')\\n#4
解決方法就是grant cloudtest2用戶權限
mysql>GRANT ALL PRIVILEGES ON owncloud TO 'cloudtest2'@'localhost' IDENTIFIED BY ‘password' WITH GRANT OPTION;
mysql> show grants for cloudtest2;
---------------------------------------------------------------------
後續:能夠登陸到mysql上查看多了個owncloud2數據庫,有21個表
mysql> use owncloud2;
mysql> show tables;
+------------------------+
| Tables_in_owncloud2 |
+------------------------+
| oc_activity |
| oc_activity_mq |
| oc_appconfig |
| oc_file_map |
| oc_filecache |
| oc_files_trash |
| oc_group_admin |
| oc_group_user |
| oc_groups |
| oc_jobs |
| oc_locks |
| oc_mimetypes |
| oc_preferences |
| oc_privatedata |
| oc_properties |
| oc_share |
| oc_share_external |
| oc_storages |
| oc_users |
| oc_vcategory |
| oc_vcategory_to_object |
+------------------------+
21 rows in set (0.00 sec)
mysql>select * from oc_users;
+-------+-------------+----------------------------------------------------------------+
| uid | displayname | password |
+-------+-------------+----------------------------------------------------------------+
| lbs1 | NULL | 1|$2y$10$4Ife76GeABsUxMahljsjTu4Fg3or.C3hW7XApXIPXE0Grq6ueDGVu |
| root3 | NULL | 1|$2y$10$GGwwchkx4bWzG60vn2uTUuSTgzlTH2mgvaomg.LSMBzs4j9SfV7W6 |
| root | NULL | 1|$2y$10$oy4HyeMwfAcgQ7JJPUnPN.AAe/xqM67tn4CHvD7Zg6cf5.ckRO6ZK |
| pfe1 | NULL | 1|$2y$10$ClkEZDMKV69hzjnZQ2ixRuaYjuftaF8/RGKREz890MQAIF4pLuDsu |
| lbs3 | NULL | 1|$2y$10$GGjensDquLMA13OZi8cIXONaEEwntwacz.3Lyv/cH5DSN//51ozwG |
| pfe3 | NULL | 1|$2y$10$kiab38aQQ9ipU5TAxILs1eifRQI7ps4rD.dNLhIMSz7VP4i0H520a |
| lbs2 | NULL | 1|$2y$10$D2S8iB6F2JG/69MzVShT1upprN8RMETsD/XTdO.dnCf.ecZENnv12 |
| root2 | NULL | 1|$2y$10$ow34DnyuTwAvGiuSXQZxnOYUdP9el3jgd6liljFI84GJMRZYEAuLW |
| pfe2 | NULL | 1|$2y$10$e8FIfsvk6PJ3oUyjoBXlu.Z00VbghbbrRBPRO8IBaf1xB1qXa0E/6 |
+-------+-------------+----------------------------------------------------------------+
9 rows in set (0.02 sec)
進入用戶數據掛載路徑, 'datadirectory' => '/var/www/html/owncloud/data' ,能夠看到四個目錄,而上面oc_users有9個用戶,由於其餘5個用戶我沒有登錄過,一旦你登錄後會自動建立一個目錄用於存儲用戶文件。
[root@localhost data]# ll
total 48
-rwxrwx--- 1 apache apache 0 May 11 15:02 index.html
drwxrwx--- 1 apache apache 0 May 11 14:43 lbs1
-rwxrwx--- 1 apache apache 48336 May 11 16:11 owncloud.log
drwxrwx--- 1 apache apache 0 May 11 16:03 root
drwxrwx--- 1 apache apache 0 May 11 14:34 root2
drwxrwx--- 1 apache apache 0 May 11 15:02 root3
---------------------------------------------------------------------------
下一篇會講述Owncloud Scale-out版,Apache集羣+Mysql NDB Cluster+Haproxy組成Owncloud高可用版本~