centos下编译方式安装lamp环境和mod_wsgi扩展

这个地方有比较全的django部署的东西:https://library.linode.com/frameworks/django-apache-mod-wsgi/centos-5

1、准备,获取安装包

    httpd-2.4.2.tar.gz    http://httpd.apache.org/download.cgi

    mysql-5.0.18.tar.gz  http://dev.mysql.com/downloads/

    php-5.4.3.tar.gz      http://www.php.net/downloads.php

    phpMyAdmin-3.5.1-all-languages.tar.gz http://www.phpmyadmin.net/home_page/downloads.php

    libxml2-2.7.2.tar.gz ftp://xmlsoft.org/libxml2/

    libmcrypt-5.5.8.tar.gz http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/

    gd-2.0.5.tar.gz      http://www.libgd.org

    zlib-1.2.5.tar.gz  http://www.zlib.net

    autoconf-2.69.tar.gz http://ftp.gnu.org/gnu/autoconf/

    freetype-2.4.9.tar.gz http://download.savannah.gnu.org/releases/freetype/

    libpng-1.5.10.tar.gz ftp://ftp.simplesystems.org/pub/libpng/png/src/

    jpegsrc.v8b.tar.gz http://www.ijg.org/files/

2、检查编译工具和卸载旧版本

gcc -v

yum install gcc  # 如果没有
yum install gcc -y  # 如果有

rpm -qa | grep httpd*  # 检查apache
rpm -qa | grep mysql   # 检查mysql
rpm -qa | grep xxxx    # 检查其他的东东
# r如果有就卸掉,执行
rpm -e httpd-2.4.3-xxx.centos.x86_64  # 其他的卸载,与此类似

3、上传,解压

4、安装

    a 、  libxml2

cd libxml2-2.90
./configure --prefix=/usr/local/libxml2   # prefix用来指定安装路径
make
make install

    b、 libmcrypt

./configure --prefix=/usr/local/libmcrypt  # prefix用来指定安装路径
make
make install

        如果 ./configure时报错:configure: error: C++ compiler cannot create executables 。

        解决方案:

            运行下面命令,然后重新configure(配置)

            yum install gcc gcc-c++ gcc-g77

            安装完成libmcrypt库以后,不同的linux系统版本有可能还要安装一下libltdl库。安装方法和前面的步骤相同,可以进入到解压缩的 目录/usr/local/src/libmcrypt-2.5.8下,找到libltdl库源代码所在的目录libltdl,进入这个目录按照下面几个 命令配置、编译、安装就可以了。

    c、zlib  安装方式同上,不要忘记指定路径

    d、libpng 安装方式同上,不要忘记指定路径

        在./configure --prefix=/usr/local/libpng这步最后会提示:configure: error: ZLib not installed

        解决方法如下:

        1.进入zlib的源文件目录,执行命令 make clean,清除zlib;

        2.重新配置 ./configure,后面不要接--prefix参数;

        3.make && make install;

        4.进入libpng目录,执行命令 ./configure --prefix=/usr/local/libpng;

        5.make && make install;

        6.安装成功.

    

    e、安装jpeg8最新库文件

    step1:安装GD2库前所需的jpeg8库文件,需要自己手动创建安装需要的目录,它们在安装时不能自动创建。命令行如下。

    [root@localhost   ~]# mkdir /usr/local/jpeg8  //建立jpeg8软件安装目录

    [root@localhost   ~]# mkdir /usr/local/jpeg8/bin //建立存放命令的目录

    [root@localhost   ~]# mkdir /usr/local/jpeg8/lib  //创建jpeg8库文件所在目录

    [root@localhost   ~]# mkdir /usr/local/jpeg8/include //建立存放头文件目录

    [root@localhost   ~]# mkdir -p /usr/local/jpeg8/man/man1 //建立存放手册的目录

    step2:configure有点不一样,如下命令行示:

    [root@localhost   jpeg-8b]# ./configure \

    > --prefix=/usr/local/jpeg8/ \

    > --enable-share \

    > --enable-static

    警告:configure: WARNING: unrecognized options: --enable-share

    在安装GD2库配置时,可以在configure命令的选项中加上“--with-jpeg=/usr/local/jpeg8”选项,指定jpeg8库文件的位置。安装PHP时也要指定该库文件的位置。

    

    安装freetype最新库文件

    step1:进入软件源码包所在目录/usr/local/src/中,解压软件包freetype-2.4.10.tar.gz到当前目录freetype-2.4.10下,并进入freetype-2.4.10目录。命令行如下:

    #cd /usr/local/src/   //进入软件源码包所在目录

    #tar zxvf freetype-2.4.10.tar.gz  //解压包到freetype-2.4.10目录

    #cd freetype-2.4.10 //进入目录freetype-2.4.10中

    step2:使用configure命令检查并配置安装需要的系统环境,并生成安装配置文件。命令行如下:

    #./configure --prefix=/usr/local/freetype //选项--prefix=/usr/local/freetype,是在安装时将软件安装到/usr/local/freetype目录下

    step3:使用make命令编译源代码文件并生成安装文件,命令行如下:

    #make  //对软件源代码文件进行编译

    step4:使用make install命令进行安装,命令行如下:

    #make install //开始安装freetype库文件

    如果安装成功将会在/usr/local/freetype目录下存在bin,include,lib和share四个目录。并在安装GD2库时, 通过configure命令选项中加上“--with-freetype=/usr/local/freetype/”选项,指定freetype库文件 位置。

    安装atuoconf最新的库文件

    其方法与上面安装freetype相同。唯一注意的地方是configure时,不用指定路径。

    安装最新的GD库文件

    安装方法大致与freetype相同。唯一注意的地方是configure时的路径,命令行如下:

    #./configure \  //配置命令

    >--prefix=/usr/local/gd \  //指定安装软件的位置

    >--with-jpeg=/usr/local/jpeg8/ \  //指定去哪找jpeg库文件

    >--with-png=/usr/local/libpng/ \  //指定去哪找png库文件

    >--with-freetype=/usr/local/freetype/   //指定去哪找freetype 2.x字体库的位置

    如果安装成功会在/usr/local/gd/目录下存在bin、include和lib这三个目录。在安装PHP5时,通过在configure命令选项中加上“--with-gd=/usr/local/gd”选项,指定GD库文件的位置。

    如果报错:

    make[2]: *** [gd_png.lo] Error 1

    make[2]: Leaving directory `/tmp/gd-2.0.35'

    make[1]: *** [all-recursive] Error 1

    make[1]: Leaving directory `/tmp/gd-2.0.35'

    make: *** [all] Error 2

    解决方案:

    vi gd_png.c

    找到#include "png.h"改成#include "/usr/local/libpng/include/png.h"

    安装新版本的apache服务器

    1、卸载apr、apr-util

    yum remove apr apr-util

    下载安装:

    http://apr.apache.org/download.cgi

    apr-1.4.6.tar.gz

    ./configure --prefix=/usr/local/apr-httpd/ && make && make install

    下载安装:

    http://apr.apache.org/download.cgi

    apr-util-1.5.1.tar.gz

    ./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/ && make && make install

     

    下载:http://sourceforge.net/projects/pcre

    #unzip -o pcre-8.32.zip

    #cd pcre-8.32

    #./configure --prefix=/usr/local/pcre

    #make

    #make install

    [root@localhost   httpd-2.4.3]# ./configure \

    > --prefix=/usr/local/apache243 \

    > --enable-mods-shared=all \

    > --enable-deflate \

    > --enable-speling \

    > --enable-cache \

    > --enable-file-cache \

    > --enable-disk-cache \

    > --enable-mem-cache \

    > --enable-so \

    > --enable-expires=shared \

    > --enable-rewrite=shared \

    > --enable-static-support \

    > --sysconfdir=/etc/httpd \

    > --with-z=/usr/local/zlib/ \

    > --with-apr=/usr/local/apr-httpd/ \

    > --with-apr-util=/usr/local/apr-util-httpd/ \

    > --with-pcre=/usr/local/pcre/ \

    > --disable-userdir

    #make && make install

    安装完成后,进入/usr/local/apache243/目录下,检查是否有以下文件:

    bin  build  cgi-bin  error  htdocs  icons  include  logs  man  manual  modules

    启动Apache服务器,并查端口是否开启,启动Apache服务器的命令行如下:

    #/usr/local/apache243/bin/apachectl start

    提示信息:

    AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using ::1. Set the 'ServerName' directive globally to suppress this message

    解决方案:

    vi /etc/httpd/httpd.conf

    加上下面一行,重启apache

    ServerName localhost:80

    查看端口命令行如下:

    #netstat -tnl|grep 80

    tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LIST

    测试安装结果,打开浏览器,在地址栏中输入URL为:http://192.168.146.129/

    如果浏览器中出现It works!则表明Apache服务器可以使用。

    每种服务器软件都有必要制成开机时自动启动,Apache服务器开机自动启动,只要在“/etc/rc.d/rc.local”文件,加上 Apache服务器的启动命令即可。可以直接打开“/etc/rc.d/rc.local”文件,在最后一行写入Apache启动命令,也可以用echo 命令追加进去,如下命令行示:

    [root@localhost   apache243]# echo "/usr/local/apache243/bin/apachectl start" >> /etc/rc.d/rc.local

    

安装最新版本的mysql5.6,方法如下

(编译mysql之前需要的准备软件bison、ncurses、ncurses-devel

这里我在这里下载的mysql-5.6.12.tar.gz

ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/

准备工作

groupadd mysql  

useradd mysql -g mysql -M -s /sbin/nologin  

#增加一个名为CentOS Mysql的用户。

-g:指定新用户所属的用户组(group)

-M:不建立根目录

-s:定义其使用的shell,/sbin/nologin代表用户不能登录系统。[c-sharp] 

groupadd mysql  

useradd -r -g mysql mysql  

解压并安装MySQL

[c-sharp] 

tar zxvf mysql-5.6.12.tar.gz  

cd mysql-5.6.12  (以下是一行 这里为了方便大家理解和注释写成换行注释,实际编译中请在换行前 加 " \ "链接)cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \   #安装路径

-DMYSQL_DATADIR=/usr/local/mysql/data       \    #数据文件存放位置

-DSYSCONFDIR=/etc              \                                  #my.cnf路径

-DWITH_MYISAM_STORAGE_ENGINE=1    \       #支持MyIASM引擎

-DWITH_INNOBASE_STORAGE_ENGINE=1 \     #支持InnoDB引擎

-DWITH_MEMORY_STORAGE_ENGINE=1 \        #支持Memory引擎

-DWITH_READLINE=1                    \                         #快捷键功能(我没用过)

-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock      \   #连接数据库socket路径

-DMYSQL_TCP_PORT=3306                  \               #端口

-DENABLED_LOCAL_INFILE=1            \                #允许从本地导入数据

-DWITH_PARTITION_STORAGE_ENGINE=1  \   #安装支持数据库分区

-DEXTRA_CHARSETS=all                  \                   #安装所有的字符集

-DDEFAULT_CHARSET=utf8              \                   #默认字符

-DDEFAULT_COLLATION=utf8_general_ci

make  

make install  

完成后,继续下面的操作

[c-sharp] 

cd /usr/local/mysql  

chown -R mysql:mysql . (为了安全安装完成后请修改权限给root用户)

scripts/mysql_install_db --user=mysql (先进行这一步再做如下权限的修改)

chown -R root:mysql .  (将权限设置给root用户,并设置给mysql组, 取消其他用户的读写执行权限,仅留给mysql "rx"读执行权限,其他用户无任何权限)

chown -R mysql:mysql ./data   (给数据库存放目录设置成mysql用户mysql组,并赋予chmod -R ug+rwx  读写执行权限,其他用户权限一律删除仅给mysql用户权限)

[c-sharp] 

cd /usr/local/mysql  

chown -R mysql .  

chgrp -R mysql .  

scripts/mysql_install_db --user=mysql  

chown -R root .  

下面的命令是可选的,将mysql的配置文件拷贝到/etc

cp support-files/my-medium.cnf /etc/my.cnf  (原始老版本是此操作,5.6.12版本的是如下文件地址)

cp support-files/my-default.cnf  /etc/my.cnf  (并给/etc/my.cnf +x权限 同时删除 其他用户的写权限,仅仅留给root 和工作组 rx权限,其他一律删除连rx权限都删除)

[c-sharp] 

cp support-files/my-medium.cnf /etc/my.cnf  

#修改my.cnf配置

    vim /etc/my.cnf

      

    #[mysqld] 添加:

    datadir=/data/mysql

    default-storage-engine=MyISAM

启动mysql:

[c-sharp] 

bin/mysqld_safe --user=mysql &  

#启动mysql,看是否成功  

netstat -tnl|grep 3306  

[c-sharp] 

bin/mysqld_safe --user=mysql &  

#启动mysql,看是否成功  

netstat -tnl|grep 3306  

上面是一种启动mysql的方法,还有一种简单的方便,如下:

 

 

[c-sharp] 

#将mysql的启动服务添加到系统服务中  

cp support-files/mysql.server /etc/init.d/mysql  

#现在可以使用下面的命令启动mysql  

service mysql start  

#停止mysql服务  

service mysql stop  

#重启mysql服务  

service mysql restart  

[c-sharp] 

#将mysql的启动服务添加到系统服务中  

cp support-files/mysql.server /etc/init.d/mysql.server  

#现在可以使用下面的命令启动mysql  

service mysql.server start  

#停止mysql服务  

service mysql.server stop  

#重启mysql服务  

service mysql.server restart  

将mysql服务添加到开机启动项,让mysql服务开机启动

 

[c-sharp] 

chkconfig --add mysql

修改默认root账户密码,默认密码为空

 

修改密码 cd 切换到mysql所在目录 

cd /usr/local/mysql 

#./bin/mysqladmin -u root password 

回车在接下来的提示中设置新密码即可。。

 

 

  #启动MySQL

    /usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf &

    #或者

    /etc/init.d/mysql start (service mysql start)

      

    #测试MySQL是否启动

    # 1)查看是否有进程mysql

    ps -ef | grep mysql

    # 2)查看端口是否运行

    netstat -tnl | grep 3306

    # 3)读取mysql版本信息

    mysqladmin version

安装mod_wsgi扩展:

下载mod_wsgi(http://code.google.com/p/modwsgi/wiki/DownloadTheSoftware?tm=2)

解压
cd 到文件mulu
./configure --with-python=/usr/bin/python --with-apxs=/usr/local/apache2/bin/apxs
make
make install

ok


你可能感兴趣的:(centos下编译方式安装lamp环境和mod_wsgi扩展)