实验需要的源码包:
—httpd-2.4.25.tar.gz
—cmake-2.8.6.tar.gz
—mysql-5.6.36.tar.gz
—libmcrypt-2.5.8.tar.gz
—mhash-0.9.9.9.tar.gz
—mcrypt-2.6.8.tar.gz
—php-5.5.38.tar.gz
—zend-loader-php5.5-linux- x86_64_update1.tar.gz
[获得Apache服务器的源码包]
参考位置:http://httpd.apache.org/download.cgi
安装httpd服务器—编译安装
1.准备工作
***卸载httpd及相关依赖包
[root@www~]#rpm -e httpd --nodeps
(忽略软件包依赖性)
[root@www~]#yum -y install apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre
2.源码编译及安装
解包
[root@www~]#tar zxf httpd-2.4.25.tar.gz -C /usr/src
[root@www~]#cd /usrsrc/httpd-2.4.25/
配置
[root@www~]#./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
–prefix:指定将httpd服务程序安装到哪个目录,如/usr/local/httpd。
–enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力。
–enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
–enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。
–enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。
编译及安装
[root@www httpd-2.4.25]#make
[root@www httpd-2.4.25]#make install
3.确认安装结果
[root@www~]#ls /usr/loc al/httpd/
bin cgi-bin error icons lib man modules
build conf htdocs include logs manual
4.优化执行路径
[root@www ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[root@www ~]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl
[root@www ~]# httpd -v
5.添加httpd系统服务
***便于通过chkconfig进行管理
[root@www ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@www ~]# vi /etc/init.d/httpd
编辑:
#!/bin/bash
#chkconfig: 35 85 15
#description: Startup script for the Apache HTTP Server
[root@www ~]# httpd -t
[root@www ~]# chkconfig --add httpd
[root@www ~]# chkconfig --list httpd
[root@www ~]# systemctl enable httpd
[root@www ~]# systemctl is-enabled httpd
[root@www ~]# systemctl start httpd
[root@www ~]# netstat -anput |grep httpd
***httpd服务的主要目录和文件:
*服务目录:/usr/local/httpd/
*主配置文件:/usr/local/httpd/conf/httpd.conf
*网页目录:/usr/local/httpd/htdocs/
*服务脚本:/usr/local/httpd/bin/apachectl
*执行程序:/usr/local/httpd/bin/httpd
*访问日志: /usr/local/httpd/log/access_log
*错误日志: /usr/local/httpd/log/error_log
5.验证:客户机使用浏览器访问
MySQL源码包安装
[root@localhost ~]# yum -y install ncurses-devel
#解压cmake,安装基础环境
[root@localhost ~]# tar zxvf /root/cmake-2.8.6.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/cmake-2.8.6
#配置,编译安装cmake
[root@localhost ~]# ./configure && gmake && gmake install
##解压mysql
[root@localhost ~]# tar zxvf /root/mysql-5.6.36.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/mysql-5.6.36/
[root@localhost ~]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc/
[root@localhost ~]# make &&make install #编译安装
#1.复制配置文件
[root@localhost ~]# cp /usr/src/mysql-5.6.36/support-files/my-default.cnf /etc/my.cnf
#2.添加系统服务
[root@localhost ~]# cp /usr/src/mysql-5.6.36/support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost ~]# chmod +x /etc/rc.d/init.d/mysqld
[root@localhost ~]# chkconfig --add mysqld
[root@localhost ~]# chkconfig mysqld on
#3.优化PATH路径,执行命令时方便,单引号双引号都行
[root@localhost ~]# echo “export PATH=$PATH:/usr/local/mysql/bin” >>/etc/profile
[root@localhost ~]# source /etc/profile ##执行文件
#4.初始化mysql,创建用户,赋权
[root@localhost ~]# useradd -M -s /sbin/nologin mysql
[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql
[root@localhost ~]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
[root@localhost ~]# /etc/init.d/mysqld start
[root@localhost ~]# chkconfig mysqld on
验证:数据库mysql的默认端口3306
[root@localhost ~]# netstat -anput | grep mysqld
6.修改密码,并提示密码
[root@localhost ~]# mysqladmin -u root password ‘123’
[root@localhost ~]# mysql -u root -p123
mysql> show databases;
mysql> quit
3.安装PHP软件包
1.准备工作
确认没有使用RPM方式安装php及相关依赖包(避免程序冲突)
[root@www ~]# rpm -qa |grep php*
[root@www ~]# yum install -y libxml2 libxml2-devel zlib-devel
2.安装扩展工具库
实际环境中,需要安装数据加密工具libmcrypt、mhash、mcrypt
[root@www ~]# tar zxf libmcrypt-2.5.8.tar.gz
[root@www ~]# cd libmcrypt-2.5.8/
[root@www ~]# ./configure && make && make install
[root@www ~]# cd
[root@www ~]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/
[root@www ~]# tar zxf mhash-0.9.9.9.tar.gz
[root@www ~]# cd mhash-0.9.9.9/
[root@www ~]# ./configure
[root@www ~]# make && make install
[root@www ~]# ln -s /usr/local/lib/libmhash.* /usr/lib/
[root@www ~]# cd
[root@www ~]# tar zxf mcrypt-2.6.8.tar.gz
解决configure报错问题
[root@www ~]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
[root@www ~]# cd mcrypt-2.6.8/
[root@www ~]# ./configure
[root@www ~]# make && make install
[root@www ~]# cd
3.编译安装PHP
[root@www ~]# tar zxf php-5.5.38.tar.gz -C /usr/src/
[root@www ~]# cd /usr/src/php-5.5.38/
[root@www ~]# ./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php5 --enable-mbstring
[root@www ~]# make && make install
4.设置LAMP环境
PHP的配置文件php.ini(确定PHP的运行参数)
Apache配置文件httpd.conf(加载libphp5.so模块,以便支持PHP网页)
1.php.ini配置调整
[root@www ~]# ls
[root@www ~]# cp php.ini-development /usr/local/php5/php.ini
[root@www ~]# cd
[root@www ~]# vim /usr/local/php5/php.ini
编辑内容:
189
engine = On
206
asp_tags = Off
680
default_charset = "utf-8” 【默认字符集】
783
file_uploads = On 【PHP网页上传文件】
792
upload_max_filesize = 2M 【上传文件大小】
795
max_file_uploads = 20 【上传文件数量】
660
post_max_size = 8M 【通过表单提交的数量】
202
short_open_tag = On 【允许识别PHP短语法标记】【小写不能认读,】
873
extension=php_mysqli.dll 添加mysql支持
***【注意大小写】
2.添加优化模块(优化页面加载速度)
[root@www ~]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src
[root@www ~]# cd /usr/src/zend-loader-php5.5-linux-x86_64/
[root@www ~]# cp ZendGuardLoader.so /usr/local/php5/lib/php/
[root@www ~]# cd
[root@www ~]# vim /usr/local/php5/php.ini
在文本最后添加编辑:
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1
2.httpd.conf配置调整
*使httpd服务器支持PHP页面解析功能
[root@www ~]# vim /usr/local/httpd/conf/httpd.conf
加载PHP程序模块 159行
LoadModule php5_module modules/libphp5.so
【这一行必须已经存在,否则需要重新安装PHP】
258 < IfModule dir_module >
259 DirectoryIndex index.html index.php
260 < /IfModule >
支持.php网页文件【这一行手动添加】
261
AddType application/x-httpd-php .php
485
#Include conf/extra/httpd-vhosts.conf
重启httpd服务
[root@www ~]# systemctl restart httpd
查看端口80
[root@www ~]# netstat -anput | grep httpd
5.测试LAMP协同工作
1.测试PHP网页能否正确显示
建立php测试页面
[root@www ~]# cd /usr/local/httpd/htdocs/
[root@www ~]# ls
[root@www ~]# vim test1.php
编辑内容:
验证:http://192.168.10.1/test1.php
2.测试PHP网页能否访问MySQL数据库
【MySQL已经能够在本机登录】
[root@www ~]# vim test2.php
编辑内容:
验证:http://192.168.10.1/test2.php
如果访问不正常,尝试重启httpd服务。
[root@www ~]# systemctl restart httpd