zoukankan      html  css  js  c++  java
  • redhat as4下Mysql5+php5+apache2.2.4+GD2安装(转)

    redhat as4下Mysql5+php5+apache2.2.4+GD2安装
    [url=javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'saveit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();]收藏[/url]
    一.  准备工作:
    apache 2.2.4       下载 
    http://httpd.apache.org
    mysql 5.0.22       下载
    http://www.mysql.com
    php 5.2.1         下载  
    http://www.php.net
    gd         下载   
    http://www.libgd.org/Downloads(php
    图像处理需要的LIB)
    zlib      下载   
    http://www.zlib.net/
    (使用GD功能所需要的
    软件
    包)
    libpng-config   下载   
    http://www.libpng.org/pub/png/libpng.html(
    使用GD功能所需要的软件包)
    jpeg-6b  下载   
    ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
    (使用GD功能所需要的软件包,支持jpeg图片)
    freetype2下载  
    http://sourceforge.net/projects/freetype
    (使用GD功能所需要的软件包,FreeType2是一个简单的跨平台的字体绘制引擎)
    fontconfig 下载
    http://www.fontconfig.org/release/
    (使用GD功能所需要的软件包,fontconfig是字体库)
    openssl  下载   
    http://www.openssl.org/source/
    (apache的https协议需要的模块)
    libxml2  下载   
    http://ftp.acc.umu.se/pub/GNOME/sources/libxml2
    Libxslt  下载   
    http://ftp.acc.umu.se/pub/GNOME/sources/libxsl2
    zend optimizer 下载   
    https://www.zend.com/free_download/optimizer
    1. 安装OpenSSL
    tar zxvf openssl-0.9.8e.tar.gz
    cd openssl-0.9.8e
    ./config --prefix=/usr/local/openssl
    make
    make install
    修改(此步骤非常重要,至少对于现有的软件版本)
    vi /etc/ld.so.conf 添加一行/usr/local/openssl/lib/
    /sbin/ldconfig
    2. 安装zlib (安装libpng和gd前需要先安装zlib)
    tar zxvf zlib-1.2.3.tar.gz
    cd  zlib-1.2.3
    ./configure --prefix=/usr/local/zlib && make && make install
    3.安装libpng
    tar zxvf libpng-1.2.12.tar.gz
    cd libpng-1.2.12
    ./configure --prefix=/usr/local/libpng2 && make;make install
    4. 安装freetype
    tar zxvf freetype-2.2.1.tar.gz
    cd freetype-2.1.10
    ./configure --prefix=/usr/local/freetype2 &&make && make install
    5. 安装jpeg
    mkdir /usr/local/jpeg6
    mkdir /usr/local/jpeg6/include
    mkdir /usr/local/jpeg6/lib
    mkdir /usr/local/jpeg6/bin
    mkdir /usr/local/jpeg6/man/
    mkdir /usr/local/jpeg6/man/man1/
    tar zxvf jpegsrc.v6b.tar.gz
    cd jpeg-6b
    ./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static && make && make test && make install
    vi /etc/ld.so.conf 加入一行:
    /usr/local/jpeg6/lib
    /sbin/ldconf
    6. 解压fontconfig源代码 
    cd fontconfig-2.3.2
    ./configure --prefix=/usr/local/fontconfig --disable-docs --sysconfdir=/etc  --mandir=/usr/share/man && make && make install
    7. 安装gd
    tar zxvf gd-2.0.33.tar.gz 
    cd gd-2.0.33
    CPPFLAGS="-I/usr/local/freetype2/include -I/usr/local/jpeg6/include -I/usr/local/libpng2/include -I/usr/local/fontconfig/include" ./configure --prefix=/usr/local/gd2/ --with-zlib=/usr/local/zlib/ --with-png=/usr/local/libpng2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype2/ --with-fontconfig=/usr/local/fontconfig  
    configure的结果:
      ** Configuration summary for gd 2.0.34:
       Support for PNG library:          yes
       Support for JPEG library:         yes
       Support for Freetype 2.x library: yes
       Support for Fontconfig library:   yes
       Support for Xpm library:          yes
       Support for pthreads:             yes
       
    make && make install
       
    8. 安装libxml2(因php5.02要求libxml2的版本是 libxml2.5.10 or greater required.)
    tar zxvf libxml2-2.6.27.tar.gz
    cd libxml2-2.6.27
    ./configure --prefix=/usr/local/libxml2 && make && make install
    9.  安装libxslt
    tar zxvf libxslt-1.1.20.tar.gz
    cd libxslt-1.1.20
    ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2 && make && make install
    二、安装Mysql
    groupadd mysql 
    useradd -g mysql -c 'mysql account' -p mysql mysql 
    mkdir /usr/local/mysql
    cd /usr/local/
    chown -R mysql.mysql mysql #然后设置权限设定mysql用户能访问/usr/local/mysql,里面存的是mysql的所有文件
    tar –xzvf mysql-5.0.22.tar.gz
    cd mysql-5.0.22
    mysql安装_编译、安装
    为了防止使用旧的配置信息或目标文件,在重新运行configure前运行这些命令:
    rm config.mk
    make clean
      configure针对Intel CPU的优化
    CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --disable-shared --with-charset=gbk --with-extra-charsets=none --with-mysqld-user=mysql --with-zlib-dir=/usr/local/zlib --with-big-tables 
    make
    make install
      安装mysql测试数据库
    cd /usr/local/mysql/bin
    ./mysql_install_db
      设置mysql全局变量
    cd /opt/mysql-5.0.37/support-files/
    cp my-huge.cnf /etc/my.cnf
    chown -R mysql.mysql /usr/local/mysql #修改mysql安装目录的权限 
    可以将mysql的bin目录加入/etc/profile的PATH环境变量,或手动启动mysql serve 
    cd /usr/local/mysql/bin 
    su - mysql (因为使用了--with-mysqld-user=mysql设置,只有mysql用户可以启动mysql数据库)
    ./mysqld_safe &
      修改mysql数据库超级用户root的缺省密码: 
    /usr/local/mysql/bin/mysqladmin -u root password 'mysql'
    /usr/local/mysql/bin/mysqladmin -u root  -p -h `hostname` password 'mysql' 
    删除mysql默认空用户 
    cd /usr/local/mysql/bin 
    ./mysql -u root -p 
    use mysql; 
    delete from user where host='localhost.localdomain';
    delete from user where host=''; 
    commit; 
    flush privileges; 
    quit; 
    关闭mysql服务器 
    cd /usr/local/mysql/bin 
    ./mysqladmin -u root -p  shutdown  
      
    三. 安装apache2
    ./configure --prefix=/usr/local/apache2 --enable-auth-anon --enable-auth-dbm --enable-cache --enable-disk-cache --enable-
    exp
    ires --enable-file-cache --enable-headers --enable-info --enable-logio --enable-mem-cache --enable-proxy --enable-rewrite --enable-ssl --with-ssl=/usr/local/openssl -enable-unique-id --enable-usertrack --enable-vhost-alias --enable-mods-shared=most
    make
    make install

    安装PHP
            # tar -jxvf php-5.2.1.tar.bz2
            # mv php-5.2.1 /usr/local/src
            # cd /usr/local/src/php-5.2.1/
            # ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-gd=/usr/local/modules/gd --with-jpeg-dir=/usr/local/modules/jpeg6 --with-png-dir=/usr/lib --with-freetype-dir=/usr/local/modules/freetype --with-zlib --enable-gd
      # make && make install
      #cp php.ini-dist /usr/local/lib/php.ini
    8、整合Apache和PHP
    修改/usr/local/apache2/conf/httpd.conf文件
    在行AddType application/x-gzip .gz .tgz后添加一行
    AddType application/x-httpd-php .php .phtml
    修改行DirectoryIndex  index.php
    重新启动Apache   并且在它的/usr/local/apache2/htdocs/目录创建一个phpinfo.php文件。
    内容如下:
    <?php
     phpinfo();
    ?>
    在IE中输入http://127.0.0.1/phpinfo.php
    9、配置php.ini
    去掉
    extension=php_gd
    extension=php_mysql.dll
    extension=php_mysqli.dll

    修改config.ini.php
    设置$cfg['blowfish_secret']='config';


    按实际情况修改apache 配置文件

    apache httpd.conf  在/etc/httpd中

    配置虚拟目录:

    Alias /www/ "/soft/www/"

    <Directory "/soft/www/">
    Options Indexes
    order allow,deny
    Allow from all
    </Directory>

    找到 #ServerName 
    www.example.com:80
    在其下设置 ServerName 如下
    ServerName 
    www.mysite.com
    基中 
    www.mysite.com
    为你网站名,也可用IP代替
    找到 DocumentRoot "/usr/local/apache/htdocs"
    设置你的 WEB 服务器的根目录 如
    DocumentRoot "/myweb"
    找到 DirectoryIndex index.html index.html.var 改为
    DirectoryIndex index.html index.php index.htm
    用下面命令启动WEB服务器
    # /usr/local/apache2/bin/apachectl start
    查看自己的站点是否正常 
    http://www.mysite.com
    也可用IP
    用 # /usr/local/apache2/bin/apachectl stop 可停止服务
      使 SSL 工作
      手工签署证书
    cd /usr/local/apache2/conf
    openssl genrsa -des3 -passout pass:asecretpassword -out server.key.org 1024
    openssl req -new -passin pass:asecretpassword -passout pass:asecretpassword -key server.key.org -out server.csr -days 3650
      Country Name (2 letter code) [AU]:CN  #Pleaens;enter the following ''''extra'''' attributes 
      to be sent with your certificate request 
      A challenge password []:  #PHP文件, 输入URL地址查看PHP配置是否正确
    8. 安装ZendOptimizer,下载地址:
    http://down.itlearner.com/soft/1023.shtml
    # tar zxvf ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz
    # cd ZendOptimizer-3.0.1-linux-glibc21-i386
    # ./install.sh
    安装操作: [ok] -> [EXIT] -> [YES] -> [/httpd/zend] -> [/httpd/apache/conf] -> [yes] -> [OK] -> [OK] -> [NO]
    附录1:
    -----------------------------------------------------------------------
    Apache的httpd.conf文件常用指令解释
    #这是Apache服务器主要配置文件。 
    #它包含服务器的影响服务器运行的配置指令。 
    #参见以取得关于这些指令的详细信息 
    #这些配置指令被分为下面三个部分: 
    #1. 控制整个Apache服务器行为的部分(即全局环境变量) 
    #2. 定义主要或者默认服务参数的指令,也为所有虚拟主机提供默认的设置参数 
    #3. 虚拟主机的设置参数 
    # 
    #配置和日志文件名:如果你指定的文件名以“/”开始(win32下以“dirver:/”), 
    #服务器将使用绝对路径,如果文件名不是以“/”开始的,那么它将把ServerRoot 
    #的值附加在文件名的前面,例如,对“logs/foo.log",如果ServerRoot的值 
    #为“/usr/local/apache2”,则该文件应为“/usr/local/apache2/logs/foo.log” 
    # 
    ##第一区:全局环境参数 
    # 
    #这里设置的参数将影响整个Apache服务器的行为; 
    #例如Apache能够处理的并发请求的数量等。 
    # 
    #ServerRoot:指出服务器保存其配置、出错和日志文件等的根目录。 
    # 
    #注意!如果你想要将它指定为NFS或其它网络上的位置, 
    #请一定要去阅读与LockFile有关的文档(可能在 
    #URL:
    http://httpd.apache.org/docs-2.0/mod/mpm_common.html#lockfile
    >)。 
    #这将会使你自己也能解决很多问题。 
    # 
    #路径的结尾不要添加斜线。 
    # 
    ServerRoot "/usr/loacl/apache2" 
    # 
    #串行访问的锁文件必须保存在本地磁盘上 
    # 
    #LockFile logs/accept.lock 
    #ScoreBoardFile:用来保存内部服务进程信息的文件。 
    #如果未指明(默认),记分板(scoreboard)将被保存在一个匿名的共享内存段中, 
    #并且它不能被第三方软件所使用。 
    #如果指定了,要确保不能使用两个Apache使用同一个记分板文件, 
    #这个记分板文件必须保存在本地磁盘上。 
    # 
    #ScoreBoardFile logs/apache_runtime_status 
    # 
    #PidFile:记录服务器启动进程号的文件。 
    # 
    PidFile logs/httpd.pid 
    # 
    #Timeout:接收和发送前超时秒数 
    # 
    Timeout 300 
    # 
    #KeepAlive:是否允许稳固的连接(每个连接有多个请求), 
    #设为"Off"则停用。 
    # 
    KeepAlive On 
    # 
    #MaxKeepAliveRequests:在稳固连接期间允许的最大请求数, 
    #设为0表示无限制接入。 
    #我们推荐你将其设为一个较大的值,以便提高性能 
    MaxKeepAliveRequests 100 
    # 
    #KeepAliveTimeout:在同一个连接上从同一台客户上接收请求的秒数 
    # 
    KeepAliveTimeout 15 
    ## 
    ##Server-Pool大小设定(针对MPM的) 
    ## 
    # prefork MPM 
    # StartServers:启动时服务器启动的进程数 
    # MinSpareServers:保有的备用进程的最小数目 
    # MaxSpareServers:保有的备用进程的最大数目 
    # MaxClients:服务器允许启动的最大进程数 
    # MaxRequestsPerChild:一个服务进程允许的最大请求数 
    StartServers 5 
    MinSpareServers 5 
    MaxSpareServers 10 
    MaxClients 50 
    MaxRequestPerChild 0 
    # WinNT MPM 
    # ThreadsPerChild:服务进程中工作线程常数 
    # MaxRequestsPerChild:服务进程允许的最大请求数 
    ThreadsPerChild 250 
    MaxRequestsPerChild 0 
    # 
    # Listen:允许你绑定Apache服务到指定的IP地址和端口上,以取代默认值 
    # 参见指令 
    # 使用如下命令使Apache只在指定的IP地址上监听, 
    # 以防止它在IP地址0.0.0.0上监听 
    # 
    # Listen 12.34.56.78:80 
    Listen 80 
    # 
    # 动态共享支持(DSO) 
    # 
    # 为了能够使用那些以DSO模式编译的模块中的函数,你必须有相应的“LoadModule”行, 
    # 因此,在这里包含了这些指令,以便能在使用它之前激活。 
    # 那些静态编译的模块不需要在这里列出 (即以“httpd -l”列出的模块) 
    # 
    # 示例: 
    # LoadModule foo_module modules/mod_foo.so 
    # 
    # 
    # ExtendedStatus:当调用“server-status”时,控制Apache是产生“全”状态 
    # 信息(ExtendedStatus On),还是产生基本信息(ExtendedStatus Off)。 
    # 默认为off 
    # 
    # ExtendedStatus On 
    ### 第二区:“主”服务配置 
    # 
    # 这一区建立被 “主” 服务器用的指令值,以回应那些不被 
    # 定义处理的任何请求。 
    # 这些数值也提供默认值给后面定义的容器。 
    # 如果中有定义,那么这里定义的指令值将被 
    # 中的定义所覆盖。 
    # 
    # 
    # 如果你想使httpd以另外的用户或组来运行,你必须在开始时以root方式启动 
    # 然后再将它切换为你想要使用的用户或组。 
    # 
    # User/Group:运行httpd的用户和组 
    # 在SCO (ODT3)上使用“User nouser”和“Group nogroup” 
    # 在HPUX上,你可能不能以nobody身份使用共享内存,建议创建一个www用户。 
    # 注意一些核心(kernel)在组ID大于60000时拒绝setgid(Group)或semctl(IPC_SET), 
    #节在这些系统上不要使用“Group #-1”。 
    # 
    User nobody 
    Group #-1 
    # 
    # ServerAdmin:你的邮件地址,当发生问题时Apache将向你发出邮件。 
    # 作为一个出错文档,这个地址显示在server-generated页上, 
    # 例如:admin@your-domain.com 
    # 
    ServerAdmin kreny@sina.com 
    # 
    # ServerName指定Apache用于识别自身的名字和端口号。 
    # 通常这个值是自动指定的,但是我们推荐你显式的指定它以防止启动时出错 
    # 
    # 如果你为你的主机指定了一个无效的DNS名,server-generated重定向将不能工作。 
    # 参见UseCanonicalName指令 
    # 
    # 如果你的主机没有注册DNS名,在这里键入它的IP地址 
    # 无论如何,你必须使用它的IP地址来提供服务, 
    # 这里使用一种容易理解的方式重定向服务 
    ServerName 
    www.dalouis.com:80
    # 
    # UseCanonicalName:决定Apache如何构造URLS和 SERVER_NAME 和 SERVER_PORT 的指令。 
    # 当设置为 “Off”时,Apache会使用用户端提供的主机名和端口号。 
    # 当设置为“On”,Apache会使用ServerName指令的值。 
    # 
    UseCanonicalName Off 
    # 
    # DocumentRoot:你的文档的根目录。默认情况下,所有的请求从这个目录进行应答。 
    # 但是可以使用符号链接和别名来指向到其他的位置。 
    # 
    DocumentRoot "/home/redhat/public_html" 
    # 
    # Apache可以存取的每个目录都可以配置存取权限(包括它的子目录)。 
    # 
    # 首先,我们配置一个高限制的特征。 
    # 这将禁止访问文件系统所在的目录,并添加你希望允许访问的目录块。 
    # 如下所示 
    order Deny,Allow 
    Deny from all 
    # 
    # 注意从这里开始你一定要明确地允许哪些特别的特征能够被使用。 
    # - 所以,如果Apache没有象你所期待的那样工作的话, 
    # 请检查你是否在下面明确的指定它可用。 
    # 
    # 
    # 这将改变到你设置的DocumentRoot 
    # 
    # 
    # Options:这个指令的值可以是“None”,“All”,或者下列选项的任意组合: 
    # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews 
    # 
    # 注意,“MultiViews”必须被显式的指定,“Options All”不能为你提供这个特性。 
    # 
    # 这个指令既复杂又重要,请参见 
    #“
    http://httpd.apache.org/docs-2.0/mod/core.html#optioins
    ”以取得更多的信息。 
    # 
    Options FollowSymLinks 
    # 
    # AllowOverride控制那些被放置在.htaccess文件中的指令。 
    # 它可以是“All”,“None”,或者下列指令的组合: 
    # Options FileInfo AuthConfig Limit 
    # 
    AllowOverride None 
    # 
    # 控制谁可以获得服务。 
    # 
    order allow,deny 
    Allow from all 
    # 
    # UserDir:指定在得到一个~user请求时将会添加到用户home目录后的目录名。 
    # 
    UserDir public_html 
    # 为防止在UserDir指令上的
    漏洞
    ,对root用户设置 
    # 象“./”这样的UserDir是非常有用的。 
    # 如果你使用Apache 1.3或以上版本,我们强烈建议你 
    # 在你的服务器配置文件中包含下面的行 
    UserDir disabled root 
    # 
    # 下面是一个使用UserDir指令使一个站点的目录具有只读属性的示例: 
    # 
    # 
    # AllowOverride FileInfo AuthConfig Limit Indexes 
    # Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec 
    #   
    # order allow,deny 
    # Allow from all 
    # 
    #   
    # order deny,allow 
    # Deny from all 
    # 
    # 
    # 
    # DirectoryIndex:定义请求是一个目录时,Apache向用户提供服务的文件名 
    # 
    # index.html.var文件(一个类型映象文件)用于提供一个文档处理列表, 
    # 出于同样的目的,也可以使用MultiViews选项,但是它会非常慢。 
    # 
    DirectoryIndex index.php index.html index.html.var 
    # 
    # AccessFileName:在每个目录中查询为目录提供附加配置指令的文件的文件名。 
    # 参见AllowOverride指令。 
    # 
    AccessFileName .htaccess 
    # 
    # 下面的行防止.htaccess和.htpasswd文件被Web客户查看。 
    # 
    order allow,deny 
    Deny from all 
    # 
    # Typeconfig:定义在哪里查询mime.types文件。 
    # 
    TypeConfig conf/mime.types 
    # 
    # DefaultType:定义当不能确定MIME类型时服务器提供的默认MIME类型。 
    # 如果你的服务主要包含text或HTML文档,“text/plain”是一个好的选择; 
    # 如果大多是二进制文档,诸如软件或图像,你应使用 
    # “application/octer-stream”来防止浏览器象显示文本那样显示二进制文件。 
    # 
    DefaultType text/plain 
    # 
    # mod_mime_magic允许服务器从自己定义自己类型的文件中使用不同的线索(hints), 
    # 这个MIMEMagicFile指令定义hints定义所在的文件。 
    # 
    MIMEMagicFile conf/magic 
    # 
    # HostnameLookups:指定记录用户端的名字还是IP地址,例如,本指令为on时 
    # 记录主机名,如apache.org" target="_blank" >
    www.apache.org
    ;为off时记录IP地址,204.62.129.132。 
    # 默认值为off,这要比设为on好得多,因为如果设为on则每个用户端请求都将会 
    # 至少造成对 nameserver 进行一次查询。 
    # 
    HostnameLookups Off 
    # 
    # EnableMMAP:控制是否进行内存转储(如果操作系统支持的话)。 
    # 默认为on,如果你的服务器安装在网络文件系统上(NFS),请关闭它。 
    # 在一些系统上,关闭它会提升系统性能(与文件系统类型无关); 
    # 具体情况请参阅apache.org/docs-2.0/mod/core.html#enablemmap" target="_blank" >
    http://httpd.apache.org/docs-2.0/mod/core.html#enablemmap
    # 
    # EnableMMAP off 
    # 
    # EnableSendfile:控制是否使用sendfile kernel支持发送文件
    原文链接:
    http://blog.csdn.net/peng1233/archive/2008/10/12/3061205.aspx

  • 相关阅读:
    Python ES操作
    SVN总结
    MongoDB问题总结
    MySQL
    PyQt小工具
    Python logging模块
    shell脚本
    cmd命令
    eclipse java 项目打包
    Robot Framework:failed: Data source does not exist.错误
  • 原文地址:https://www.cnblogs.com/wangbin/p/1438642.html
Copyright © 2011-2022 走看看