纯源码编译安装LAMP,linux,httpd,php,mysql源码编译安装


教程目标:使用源码编译安装的LAMP,运行php网页基础代码

日    期:2015年08月19日

联系邮箱:linux_lcl@163.com

Q Q  群:1851 15701

51CTO博客首页:
http://990487026.blog.51cto.com

做一个对读者负责的博主。
安装一个和我一样的纯净系统,我可以安装成功,你也可以安装成功。
我行,你也行!
================================================================
安装准备:

安装环境:
1,全新安装,CentOS 6.6 X64 ,最小化安装
2,设定本机IP : 10.11.12.13
3,使用默认yum源解决编译环境的安装

所需软件如下:
[root@pc0003 lamp]# ll -h
总用量 52M
-rwxrwxrwx. 1 root root 997K 6月   7 18:02 apr-1.5.1.tar.gz
-rwxrwxrwx. 1 root root 678K 6月   7 18:01 apr-util-1.5.2.tar.bz2
-rwxrwxrwx. 1 root root 4.6M 5月   6 14:01 httpd-2.4.4.tar.bz2
-rw-r--r--. 1 root root  32M 8月   3 13:29 mysql-5.6.17.tar.gz
-rw-r--r--. 1 root root  14M 8月   3 10:00 php-5.6.11.tar.bz2

所需文件大家可以在以下网站直接搜索得到
http://www.wangpansou.cn/ 推荐
https://github.com/
http://sourceforge.net
http://search.cpan.org/
http://www.filewatcher.com/



我已打包:

-rw-r--r--. 1 root root  50M 8月  20 16:09 lamp.tar.gz
链接:
http://pan.baidu.com/s/1pJKK4w7 密码:a0re


=================================================================
开始准备安装:

tar xf httpd-2.4.4.tar.bz2 -C /usr/src/
tar xf apr-1.5.1.tar.gz -C /usr/src/
tar xf apr-util-1.5.2.tar.bz2 -C /usr/src/
tar xf mysql-5.6.17.tar.gz -C /usr/src/
tar xf php-5.6.11.tar.bz2 -C /usr/src/

//因为采用最小化安装的CentOS 6.6 X64,要先安装编译工具及其依赖包

yum install -y gcc gcc-c++ autoconf automake openssl openssl-devel ncurses-devel libxml2-devel bison  make cmake pcre pcre-devel zlib-devel libtool-ldtd-devel libtool flex vim

==================================================================
// 首先安装httpd及其依赖包

cd /usr/src/apr-1.5.1/
 ./configure
make
make install

cd /usr/src/apr-util-1.5.2/
 ./configure --with-apr=/usr/local/apr/
make
make install

//安装httpd的时候,需要什么模块,就添加什么模块
cd /usr/src/httpd-2.4.4/
 ./configure --prefix=/usr/local/apache2 --enable-so --enable-ssl --enable-rewrite --with-mpm=worker --with-suexec-bin --with-apr=/usr/local/apr/
make
make install


启动httpd服务:
/usr/local/apache2/bin/apachectl start


添加防火墙规则并保存
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
service iptables save

查看80端口是否已开启
netstat -tnlp



==================================================================

//源码编译安装Mysql,3.4G主频服务器,编译时长约17 -- 20分钟左右

cd /usr/src/mysql-5.6.17/

groupadd mysql
useradd -r -s /sbin/nologin -g mysql mysql

cmake . -DENABLE_DOWNLOADS=1
make && make install

//赋予权限
chown -R mysql.mysql /usr/local/mysql/

//使用mysql_install_db初始化mysql数据库,使用user定义数据库账户名陈,basedir指定数据库存放目录
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

//复制一份配置文件到/etc/目录内
cp /usr/local/mysql/my.cnf /etc/my.cnf

// 把启动与关闭的脚本放到init.d目录下
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld
chkconfig mysqld on


// 赋予权限
chown -R mysql:mysql /usr/local/mysql/


// 修改mysql的配置文件,指向设定的目录
vim /etc/my.cnf
[mysqld]
#datadir=/var/lib/mysql
datadir=/usr/local/mysql/data
#socket=/var/lib/mysql/mysql.sock
socket=/usr/local/mysql/mysql.sock

user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
#log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid
log-error=/usr/local/mysql/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid



echo "/usr/local/mysql/lib/" >> /etc/ld.so.conf

cd /usr/src/mysql-5.6.17/
ldconfig


启动mysql
service mysqld start

netstat -tnlp
查看3306端口是否被监听

mysql安装完毕

********如果要修改默认密码**************************************************
比如:把root的密码修改为 123456
mysql -u root进入mysql

修改mysql账户密码
use mysql;
UPDATE user SET password=PASSWORD('123456') WHERE user='root';
FLUSH PRIVILEGES;
===================================================

编译安装php

cd /usr/src/php-5.6.11/

// 需要什么模块,就指定什么模块
 ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --enable-sockets

make
make install

// 复制一份php.ini 配置文件
cp php.ini-development /usr/local/php5/lib/php.ini




修改httpd配置文件
 vim /usr/local/apache2/conf/httpd.conf

在这个下面添加
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php  .php
    AddType application/x-httpd-php-source  .phps
去除注释ServerName www.example.com:80

定位至DirectoryIndex index.html  
   修改为:
    DirectoryIndex  index.php  index.html

 echo "<?php phpinfo();?>" >/usr/local/apache2/htdocs/index.php

[root@hghast001 ~]# cat /var/www/html/phpinfo.php
<?php
phpinfo();
?>



======================================================================================

浏览器访问: 10.11.12.13
出现php的信息,ok,安装到此成功。


有兴趣的同学,可以做一个一键自动安装脚本,完成自动化安装,提高运维效率。

谢谢大家浏览,如对本文存在疑问,请至邮箱linux_lcl@163.com,开源社区,有你更精彩!