-----------------------你站在桥上看风景--------------------------------------------I---------------------------------------------------------------------------------------看风景人在楼上看你-----------------------------------------Love---------------------------------------------------------------------------------明月装饰了你的窗子-----------------------------------------China---------------------------------断章----------------------------------------你装饰了别人的梦--------rokanio--------

DedeCMS部署--怎样去部署Apache+Mysql+PHP(LAMP)?

上一篇 / 下一篇  2010-06-02 16:20:55 / 个人分类:测试技术

声明:部署DedeCMS,在网上搜了很多资料,包括这个论坛,几乎没有发现在linux下部署的现成资料可以参考。

             遂,自己把整个部署过程中一些重要的点记录下来,一是算做自己的劳动成果,同时,期望对曾经和我一样迷茫,不知如何部署                的XDJM们一个参考。谢谢

DedeCMS部署--怎样去部署Apache+Mysql+PHP(LAMP)

1. Linux OS

Linux OSRed Hat Enterprise Linux AS release 4 (Nahant Update 6)


2.Deploy Apache

2.1  下载Apache

下载Apache2 source from http://httpd.apache.org/  ,直接下载在/root下,解压tarphp-5.2.13

2.2  编译 apache

cd httpd-2.2.15,进行编译,生成Makefile

./configure --prefix=/usr/local/apache \  --指定apache安装目录

               --enable-so                    \

                 --enable-cgi                   \

                 --enable-info                 \

                 --enable-rewrite          \

                 --enable-speling           \

                 --enable-usertrack      \

                 --enable-deflate \

                 --enable-ssl                   \

--enable-mime-magic

2.3  make & make install

Make过程中可能会有一些问题,具体可以参考第5节。

Apache部署参考:http://dan.drydog.com/apache2php.html

3. Deploy Mysql

3.1下载mysql

下载mysql source from http://dev.mysql.com/ ,在Downloads页面选择 MySQL Community Server 进入下载页面。选择 Red Hat Enterprise Linux。因为我的OSREHL4.6 ,且为64位,则下载三个包:

MySQL-server-community-5.1.47-1.rhel4.x86_64.rpm MySQL-devel-community-5.1.47-1.rhel4.x86_64.rpm –必须,否则apache编译的时候会出错MySQL-client-community-5.1.47-1.rhel4.x86_64.rpm

3.2 安装mysql server

rpm –ivh MySQL-server-community-5.1.47-1.rhel4.x86_64.rpm

server安装完毕后,测试是否成功可运行netstatMysql端口是否打开,如打开表示服务已经启动,安装成功。

Mysql默认的端口是3306。命令如下: netstat –nap |grep 3306

3.3 安装mysql client

rpm –ivh MySQL-client-community-5.1.47-1.rhel4.x86_64.rpm

3.4 安装 mysql devel

rpm –ivh MySQL-devel-community-5.1.47-1.rhel4.x86_64.rpm

3.5 登录Mysql

    [root@test1 local]# mysql

   Welcome to the MySQL monitor. Commands end with ; or \g.

   Your MySQL connection id is 1 to server version: 4.0.16-standard

   Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

   mysql>

   出现了“mysql>”提示符,恭喜你,安装成功!

   增加了密码后的登录格式如下:

   mysql -u root -p

   Enter password: (输入密码)

   其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。

   注意:这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。

3.6 修改mysql 密码

 MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。

   1、命令

   usr/bin/mysqladmin -u root password 'new-password'

   格式:mysqladmin -u用户名 -p旧密码 password 新密码

   2、例子

   例1:给root加个密码123456

   键入以下命令 :

   [root@test1 local]# /usr/bin/mysqladmin -u root password 123456

  注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

   3、测试是否修改成功

   1)不用密码登录

   [root@test1 local]# mysql

   ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)

   显示错误,说明密码已经修改。

   2)用修改后的密码登录

   [root@test1 local]# mysql -u root -p

   Enter password: (输入修改后的密码123456)

   Welcome to the MySQL monitor. Commands end with ; or \g.

   Your MySQL connection id is 4 to server version: 4.0.16-standard

   Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

   mysql>

   成功!

   这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。

3.7 启动和停止

1、启动

   MySQL安装完成后启动文件mysql/etc/init.d目录下,在需要启动时运行下面命令即可。

   [root@test1 init.d]# /etc/init.d/mysql start

   2、停止

   /usr/bin/mysqladmin -u root -p shutdown

   3、自动启动

   1)察看mysql是否在自动启动列表中

   [root@test1 local]# /sbin/chkconfig --list

   2)把MySQL添加到你系统的启动服务组里面去

   [root@test1 local]# /sbin/chkconfig –- add mysql

   3)把MySQL从启动服务组里面删除。

   [root@test1 local]# /sbin/chkconfig –-del mysql

Mysql部署 参考:http://www.linuxidc.com/Linux/2007-12/9962p3.htm

3.8 使用mysql

(对于我们LAMP环境部署来说,可选择性的使用本节)

MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:

   1home目录下建立data目录

   cd /home

   mkdir data

   2、把MySQL服务进程停掉

   mysqladmin -u root -p shutdown

 

   3、把/var/lib/mysql整个目录移到/home/data

   mv /var/lib/mysql /home/data/

   这样就把MySQL的数据文件移动到了/home/data/mysql

   4、找到my.cnf配置文件

  如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:

   [root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

   5、编辑MySQL的配置文件/etc/my.cnf

  为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:

   vi  my.cnf    (vi工具编辑my.cnf文件,找到下列数据修改之)

   # The MySQL server

    [mysqld]

    port   = 3306

    #socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)

    socket  = /home/data/mysql/mysql.sock   (加上此行)

   6、修改MySQL启动脚本/etc/rc.d/init.d/mysql

  最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql

   [root@test1 etc]# vi /etc/rc.d/init.d/mysql

   #datadir=/var/lib/mysql    (注释此行)

   datadir=/home/data/mysql   (加上此行)

   7、重新启动MySQL服务

   /etc/rc.d/init.d/mysql start

   或用reboot命令重启Linux

   如果工作正常移动就成功了,否则对照前面的7步再检查一下。

 

4. Deploy PHP

PHP的部署是整个部署最困难的一个环节,这个环节也是让我耗时,在网络上查找答案最长的部分。

4.1 下载PHP

下载 PHP source from http://www.php.net/

注意:dedecms 5.6以上版本对php5.3支持有瑕疵!如果用php5.3版本,在安装cms安装成功后,系统后台页面会提示“针对于安装完成后出现安装完出现Deprecated: Function ereg_replace() is deprecated ....”。

解决有两种方法,见第5节。

4.2 编译PHP

cd php-5.2.13,进行编译,生成Makefile。注意:这个地方的配置项需要根据自己的需要选择。

./configure \

     --with-apxs2=/usr/local/apache/bin/apxs \

     --with-mysql \

     --prefix=/usr/local/apache/php \

     --with-config-file-path=/usr/local/apache/php \

     --enable-force-cgi-redirect \

     --disable-cgi \

     --with-zlib \

     --with-gettext \

     --with-gdbm  \

  --with-gd

4.3 make & make install

4.4 cp -p .libs/libphp5.so /usr/local/apache/modules

4.5 cp php.ini

命令如下:  cp -p php.ini-recommended /usr/local/apache/php/php.ini

4.6 修改httpd.conf

修改 /usr/local/apache/conf/httpd.conf,加入以下内容:

1

# Example:

# LoadModule foo_module modules/mod_foo.so

#

LoadModule php5_module        modules/libphp5.so

AddHandler php5-script. php

2

# DirectoryIndex: sets the file that Apache will serve if a directory

# is requested.

<IfModule dir_module>

    #DirectoryIndex index.html

     DirectoryIndex index.php index.html index.shtml index.cgi

</IfModule>

 

3.

    # If the AddEncoding directives above are commented-out, then you

    # probably should define those extensions to indicate media types:

    #

    AddType application/x-compress .Z

    AddType application/x-gzip .gz .tgz

    AddType application/x-httpd-php .php .phtml

AddType application/x-httpd-php-source .phps

4.7 修改完成后重新启动apache

PHP安装参考:http://dan.drydog.com/apache2php.html

 

5.遇到的问题以及解决办法

5.1 error: libpng.(a|so) not found.

现象描述:

编译apache的时候提示:

checking for floorf... yes

If configure fails try --with-jpeg-dir=<DIR>

configure: error: libpng.(a|so) not found.

解决办法:

通过上面的搜索其实就知道一些原因了,configure一般的搜索编译路径为/usr/lib/,因为php默认就在/usr/lib/下找相关库文件,x64机器上是在:/usr/lib64.这时你就可以直接把需要的库文件从/usr/lib64中拷贝到/usr/lib/中去就可以了.

那么记得要在configure前执行如下的命令:

cp -frp /usr/lib64/libjpeg.* /usr/lib/

 

5.2  error: Cannot find MySQL header files under yes

现象描述:

编译apache的时候提示:

checking for specified location of the MySQL UNIX soc

TAG:

 

评分:0

我来说两句

buutterfly

buutterfly

God , after God , me.

日历

« 2024-05-18  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 23515
  • 日志数: 41
  • 建立时间: 2009-10-10
  • 更新时间: 2010-07-06

RSS订阅

Open Toolbar