天天看点

LAMP源码编译安装

  LAMP是一个黄金组合。它是指linux,apache,mysql以及php的组合。

  首先给大家介绍下这4个东东。linux是一个开源的类unix系统,它是一个支持多用户,多任务,多进程,多cpu的操作系统。关于它的发行版主要有这三类:redhat系,debian系,slackware系。我平常用的比较多的是redhat系里的centos。而apache是一款排名领先的web服务器软件。php则是一门优秀的脚本语言,主要用于web开发。

一、安装apache

<code>yum </code><code>install</code> <code>-y pcre pcre-devel apr apr-devel  zlib-devel  </code><code>#安装相关依赖包cd /usr/local/src/</code>

<code>wget http:</code><code>//mirrors</code><code>.cnnic.cn</code><code>/apache/httpd/httpd-2</code><code>.2.31.</code><code>tar</code><code>.gz</code>

<code>tar</code> <code>xvf httpd-2.2.31.</code><code>tar</code><code>.gz </code>

<code>cd</code> <code>httpd-2.2.31</code>

<code>.</code><code>/configure</code> <code>--prefix=</code><code>/usr/local/apache2</code> <code>--sysconfdir=</code><code>/etc/httpd</code> <code>--with-included-apr --</code><code>enable</code><code>-so --with-zlib --</code><code>enable</code><code>-deflate=shared --</code><code>enable</code><code>-expires=shared --</code><code>enable</code><code>-rewrite=shared --with-pcre</code>

<code>echo</code> <code>$?</code>

<code>make</code>

<code>make</code> <code>install</code>

<code></code>

注意:只有echo $?返回的是0,才说明编译安装成功。

二、安装mysql

<code>http:</code><code>//mirrors</code><code>.sohu.com</code><code>/mysql/MySQL-5</code><code>.1/   Mysql下载网站</code>

<code>cd</code> <code>/usr/local/src/</code>

<code>wget http:</code><code>//mirrors</code><code>.sohu.com</code><code>/mysql/MySQL-5</code><code>.1</code><code>/mysql-5</code><code>.1.72-linux-i686-glibc23.</code><code>tar</code><code>.gz</code>

<code>tar</code> <code>zxvf mysql-5.1.72-linux-i686-glibc23.</code><code>tar</code><code>.gz </code>

<code>mv</code> <code>mysql-5.1.72-linux-i686-glibc23 </code><code>/usr/local/mysql</code>

<code>cd</code> <code>../ </code>

<code>ll </code>

<code>useradd</code> <code>-s </code><code>/sbin/nologin</code> <code>-M mysql</code>

<code>mkdir</code> <code>-p </code><code>/data/mysql</code>

<code>chown</code> <code>-R mysql:mysql </code><code>/data/mysql</code>

<code>cd</code> <code>mysql/</code>

<code>.</code><code>/scripts/mysql_install_db</code> <code>--user=mysql --datadir=</code><code>/data/mysql</code>    <code>#初始化数据</code>

<code> </code> 

<code>cp</code> <code>/etc/my</code><code>.cnf </code><code>/etc/my</code><code>.cnf.bak                         </code><code>#备份配置文件</code>

<code>cp</code> <code>support-files</code><code>/my-large</code><code>.cnf </code><code>/etc/my</code><code>.cnf            </code><code>#复制配置模板到</code>

<code>vim </code><code>/etc/my</code><code>.cnf           编译MySql配置文件</code>

<code>#log-bin=mysql-bin            #记录查询、删除、更新数据时记录日志,配置MySql主从时需要,这里暂时不需要,先注释</code>

<code>#binlog_format=mixed</code>

<code>#server-id      = 1</code>

<code>cp</code> <code>/usr/local/mysql/support-files/mysql</code><code>.server </code><code>/etc/init</code><code>.d</code><code>/mysqld</code>    <code>#复制启动脚本到init.d目录下</code>

<code> </code><code>vim </code><code>/etc/init</code><code>.d</code><code>/mysqld</code>               <code>#编辑启动配置文件,指定数据目录</code>

<code>basedir=</code><code>/usr/local/mysql</code>

<code>datadir=</code><code>/data/mysql</code>

<code>vim </code><code>/etc/profile</code><code>.d</code><code>/path</code><code>.sh         </code><code>#将mysql添加进PATH路径#!/bin/bashexport PATH=$PATH:/usr/local/mysql/bin/source !$    #更新PATH路径echo $PATH    #查看是否生效/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin/</code>

<code>chkconfig --add mysqld             </code><code>#开机启动</code>

<code>chkconfig mysqld on</code>

<code>/etc/init</code><code>.d</code><code>/mysqld</code> <code>start              </code><code>#启动服务</code>

<code>Starting MySQL... SUCCESS! </code>

<code>netstat</code> <code>-tnplu | </code><code>grep</code> <code>mysql</code>

<code>tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1282</code><code>/mysqld</code>  

<code>如果启动不了,请到 </code><code>/data/mysql/</code> <code>下查看错误日志,这个日志通常是主机名.err.</code>

<code>错误1:</code>

<code>Installing MySQL system tables....</code><code>/bin/mysqld</code><code>: error </code><code>while</code> <code>loading shared libraries: libaio.so.1: cannot </code><code>open</code> <code>shared object </code><code>file</code><code>: No such </code><code>file</code> <code>or directory</code>

<code>解决方法:</code>

<code>yum </code><code>install</code>  <code>libaio-devel –y</code>

<code>错误2:</code>

<code>.</code><code>/bin/my_print_defaults</code><code>: </code><code>/lib/ld-linux</code><code>.so.2: bad ELF interpreter: No such </code><code>file</code> <code>or directory</code>

<code>解决方法:</code>

<code>下载64位数据库</code>

<code>错误3:</code>

<code>Starting MySQL.Manager of pid-</code><code>file</code> <code>quit without updating </code><code>fi</code><code>[FAILED]</code>

<code>vim </code><code>/etc/init</code><code>.d</code><code>/mysqld</code>               <code>#编辑启动配置文件,指定数据目录</code>

三、PHP编译安装

<code>cd</code> <code>/usr/local/src/</code> 

<code>wget http:</code><code>//mirrors</code><code>.sohu.com</code><code>/php/php-5</code><code>.5.31.</code><code>tar</code><code>.gz</code>

<code>tar</code> <code>xf php-5.5.31.</code><code>tar</code><code>.gz </code>

<code>yum </code><code>install</code>  <code>zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gb-devel gb-devel curl-devel  libxslt-devel openssl-devel  </code><code>bzip2</code> <code>bzip2</code><code>-devel  libmcrypt-devel.x86_64 -y    </code><code>#安装依赖包</code>

<code>cd</code> <code>php-5.5.31</code>

<code> </code><code>.</code><code>/configure</code> <code>--prefix=</code><code>/usr/local/php</code> <code>--with-apxs2=</code><code>/usr/local/apache2/bin/apxs</code> <code>--with-config-</code><code>file</code><code>-path=</code><code>/usr/local/php/etc</code>  <code>--with-mysql=</code><code>/usr/local/mysql</code> <code>--with-libxml-</code><code>dir</code> <code>--with-gd --with-jpeg-</code><code>dir</code> <code>--with-png-</code><code>dir</code> <code>--with-freetype-</code><code>dir</code> <code>--with-iconv-</code><code>dir</code> <code>--with-zlib-</code><code>dir</code> <code>--with-bz2 --with-openssl --with-mcrypt --</code><code>enable</code><code>-soap --</code><code>enable</code><code>-gd-native-ttf --</code><code>enable</code><code>-mbstring --</code><code>enable</code><code>-sockets --</code><code>enable</code><code>-exif --disable-ipv6       </code><code>#编译参数</code>

<code>make</code> <code>install</code> 

3.2PHP的配置

<code>cp</code> <code>/usr/local/src/php-5</code><code>.5.31</code><code>/php</code><code>.ini-production </code><code>/usr/local/php/etc/php</code>   <code>#复制配置文件</code>

<code>apachectl graceful  重新加载PHP配置文件</code>

四、测试PHP解析

<code>vim </code><code>/usr/local/apache2/conf/httpd</code><code>.conf</code>

<code>#找到</code>

<code>#AddType application/x-gzip .tgz</code>

<code>#添加一行:</code>

<code>AddType application</code><code>/x-httpd-php</code> <code>.php</code>

<code>#添加index.php</code>

<code>DirectoryIndex index.html index.php</code>

<code>/usr/local/apache2/bin/apachectl</code> <code>-t    </code><code>#检测语法</code>

<code>Syntax OK</code>

<code>cd</code> <code>/usr/local/apache2//htdocs</code>     <code>#编写一个php文件</code>

<code> </code><code>vim info.php</code>

<code>&lt;?php</code>

<code>phpinfo();</code>

<code>?&gt;</code>

<code>/usr/local/php/bin/php</code> <code>-i | </code><code>less</code>         <code>#测试,同时也记录PHP编译参数</code>

<code>phpinfo()</code>

<code>PHP Version =&gt; 5.5.31</code>

<code>System =&gt; Linux lab-1-c6.7-x32 2.6.32-573.el6.i686 </code><code>#1 SMP Thu Jul 23 12:37:35 UTC 2015 i686</code>

<code>Build Date =&gt; Jan 19 2016 10:09:40</code>

<code>Configure Command =&gt;  </code>

<code>'./configure'</code>

<code>  </code> 

<code>'--prefix=/usr/local/php'</code>

<code>'--with-apxs2=/usr/local/apache2/bin/apxs'</code>

<code>'--with-config-file-path=/usr/local/php/etc'</code>

<code>'--with-mysql=/usr/local/mysql'</code>

<code>'--with-libxml-dir'</code>

<code>'--with-gd'</code>

<code>'--with-jpeg-dir'</code>

<code>'--with-png-dir'</code>

<code>'--with-freetype-dir'</code>

<code>'--with-iconv-dir'</code>

<code>'--with-zlib-dir'</code>

<code>'--with-bz2'</code>

<code>'--with-openssl'</code>

<code>'--with-mcrypt'</code>

本文转自 goldfishe 51CTO博客,原文链接:http://blog.51cto.com/jack88/1887542