纯源码编译安装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,开源社区,有你更精彩!