LAMP源码环境搭建WEB服务器Linux+Apache+MySQL+PHP
Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度共同组成了一个强大的web应用程序平台。而从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。
下面来看一下LAMP环境搭建的步骤。
准备工具:
apr-1.4.6.tar.gz apr-util-1.5.1.tar.gz
httpd-2.4.4.tar.bz2
mysql-5.6.10.tar.gz cmake-2.8.10.2.tar.gz
php-5.4.3.tar.gz
一.准备环境:
我用的是Red Hat Enterprise Linux 5.4 eth0 192.168.126.129
[root@lly ~]# mount /dev/cdrom /mnt/cdrom挂载光盘
用yum检测开发环境
[root@lly ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo编辑yum客户端
[root@lly ~]# yum grouplist检查开发环境
说明:这里需要有这几个开发环境,我这里,环境已经具备了,要是没有这几个开发环境, 可以用yum groupinstall “开发环境名”即可,
注意:yum安装软件包组时,多个单词的一定要加””
二.安装
按照httpd mysql php 的顺序依次安装
1.安装apache
其实关于apache的安装,本人前边的博客已有介绍
[root@lly ~]# tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/
[root@lly ~]# tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/
[root@lly src]# cd /usr/local/src/apr-1.4.6/
[root@lly apr-1.4.6]# ./configure --prefix=/usr/local/apr把apr安装到/usr/local/apr目录下
[root@lly apr-1.4.6]#make
[root@lly apr-1.4.6]#make install
[root@lly apr-1.4.6]# cd ..
[root@lly src]# cd apr-util-1.5.1/
[root@lly apr-util-1.5.1]# ./configure --with-apr=/usr/local/apr/bin/apr-1-config
[root@lly apr-util-1.5.1]# make
[root@lly apr-util-1.5.1]# cd
[root@lly ~]# tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src/
[root@lly ~]# cd /usr/local/src/httpd-2.4.4/
[root@lly httpd-2.4.4]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-pcre -with-z --enable-mpms-shared=all
[root@lly httpd-2.4.4]# make
[root@lly httpd-2.4.4]# make install
[root@lly httpd-2.4.4]#/usr/local/apache/man
[root@lly man]# vim /etc/man.config
把apache的man手册添加到man路径方便查看apache的man手册
为了防止系统调用apache的头文件include时找不到路径,可以做一个连接
[root@lly apache]# ln -s /usr/local/apache/include/ /usr/include/apache
为了更好的管理httpd,为其编辑一个启动脚本
[root@lly ~]# cd /etc/init.d/
[root@lly init.d]# vim httpd
脚本如下
#!/bin/sh
#set -x
HTTPD='/usr/local/apache/bin/httpd'
CONFFILE='/etc/httpd/httpd.conf'
#description: http server
#chkconfig: 2345 88 60
start(){
[ -f /var/lock/subsys/httpd ]&& echo "apache is started" && exit
echo -n "starting apache......"
sleep 1
}
stop(){
[ ! -f /var/lock/subsys/httpd ] && echo "httpd is stoped..." && exit
echo -n "stoping httpd........"
sleep 1
/bin/rm -rf /var/lock/subsys/httpd
$HTTPD -k stop && RETVAL=0 ||RETVAL=1
}
case $1 in
stop(){
[ ! -f /var/lock/subsys/httpd ] && echo "httpd is stoped..." && exit
echo -n "stoping httpd........"
sleep 1
/bin/rm -rf /var/lock/subsys/httpd
$HTTPD -k stop && RETVAL=0 ||RETVAL=1
[ $RETVAL -eq 0 ] && rm -rf /var/lock/subsys/httpd && echo "ok" || echo "fail"
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "start|stop|restart"
;;
esac
[root@lly init.d]# chmod a+x /etc/init.d/httpd
[root@lly init.d]# service httpd start
[root@lly init.d]# netstat -tupln |grep http
tcp 0 0 :::80 :::*
[root@lly init.d]# chkconfig --add httpd添加自启动
[root@lly init.d]# chkconfig --list |grep http
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
2.安装mysql cmake
[root@lly ~]# tar zxvf mysql-5.6.10.tar.gz -C /usr/local/src/
[root@lly ~]# cd /usr/local/src/mysql-5.6.10/
[root@lly mysql-5.6.10]# less INSTALL-SOURCE
mysql的使用说明
安装mysql的时候需要用到cmake工具
安装cmake
[root@lly ~]# tar -zxvf cmake-2.8.10.2.tar.gz -C /usr/local/src/
[root@lly ~]# cd /usr/local/src/cmake-2.8.10.2/
[root@lly cmake-2.8.10.2]# ./configure --prefix=/usr/local/cmake
[root@lly cmake-2.8.10.2]# make && make install
Waiting.......................
[root@lly cmake-2.8.10.2]# cd /usr/local/cmake/
为了日后能快速访问cmake下的bin,把cmke下的bin添加路径
[root@lly cmake]# vim /etc/profile
注意:只有下次进入之后路径才会添加成功
[root@lly ~]# cd /usr/local/src/mysql-5.6.10/
86:36
[root@lly mysql-5.6.10]# cmake .
[root@lly mysql-5.6.10]# make && make install
Please waiting for a long time。。。。。。。。。。。。。。。。。。。。。。。。。。
[root@lly ~]# cd /usr/local/src/mysql-5.6.10/
[root@lly mysql-5.6.10]# less INSTALL-SOURCE
Mysql安装说明中的配置的步骤
[root@lly mysql-5.6.10]# cd /usr/local/mysql/
创建帐号信息
[root@lly mysql]# groupadd mysql
[root@lly mysql]# useradd -r -g mysql mysql
[root@lly mysql]# chown -R mysql .
进行初始化
[root@lly mysql]# scripts/mysql_install_db --user=mysql
[root@lly mysql]# chown -R root .
[root@lly mysql]# chown -R mysql data
[root@lly mysql]# cd support-files/
[root@lly support-files]# cp my-default.cnf /etc/my.cnf
[root@lly support-files]# cp mysql.server /etc/init.d/mysqld
[root@lly support-files]# chmod a+x /etc/init.d/mysqld
[root@lly support-files]# service mysqld start
Starting MySQL..... [ OK ]
mysqld 服务成功启动
[root@lly support-files]# netstat -tupln |grep mysqld
tcp 0 0 :::3306 :::*
[root@lly support-files]# cd ..
[root@lly mysql]# pwd
/usr/local/mysql
[root@lly mysql]# vim /etc/profile
重新登录一次
[root@lly ~]# mysql
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
[root@lly ~]# mysqladmin -u root -p password '123'设置一个管理员帐号密码123
[root@lly ~]# mysql -u root -p以后就可以以此帐号登陆了
mysql生成的/usr/local/mysql/lib库文件不是标准路径系统无法识别(/lib 或者/usr/lib为标准路径)所以需做如下配置
[root@lly mysql]# vim /etc/ld.so.conf.d/mysql.conf
写入
/usr/local/mysql/lib
刷新ld.so.cache
[root@lly mysql]# ll /etc/ld.so.cache
-rw-r--r-- 1 root root 81871 Apr 13 08:17 /etc/ld.so.cache
[root@lly mysql]# ldconfig
[root@lly mysql]# ll /etc/ld.so.cache
-rw-r--r-- 1 root root 82128 Apr 13 15:46 /etc/ld.so.cache
对mysql的头文件include做一个连接
[root@lly mysql]# ln -s /usr/local/mysql/include/ /usr/include/mysql
3.安装php
[root@lly ~]# tar -zxvf php-5.4.3.tar.gz -C /usr/local/src/
[root@lly ~]# cd /usr/local/src/php-5.4.3/
[root@lly php-5.4.3]# ./configure --prefix=/usr/local/php --sysconfdir=/etc --with-apxs2=/usr/local/apache/bin/apxs --with-zlib --with-gd --with-jpeg-dir --with-png-dir --enable-mbstring --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-xml --with-freetype-dir
[root@lly php-5.4.3]# make && make install
[root@lly php-5.4.3]# cd /usr/local/php/
[root@lly php]# vim /etc/profile
[root@lly php]# vim /etc/ld.so.conf.d/php.conf
写入
/usr/local/mysql/lib
[root@lly php]# ldconfig
[root@lly php]# ln -s include /usr/include/php
[root@lly php]# vim /etc/httpd/httpd.conf
在apache的配置文件中会自动添加modules/libphp5.so模块
[root@lly ~]# service httpd restart重启apache
注意:若出现如下错误,可能是是Linux有一个SELinux保护模式引起的
starting apache......httpd: Syntax error on line 147 of /etc/httpd/httpd.conf: Cannot load modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
Fail
可以进行如下操作
1关闭SELINUX的方法:
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled
需要重启
这个方法可能会对服务器带来风险。
2不关闭SELINUX的方法:
# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
# service httpd restart
# setenforce 1
[root@lly ~]# cd /usr/local/apache/htdocs apache的默认站点目录
三.测试
1.测试apache
浏览器输入http://192.168.126.129
2.测试php
[root@lly htdocs]# mv index.html index.php 把apache的测试页改为php
[root@lly htdocs]# vim index.php
刷新浏览器出现如下界面
至此,apache和php完美结合了。。。
3.测试php和mysql的结合是否成功
[root@lly htdocs]# vim index.php
刷新浏览器
[root@lly htdocs]# service mysqld stop关闭mysqld服务时也显示正常