为了保证一个纯净的环境,我重新安装了一台centos系统

[root@localhost httpd-2.2.23]# lsb_release -a
LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description:    CentOS release 6.3 (Final)
Release:        6.3
Codename:       Final

在安装玩系统之后,首先需要搭建yum源,centos的网络yum源是非常简单的,甚至不需要你修改任何配置,只要安装一个小软件, rpm -ivh epel-release-6-5.noarch.rpm

然后yum就可以使用了

第一部分 apache的安装

由于在编译apache的时候,需要用到一些插件,所以我们需要提前安装

yum install gcc gcc-c++ ncursers-devel  zlib2-zip  -y

apache的编译安装很简单,但是我们需要安装一些包便于apache功能的扩展

1、apr-1.4.6.tar.gz 的安装

[root@localhost lamp]# tar xf apr-1.4.6.tar.gz -C /usr/src/lamp/

[root@localhost apr-1.4.6]# pwd 
/usr/src/lamp/apr-1.4.6

[root@localhost apr-1.4.6]# ./configure --enable-threads --disable-ipv6 --with-devrandowm=/dev/random && make && make install

2、libiconv-1.13.tar.gz的安装

[root@localhost libiconv-1.13]# ./configure --enable-static && make && make install

3、apr-iconv-1.2.1.tar.gz的安装

[root@localhost lamp]# tar xf apr-iconv-1.2.1.tar.gz -C /usr/src/lamp/

[root@localhost apr-iconv-1.2.1]# ./configure --with-apr=/usr/local/apr/bin/apr-1-config

[root@localhost lamp]# make  && make install

[root@localhost apr-iconv-1.2.1]# ln -s /usr/src/lamp/apr-iconv-1.2.1/lib/libapriconv-1.la  /usr/src/lamp/apr-iconv-12.1/lib/libapriconv.la

4、安装openssl nss-devel

[root@localhost lamp]# yum install openssl* nss-devel -y

5、安装apr-util-1.4.1.tar.gz

[root@localhost lamp]# tar xf apr-util-1.4.1.tar.gz -C /us
r/src/lamp/

[root@localhost apr-util-1.4.1]# ./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-iconv=./apr-iconv --with-openssl=/usr --with-nss=/usr --with-mysql=/usr/local/mysql --with-iconv=/usr/local && make && make install

6、安装两个rpm包

libzip-0.9-3.1.el6.i686.rpm
libzip-devel-0.9-3.1.el6.i686.rpm

[root@localhost lamp]# rpm -ivh libzip-0.9-3.1.el6.i686.rpm
warning: libzip-0.9-3.1.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Preparing...                                              ########################################### [100%]
   1:libzip                                               ########################################### [100%]
[root@localhost lamp]# rpm -ivh libzip-devel-0.9-3.1.el6.i686.rpm 
warning: libzip-devel-0.9-3.1.el6.i686.rpm: Header V4 DSA/SHA1 Signature, key ID 192a7d7d: NOKEY
Preparing...                                              ########################################### [100%]
   1:libzip-devel                                         ########################################### [100%]

7、安装pcre-7.9.tar.gz

[root@localhost lamp]# tar xf pcre-7.9.tar.gz -C /usr/src/lamp/

[root@localhost pcre-7.9]#  ./configure --enable-utf8 --enable-rebuild-chartables --enable-newline-is-any --enable-pcregrep-libz --enable-pcregrep-libbz2

make && make install

8、安装httpd--2.2.23.tar.gz

[root@localhost softs]# tar xf httpd--2.2.23.tar.gz -C /usr/src/

[root@localhost softs]# cd /usr/src/httpd-2.2.23/

[root@localhost httpd-2.2.23]# ./configure --enable-modules=all --enable-mods-shared=all --enable-cache --enable-disk-cache --enable-dumpio --enable-echo --enable-example --enable-logio --enable-mime-magic --enable-expires --enable-headers --enable-unique-id --enable-proxy --enable-proxy-balancer --enable-proxy-http --enable-proxy-ajp --enable-proxy-connect --enable-ssl  --enable-static-ab --enable-http --enable-info --enable-cgi --enable-vhost-alias --enable-so --enable-rewrite --with-apr=/usr/local/apr-httpd/bin/apr-1-config --with-apr-util=/usr/local/apr-httpd/bin/apu-1-config --with-pcre=/usr/local --with-ssl=/usr --with-mpm=prefork

9、修改apache配置文件

[root@localhost ~]# vi /usr/local/apache2/conf/httpd.conf  指定DocumentRoot和允许访问

将  第195行的目录路径也改为 /var/www <Directory "/var/www">

[root@localhost ~]# mkdir /var/www /var/log/httpd

[root@localhost ~]# chown -R daemon.daemon /var/www /var/log/httpd

[root@localhost ~]# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/apache

[root@localhost ~]# /etc/init.d/apache start

[root@localhost htdocs]# mv /usr/local/apache2/htdocs/index.html  /var/www/    ------将apache默认路径下的index.html移动到指定的DocumentRoot下面

浏览器访问http://127.0.0.1/

It works!

10、开启虚拟主机
[root@localhost conf]# vi httpd.conf
将这一行前面的#去掉
Include conf/extra/httpd-vhosts.conf
[root@localhost extra]# cd /usr/local/apache2/conf/extra/
[root@localhost extra]# vi httpd-vhosts.conf    ##增加一台虚拟主机
<VirtualHost *:80>
    ServerAdmin owncloud@localhost
    DocumentRoot "/var/www/owncloud"
    ServerName test.owncloud.com
    ErrorLog "/var/log/httpd/owncloud.error.log"
    CustomLog "/var/log/httpd/owncloud-access_log" common
</VirtualHost>
重启apache服务
apache的安装到此完成
####################################################################
第二部分mysql的安装(如果只是为了安装owncloud,此过程可以省略,我还有装其他服务,为了方便编译php,所以我预装了mysql)

1、新建用户及相关目录,并修改相关的属主和属组。

useradd  mysql

mkdir  /var/log/mysqld

mkdir /var/run/mysqld

mkdir /database

chown mysql.mysql -R /var/log/mysqld  /var/run/mysqld  /database

2、下载软件并解压编译安装

下载地址http://yun.baidu.com/share/link?shareid=933310467&uk=2819702030&third=0

[root@localhost softs]# tar xf mysql-5.6.10.tar.gz -C /usr/src/
[root@localhost softs]# cd /usr/src/mysql-5.6.10/

3、这里需要cmake安装

[root@localhost mysql-5.6.10]# cmake -DCMAKE_ISTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DMYSQL_DATADIR=/datadir -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql5.sock -DWITH_DEBUG=ON -DEXTRA_CHARSETS=ALL -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DSYSCONFDIR=/usr/local/mysql/etc -DWITH_READLINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1

4、通过对比可以看出,在cmake前后的差异还是蛮大的,接下来make

[root@localhost mysql-5.6.10]# make

5、make这一步比较慢,需要多等一下,下一步就是make install

make install 完成后,接下来就是对mysql进行配置

6、对mysql的初始化操作

[root@localhost ~]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/database --user=mysql

2013-10-28 04:13:57 13176 [Note] InnoDB: FTS optimize thread exiting.
2013-10-28 04:13:57 13176 [Note] InnoDB: Starting shutdown...
2013-10-28 04:13:58 13176 [Note] InnoDB: Shutdown completed; log sequence number 1625977
OK

Filling help tables...2013-10-28 04:13:58 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2013-10-28 04:13:58 7f78a8ba0720 InnoDB: !!!!!!!! UNIV_DEBUG switched on !!!!!!!!!
2013-10-28 04:13:58 7f78a8ba0720 InnoDB: !!!!!!!! UNIV_SYNC_DEBUG switched on !!!!!!!!!
2013-10-28 04:13:58 13199 [Note] InnoDB: The InnoDB memory heap is disabled
…………………………
2013-10-28 04:14:00 13199 [Note] InnoDB: Starting shutdown...
2013-10-28 04:14:01 13199 [Note] InnoDB: Shutdown completed; log sequence number 1625987
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

两个OK表示成功

7、修改mysql的几个配置文件

[root@localhost ~]# cd /usr/local/mysql/

[root@localhost etc]# chown  -R  mysql.mysql  /usr/local/mysql
[root@localhost mysql]# mkdir etc
[root@localhost mysql]# cd etc/
[root@localhost etc]# vi my.cnf       -----------主配置文件的修改

[root@localhost etc]# cat my.cnf | grep -v ^# | grep -v ^$
[mysqld]
 log_bin=myql-bin
 log-bin-index=mysql-bin.index
 log-error=/var/log/mysqld/error.log
 general_log=1
 general_log_file=/var/log/mysqld/mysql.log
 basedir = /usr/local/mysql
 datadir = /database
 port = 3306
 socket = /var/run/mysqld/mysql5.socket
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[root@localhost etc]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql5

开始尝试启动mysql

[root@localhost mysqld]# /etc/init.d/mysql5 restart
MySQL server PID file could not be found!                  [FAILED]
Starting MySQL..                                           [  OK  ]

mysql 到此安装完成

##############################################################

第三部分  php的安装

 

1、下载软件并安装

yum install libxml2 libxml2-devel  -y  libcurl libcurl-devel openssl openssl-devel

[root@localhost php-5.3.27]# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --disable-ipv6 --with-libxml-dir=/usr --with-openssl=/usr --with-zlib=/usr --with-bz2=/usr --with-curl=/usr  --enable-ftp --with-mysql=/usr/local/mysql --with-mysql-sock=/var/run/mysqld/mysql5.socket  --with-mysqli=/usr/local/mysql/bin/mysql_config

这里报了一个错误

checking for X509_free in -lcrypto... yes
checking for pkg-config... /usr/bin/pkg-config
configure: error: Cannot find OpenSSL's libraries

解决方法:
安装opensslyum install openssl openssl-devel  (如果没有安装的话)

建立软链接

ln -s /usr/lib64/libssl.so /usr/lib/

2、make && make install

3、测试php是否安装成功

[root@localhost www]# vi index.php 
<?php
phpinfo();
?>

页面访问http://127.0.0.1/index.php

##############################################

第四部分  owncloud的安装

1、下载并解压

[root@localhost softs]# tar xf owncloud-5.0.0.tar.bz2 -C /var/www/

[root@localhost conf]# chown -R daemon.daemon /var/www/

2、接下来页面访问http://192.168.254.153/owncloud/index.php

可以看到返回的错误就是php少了三个模块功能的扩展(zip,mb,GD)

3、所以接下来就要给php打三个补丁

首先我做个gd的扩展

[root@localhost gd]# pwd
/usr/src/php-5.3.27/ext/gd

[root@localhost gd]# yum install gd-devel    --------GD的开发扩展包

[root@localhost gd]# ls
config.m4   CREDITS  gdcache.c  gd_ctx.c  libgd     tests
config.w32  gd.c     gdcache.h  gd.dsp    php_gd.h

[root@localhost gd]# /usr/local/bin/phpize    ##生成gd模块
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

通过对比,发现多了可以编译的参数,所以接下来进行编译安装

[root@localhost gd]# ./configure && make && make install   最后返回了下面两行

Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20090626/
Installing header files:          /usr/local/include/php/

接下来修改php配置文件

[root@localhost gd]# cd modules/
[root@localhost modules]# ls
gd.so

生成一个gd.so的库文件,需要加到php.ini的扩展中,然后需要在/usr/local/lib/php.ini文件中加下面两行

vi /usr/loca/lib/php.ini

extension_dir="/usr/local/lib/php/extensions/no-debug-non-zts-20090626/"
extension=gd.so

重启apache服务即可

[root@localhost ~]# /etc/init.d/apache restart

现在gd模块安装成功了,接下来只是简单介绍一下另外两个模块的扩展,首先是zip模块

[root@localhost zip]# cd /usr/src/php-5.3.27/ext/zip

[root@localhost zip]# /usr/local/bin/phpize

[root@localhost zip]# ./configure && make

[root@localhost zip]# make install
Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20090626/
[root@localhost zip]# ls modules/
zip.so

[root@localhost zip]# vi /usr/local/lib/php.ini

增加一行extension=zip.so

最后是mb模块的扩展

[root@localhost ~]# cd /usr/src/php-5.3.27/ext/mbstring/

[root@localhost mbstring]# /usr/local/bin/phpize 
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

[root@localhost mbstring]# ./configure && make && make install
Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20090626/
Installing header files:          /usr/local/include/php/

[root@localhost mbstring]# ls modules/
mbstring.so

[root@localhost mbstring]# vi /usr/local/lib/php.ini

在增加一行extension=mbstring.so

这里总共增加了四行扩展

重启apache服务,然后刷新页面

[root@localhost mbstring]# service apache restart

4、从图中也可以看出,owncloud报了新的错误

Security Warning

Your data directory and files are probably accessible from the internet because the .htaccess file does not work.
For information how to properly configure your server, please see the documentation.

解决这个问题,只需要在我建立的虚拟主机中增加

<VirtualHost *:80>
    ServerAdmin owncloud@localhost
    DocumentRoot "/var/www/owncloud"
     <Directory /var/www/owncloud>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
      </Directory>
    ServerName test.owncloud.com
    ErrorLog "/var/log/httpd/owncloud.error.log"
    CustomLog "/var/log/httpd/owncloud-access_log" common
</VirtualHost>

然后重启apache服务

5、建立管理员账户,然后登陆

注意:这里强烈建议使用firefox访问,我之前使用360访问,发现有问题,而且页面格式排版都有问题,但是日志不报错。

至此,owncloud结束,如果本文中有任何错误请大家指正!

基于Linux的owncloud搭建的更多相关文章

  1. 详解基于linux环境MySQL搭建与卸载

    本篇文章将从实际操作的层面,讲解基于linux环境的mysql的搭建和卸载. 1  搭建mysql 1.1  官网下载mysql压缩包 下载压缩包时,可以先把安装包下载到本地,再上传到服务器,也可以在 ...

  2. 企业网盘: Owncloud 搭建

    说明:搭建很简单,就是一个lamp环境,但是最新的owncloud 9.x版本对php的版本需求不能低于5.4, 所以需要下载yum源来进行安装. 搭建过程 1)配置yum源 rpm -Uvh htt ...

  3. OwnCloud 搭建

    owncloud 的安装方式可以在 [ 官网 ] 找到. 本文会说明 owncloud 在 CentOS 7.x 上基于 LAMP 安装, 以及简单的用 docker 镜像启动的例子. 基于 LAMP ...

  4. 基于VMware的虚拟Linux集群搭建-lvs+keepalived

    基于VMware的虚拟Linux集群搭建-lvs+keepalived 本文通过keepalived实现lvsserver的的双机热备和真实server之间的负载均衡.这方面的blog挺多,可是每一个 ...

  5. 浅谈基于Linux的Redis环境搭建

    本篇文章主要讲解基于Linux环境的Redis服务搭建,Redis服务配置.客户端访问和防火强配置等技术,适合具有一定Linux基础和Redis基础的读者阅读. 一  Redis服务搭建 1.在根路径 ...

  6. 一行代码在Linux服务器上搭建基于.Net Core的博客

    如果你有一台Linux服务器(CentOS7+ 或者 Ubuntu 16.04+)可以使用以下命令快速搭建一个博客. curl http://cdn.zkeasoft.com/zkeacms-blog ...

  7. 基于AM335X,如何搭建优良的Linux开发环境(下)

    接着上一篇文章的Linux开发环境搭建,文章中详细讲解了 VMware14.1.1虚拟机安装.基于虚拟机安装Ubuntu14.04.3操作系统.安装Ubuntu14.04.3操作系统.安装虚拟机工具. ...

  8. nginx 环境搭建(基于linux)

    Nginx是一种服务器软件,故而其最主要.最基本的功能当然是可以与服务器硬件结合,让程序员可以将程序放在Nginx服务器上,将程序发布出去,让成千上万的网民可以浏览.除此之外,Nginx是一种高性能的 ...

  9. 基于Linux(中标麒麟)上QT的环境搭建

    最近由于公司需要,需要在中标麒麟上进行QT的二次开发,但是网上的资料很少,就算是有也基本都是其他的版本的Linux上的搭建.中标麒麟本身的资料也很好,而且还只能试用60天. 下面就介绍下我对此环境的搭 ...

随机推荐

  1. zoj3822-Domination (概率dp)

    题意: 给你n*m的棋盘,每天选择的一个空的方格放一个棋子,求使棋盘的每行每列都至少有一个棋子的天数期望. 分析: 先想状态,要使每行每列都至少一个,考虑前i行j列,能放得就是i行j列里面的或第i+1 ...

  2. codeforces 696A Lorenzo Von Matterhorn 水题

    这题一眼看就是水题,map随便计 然后我之所以发这个题解,是因为我用了log2()这个函数判断在哪一层 我只能说我真是太傻逼了,这个函数以前听人说有精度问题,还慢,为了图快用的,没想到被坑惨了,以后尽 ...

  3. CMDB反思2

    当云灭掉CMDB http://blog.vsharing.com/xqscool/A1193910.html 虽然之前也思考过当运维底层都被替换为云时,现有的传统运维可能就消失了,其所依赖的ITIL ...

  4. ARM指令集----杂项指令

    ARM指令集可以分为6类,即是跳转指令,数据处理指令,程序状态传输指令,Load.Store指令,协处理器指令和异常中断指令 跳转指令: 在ARM中有两种方式可以实现程序的跳转,一种是跳转指令,另一种 ...

  5. C++一些特殊的类的设计

      一.设计一个只能在栈上分配空间的类 重写类的opeator new 操作,并声明为private,一个大概的代码如下: class StackOnly { public: StackOnly(){ ...

  6. PHP:产生不重复随机数的方法

    来源:http://www.ido321.com/1217.html 无论是Web应用,还是WAP或者移动应用,随机数都有其用武之地.在最近接触的几个小项目中,我也经常需要和随机数或者随机数组打交道, ...

  7. FS,FT,DFS,DTFT,DFT,FFT的联系和区别

    DCT变换的原理及算法 文库介绍 对于初学数字信号处理(DSP)的人来说,这几种变换是最为头疼的,它们是数字信号处理的理论基础,贯穿整个信号的处理. 学习过<高等数学>和<信号与系统 ...

  8. 《APUE》中的函数整理

    第1章 unix基础知识 1. char *strerror(int errnum) 该函数将errnum(就是errno值)映射为一个出错信息字符串,返回该字符串指针.声明在string.h文件中. ...

  9. 【转】iOS开发工具系列(按功能分)

    http://www.cocoachina.com/newbie/basic/2014/0417/8187.html 这是我们多篇iOS开发工具系列篇中的一篇,此前的文章比如:那些不能错过的Xcode ...

  10. 【转】关于Xcode的Other Linker Flags

    链接器 首先,要说明一下Other Linker Flags到底是用来干嘛的.说白了,就是ld命令除了默认参数外的其他参数.ld命令实现的是链接器的工作,详细说明可以在终端man ld查看. 如果有人 ...