发布时间:2014-09-05 16:54:10作者:知识屋
使用源码搭建LAMP
利用源码搭建LAMP主要有以下三个步骤:
1. ./configure(脚本)--prefix(指明安装路径)--sysconfir(安装完后配置脚本配置路径)
2. Make (编译成二进制文件或模块)
3. make install
这些服务的源代码我们可以试着在它的官网上下载
Apache (官网)www.apache.org
Mysql (官网) www.mysql.com
Php (官网) www.php.net
安装这些包前,我们还需要提前配置好一些编译环境 gcc glib
我们可以是使用yum grouplist 查看包组
主要需要安装的包组有:
Development Libraries 开发库
Legacy Software Development 传统软件的开发工具
Development Tools 开发工具
基于图形的开发工具:
KDE Software Development kde的软件开发工具
X Software Development gename 的软件开发工具
Java Development 依赖于java的开发工具
这些开发工具包组,我们将没有安装的一个个安装:
yum groupinstall "KDE Software Development" 使用这种方法一个个安装
将下载过得源代码导入到linux系统中:
[root@localhost ~]# ll /home/
total 174720
-rw-r--r-- 1 root root 5322082 Aug 5 19:55 httpd-2.2.19.tar.bz2
-rw-r--r-- 1 root root 162247449 Aug 5 19:56 mysql-5.5.15-linux2.6-i686.tar.gz
-rw-r--r-- 1 root root 11144328 Aug 5 19:55 php-5.3.7.tar.bz2
(1)首先我们来安装mysql
在安装包之前我们首先查看http php mysql是否安装 rpm -qa |grep -E “http |php|mysql”若安装过了,则需要卸载 yum remove httpd 且删除/etc下的httpd目录及所有内容
然后对其分别进行拆解:
额外软件需要安装在/usr/local/
[root@localhost ~]# cd /home/
[root@localhost home]# ll
total 174720
-rw-r--r-- 1 root root 5322082 Aug 5 19:55 httpd-2.2.19.tar.bz2
-rw-r--r-- 1 root root 162247449 Aug 5 19:56 mysql-5.5.15-linux2.6-i686.tar.gz
-rw-r--r-- 1 root root 11144328 Aug 5 19:55 php-5.3.7.tar.bz2
[root@localhost home]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/
进入mysql的安装目录并未mysql目录做一个简单的软链接
[root@localhost home]# cd /usr/local/
[root@localhost local]# ln -s mysql-5.5.15-linux2.6-i686 mysql
[root@localhost local]# ll
total 76
drwxr-xr-x 2 root root 4096 Oct 1 2009 bin
drwxr-xr-x 2 root root 4096 Oct 1 2009 etc
drwxr-xr-x 2 root root 4096 Oct 1 2009 games
drwxr-xr-x 2 root root 4096 Oct 1 2009 include
drwxr-xr-x 2 root root 4096 Oct 1 2009 lib
drwxr-xr-x 2 root root 4096 Oct 1 2009 libexec
lrwxrwxrwx 1 root root 26 Aug 6 01:15 mysql -> mysql-5.5.15-linux2.6-i686
drwxr-xr-x 13 root root 4096 Aug 5 22:58 mysql-5.5.15-linux2.6-i686
drwxr-xr-x 2 root root 4096 Oct 1 2009 sbin
drwxr-xr-x 4 root root 4096 Aug 5 02:09 share
drwxr-xr-x 2 root root 4096 Oct 1 2009 src
[root@localhost local]# cd mysql 进入mysql目录
[root@localhost mysql]# ll
drwxr-xr-x 2 root root 4096 Aug 5 22:58 bin
-rw-r--r-- 1 7161 wheel 17987 Jul 14 03:09 COPYING
drwxr-xr-x 4 root root 4096 Aug 5 22:58 data
drwxr-xr-x 2 root root 4096 Aug 5 22:58 docs
drwxr-xr-x 3 root root 4096 Aug 5 22:58 include
-rw-r--r-- 1 7161 wheel 7604 Jul 14 03:09 INSTALL-BINARY
drwxr-xr-x 3 root root 4096 Aug 5 22:58 lib
drwxr-xr-x 4 root root 4096 Aug 5 22:57 man
drwxr-xr-x 10 root root 4096 Aug 5 22:58 mysql-test
-rw-r--r-- 1 7161 wheel 2552 Jul 14 03:09 README
drwxr-xr-x 2 root root 4096 Aug 5 22:58 scripts
drwxr-xr-x 27 root root 4096 Aug 5 22:58 share
drwxr-xr-x 4 root root 4096 Aug 5 22:58 sql-bench
drwxr-xr-x 2 root root 4096 Aug 5 22:58 support-files
[root@localhost mysql]# less INSTALL-BINARY 查看配置帮助文件,其中说明了配置步骤
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
我们可以按照步骤进行配置
[root@localhost ~]# groupadd -r mysql 创建mysql组(-r表示创建系统组)
[root@localhost ~]# useradd -r -g mysql -s /sbin/nologin -M mysql
(创建一个属于mysql组系统帐号 不允许登录 -m表示没有家目录)
[root@localhost ~]# cd /usr/local/mysql
[root@localhost mysql]# chown -R mysql:mysql . (将目录内的所有者跟所属组都该为mysql)
[root@localhost mysql]# scripts/mysql_install_db --user=mysql执行脚本目录下的脚本生成初始库
[root@localhost mysql]# chown -R root . 将当前目录下的文件所有者改回root
[root@localhost mysql]# chown -R mysql data 将data的所有者改为mysql
[root@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf
在/etc/下生成mysql的配置文件
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
在/etc下生成mysql的控制脚本
将mysql的头文件与库文件导出,便于系统的查找
系统的库文件主要存在三个位置:/lib /usr/lib /usr/local/lib
/etc/ld.so.conf.d定义非标准软件包安装库文件链接
[root@localhost mysql]# vim /etc/ld.so.conf.d/mysql.conf
[root@localhost mysql]# ldconfig -v |grep mysql 再加载 mysql库
/usr/local/mysql/lib:
libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0 加载成功
[root@localhost mysql]#
系统的头文件的默认存放位置 /usr/include /usr/local/include但是mysql的头文件不在里面
[root@localhost mysql]# cd /usr/include/
[root@localhost include]# ln -s /usr/local/mysql/include mysql 为mysq创建头文件的链接
[root@localhost include]# chkconfig --add mysqld 添加mysql的开机启动设置项
[root@localhost include]# chkconfig --list |grep mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
到此mysql就做好了
(2)接着我们来安装apache (纯粹的源代码)
[root@localhost home]# tar -jxvf httpd-2.2.19.tar.bz2 -C /usr/src 将http包拆解到/usr/src
[root@localhost httpd-2.2.19]# ./configure --help |less 查看脚本的配置做参考
--prefix=安装路径
--sysconfdir=配置脚本存放位置
--enable-so 开启dso(动态共享对象)
--with-z 使用zlib
--enable-ssl 加密
[root@localhost httpd-2.2.19]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --with-z --enable-ssl
编译,执行make命令 时间可能久些
接着再执行make install 会形成许多目录
主配置文件在/etc/httpd/ httpd.conf 配置与以前我们做的有部分是不一样的
创建虚拟主机的文件在/etc/httpd/extra/httpd-vhosts.conf
查看http的配置及启动的说明文件
[root@localhost apache]# cd /usr/src/httpd-2.2.19/ 切换到http的主要文件目录
[root@localhost httpd-2.2.19]# less INSTALL
$ ./configure --prefix=PREFIX
$ make
$ make install
$ PREFIX/bin/apachectl start apache启动方法
启动apache
[root@localhost httpd-2.2.19]# cd /usr/local/apache/ 切换到aopche的主目录
[root@localhost apache]# ./bin/apachectl start 启动apache
[root@localhost apache]# netstat -tupln |grep http 查看apache的端口
tcp 0 0 :::80 :::* LISTEN 19115/httpd
[root@localhost apache]# ./bin/apachectl stop 关闭apache
[root@localhost apache]# netstat -tupln |grep http
[root@localhost apache]# ./bin/apachectl start
利用源码做成的apache 无法使用service httpd start 启动
做apache的开机自动启动,在开机脚本里面做:
[root@localhost httpd-2.2.19]# vim /etc/rc.local
/usr/local/apache/bin/apachectl start 添加该项为开机自动启动
为了方便我们修改环境变量文件,在启动时不用输那么长的目录
[root@localhost ~]# vim /etc/profile 添加环境变量
加入PATH=$PATH:/usr/local/apache/bin
[root@localhost ~]# . /etc/profile 执行环境变量脚本文件
[root@localhost ~]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache/bin 查看是否添加成功
[root@localhost ~]# apachectl stop 停下apache
[root@localhost ~]# apachectl start 启动apache
[root@localhost ~]# cd /usr/include/
[root@localhost include]# ln -s /usr/local/apache/include/ apache
做头文件到系统默认头文件的链接,便于其他软件的调用
[root@localhost include]# cd /etc/ld.so.conf.d/
[root@localhost ld.so.conf.d]# vim apache.conf
/usr/local/apache/lib 指定apache库文件的路径
[root@localhost ld.so.conf.d]# ldconfig -v |grep apache 搜索apache的库文件
/usr/local/apache/lib:
客户端访问:
至此apache便做好了
(3)下面我们来做php的源码安装
我们下载的php源码包为php-5.3.7.tar.bz2
选择路径解压:放到/usr/src/目录中
[root@localhost home]# tar -jxvf php-5.3.7.tar.bz2 -C /usr/src/
[root@localhost home]# cd /usr/src/php-5.3.7/ 切换到php的解压后目录下
[root@localhost php-5.3.7]# ./configure --help less 查看配置脚本的参数及选项
--prefix=安装路径
--with-apxs2=指明apache调用php模块的工具的路径和名称
--enable-mbstring 字符串支持
--with-mysql=指明mysql的路径
--with-mysqli=指明mysql_config的路径名称
[root@localhost php-5.3.7]#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config
在检测域编译环境中没出错后,就执行make进行编译
[root@localhost php-5.3.7]# make
然后便执行make install 进行安装
[root@localhost php-5.3.7]# make install
测试php能否工作
在/etc/httpd/httpd.conf 文件中可以找到定义的网站主目录,然后对其进行编译
[root@localhost ~]# cd /usr/local/apache/htdocs/ 进入网站目录
[root@localhost htdocs]# vim index.html 编译该文件
<html><body><h1>It works!</h1></body></html>
<?php
phpinfo(); 调用php
?>
[root@localhost htdocs]# mv index.html index.php 将站点文件改名
[root@localhost htdocs]# vim /etc/httpd/httpd.conf 编译apache的主配置文件
<IfModule dir_module>
DirectoryIndex index.html index.php 添加索引
</IfModule>
AddType application/x-httpd-php .php 为系统添加可以处理php脚本项
然后重启apache服务
[root@localhost htdocs]# apachectl restart
接着再客户端进行验证:
然后我们在尝试使用php测试连接mysql
[root@localhost ~]# cd /usr/local/apache/htdocs/ 进入网站目录
[root@localhost htdocs]# vim index.php 编译主页
<html><body><h1>It works!</h1></body></html>
<?php
$link=mysql_connect('127.0.0.1','root','');
if ($link)
echo "connect success!!!";
else
echo "connect failed!!! "
?>
使用客户端测试:
当关闭数据库时再用客户端测试:
[root@localhost htdocs]# service mysqld stop
此时php便安装成功了
Lamp的源码的搭建也坐完了,我们接着就可以做应用了
作者“missingluo”
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能