zoukankan      html  css  js  c++  java
  • linux编译安装LAMP

    Linux安装Apache+MySQL+PHP

    安装部分依赖

    安装apr(可选)

    # tar -xf apr-1.5.0.tar.bz2
    # cd apr-1.5.0
    #./configure  --prefix=/usr/local/apr   //指定其安装位置
    # make && make install

    安装apr-util

    # tar -xf apr-util-1.5.3.tar.bz2
    # cd apr-util-1.5.3
    # ./configure  --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr
    # make && make install

    安装pcre(可选)

    # tar -xf pcre-8.35.tar.gz
    # cd pcre-8.35
    # ./configure  --prefix=/usr/local/pcre
    # make && make install

    编译安装apache

    # tar -xf httpd2.4.9.tar.gz
    # cd <span style="font-family: Arial, Helvetica, sans-serif;">httpd2.4.9</span>
    # ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most
    # make && make install
    编译过程中假设缺少其它依赖,可单独安装就可以,安装过程如上面apr安装。
    假设提示apr相关错误,将编译语句中--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util 參数去掉就可以。由于Apache默认包括了自己的apr相关东西。
    启动http
    /usr/local/apache/bin/apachectl start
    浏览器输入http://IP/就可以看到 It Works!
    将apache增加service服务。
    cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
    此时可通过service httpd start/stop启动关闭http服务

    编译安装MySQL

    MySQL编译安装过程见此处http://blog.csdn.net/zqtsx/article/details/9378703,这里不再描写叙述。
    下载mysql源代码:http://dev.mysql.com/downloads/mysql/,或者可到此处下载5.6.19版本号:http://www.kuaipan.cn/file/id_671818784440506.htm?

    准备開始安装
    groupadd mysql
    useradd -r -g mysql mysql
    解压并安装:
    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                                 #port
    -DENABLED_LOCAL_INFILE=1                            #同意从本地导入数据
    -DWITH_PARTITION_STORAGE_ENGINE=1     #安装支持数据库分区
    -DEXTRA_CHARSETS=all                                     #安装全部的字符集
    -DDEFAULT_CHARSET=utf8                                 #默认字符
    -DDEFAULT_COLLATION=utf8_general_ci
    
    
    make  
    make install
    编译安装完毕后,继续运行例如以下操作:
    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用户权限)

    将mysql的启动服务加入到系统服务中  
    cp support-files/mysql.server /etc/init.d/mysql  
    #如今能够使用以下的命令启动mysql  
    service mysql start  
    #停止mysql服务  
    service mysql stop  
    #重新启动mysql服务  
    service mysql restart

    改动默认root账户password。默认password为空
    改动password cd 切换到mysql所在文件夹 
    cd /usr/local/mysql 
    #./bin/mysqladmin -u root password 
    回车在接下来的提示中设置新password就可以。


    #測试MySQL是否启动
    # 1)查看是否有进程mysql
    ps -ef | grep mysql
    # 2)查看port是否执行
    netstat -tnl | grep 3306
     # 3)读取mysql版本号信息
    mysqladmin version
    附:安装mysql过程中可能出现类似例如以下错误:
    The server quit without updating PID f[失败]var/lib/mysql/
    非常可能是本机之前已经安装过mysql导致,用rpm查看本机是否安装mysql。假设有的话须要卸载掉,然后又一次依照上面的步骤编译安装mysql就可以。


    编译安装PHP

    # tar -xf php-5.5.12.tar.gz
    # cd php-5.5.12
    # ./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-apxs2=/usr/local/apache/bin/apxs  --enable-fastcgi --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --disable-debug --disable-ipv6 --with-iconv-dir --with-freetype-dir --with-jpeg-dir=/usr/local/jpeg --with-zlib --with-libxml-dir=/usr/local/libxml2 --enable-xml=/usr/local/libxml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl=/usr/local/curl --enable-mbregex --enable-fpm --enable-mbstring  --with-gd --enable-gd-native-ttf --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap
    # make && make install
    编译过程中假设缺少其它依赖。可单独安装就可以。安装过程如上面apr安装。
    拷贝配置文件到php文件夹:
    # cp php.ini-production /usr/local/php5/etc/php.ini

    PHP与Apache整合

    编辑apache配置文件httpd.conf,以apache支持php:

    首先要在apache配置文件里定义,使apache可以处理php结尾的文件 ,全文查找AddType字段,加入一下内容
    [root@Spg-RedHat htdocs]# vi /usr/local/apache/conf/httpd.conf
    AddType application/x-httpd-php  .php
    AddType application/x-httpd-php-source  .phps
    
    找到DirectoryIndex,加入index.php:
    DirectoryIndex  index.php  index.html
    
    <Directory /data/bbs/admin>
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Allow from all
    </Directory>

    加入測试页面:

    [root@Spg-RedHat htdocs]# vim /usr/local/apache/htdocs/index.php
    编辑增加:
    <?
    phpinfo();
    ?

    >


    重新启动http:
    service httpd stop
    service httpd start

    測试结果:



    至此。PHP成功安装。

    集成xcache(可选)


    安装:

    # tar xf xcache-3.0.3.tar.gz
    # cd xcache-3.0.3
    # /usr/local/php5/bin/phpize
        //phpize是用来安装php扩展模块的。通过phpize能够建立php的外挂模块,若你想在原来编译好的php中增加memcached或者ImageMagick等扩展模块。就须要使用phpize
    # ./configure --enable=xcache --with-php-config=/usr/local/php5/bin/php-config
    [root@Spg-RedHat xcache-3.1.0]#make && make install
    Installing shared extensions:     /usr/local/php5/lib/php/extensions/no-debug-zts-20121212/

    集成:改动php.ini文件,增加例如以下内容:


    [root@Spg-RedHat xcache-3.1.0]# vim /usr/local/php5/etc/php.ini
    [xcache-common]
    extension = <span style="white-space: nowrap; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;">/usr/local/php5/lib/php/extensions/no-debug-zts-20121212</span><span style="white-space: nowrap; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;">/xcache.so</span>
    [xcache.admin]
    xcache.admin.enable_auth = On
    xcache.admin.user = "admin"
    xcache.admin.pass = "6a0194f9707fa832ece6f5b66a25567e" 
    #echo -n "youp-assword" |md5sum |awk '{print $1}'
    [xcache] 
    xcache.shm_scheme =        "mmap"
    xcache.size  =              128M
    xcache.count =                 1
    xcache.slots =                8K
    xcache.ttl   =                 0
    xcache.gc_interval =           0
    xcache.var_size  =            0M
    xcache.var_count =             1
    xcache.var_slots =            8K
    xcache.var_ttl   =             0
    xcache.var_maxttl   =          0
    xcache.var_gc_interval =     300
    xcache.test =                Off
    xcache.readonly_protection = Off
    xcache.mmap_path =    "/dev/zero"
    xcache.coredump_directory =   ""
    xcache.cacher =               On
    xcache.stat   =               On
    xcache.optimizer =           Off
    [xcache.coverager]
    xcache.coverager =          Off
    xcache.coveragedump_directory = ""

    注意:当中的extension值“/usr/local/php5/lib/php/extensions/no-debug-zts-20121212/”为前面make install的结果。


    pass自行生成,为明文MD5加密结果。

    网上也有通过将xcache.ini文件复制到/etc/php.d/文件夹下进行集成的方法,可是我尝试未成功。有兴趣可自行尝试。
    再重新启动Apache。在phpinfo页面就可以看到xcache相关配置。例如以下图所看到的:



    结束:没接触过php,首次安装php,痛苦的过程。
  • 相关阅读:
    看完这篇文章,对采用.Net做网站的信心大增
    sqlserver 使用游标存储过程分页
    ViewState慎用
    [zz] C++智能指针循环引用解决
    cello 有关trigger
    cello 把事件全部统一起来,Event,StateEvent,ActionEvent
    libvirt 错误FAQ
    cello collector中为什么要设置frame_work_in_machine
    比较好的一些句型
    一些疑问
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5325675.html
Copyright © 2011-2022 走看看