在centos6中编译安装httpd-2.4/搭建LAMP
首先确保centos6安装平台安装一下环境:
#yum groupinstall "Development Tools" "Server Platform Development" -y
找到apr-1.5.0.tar.bz2进行解压
#tar xf apr-1.5.0.tar.bz2
#cd apr-1.5.0
#./configure --prefix=/usr/local/apr //为了避免编译安装把之前系统自带的给覆盖,这里改变了apr的安装目录
# make && make install
安装apr的组件apr-util
#tar xf apr-util-1.5.3.tar.bz2
#cd apr-util-1.5.3
#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr //--with这里是针对apr进行编译
#make && make install
#yum install pcre-devel
以上是安装httpd-2.4的前提
# groupadd -r apache //添加apache系统组
# useradd -r -g apache apahce //添加系统用户apache
#tar xf httpd-2.4.6.tar.bz2
# ./configure --prefix=/usr/local/apache --sysconf=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
--prefix=/usr/local/apache //指明安装路径,将来想卸载时,可以直接把目录删掉
--sysconf=/etc/httpd24 //配置文件,系统rpm包自动安装的在/etc/httpd/目录下,为了避免冲突
--enable-so //支持动态模块加载机制
--enable-rewrite //支持URL重写机制
--with-zlib //支持compress传输值,是一个压缩库
--with-pcre //pcre是perl扩展的正则表达式,一般利用URL重写时都会用到pcre,此处需要先安装pcre-devel #yum install prcre-devel -y
--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ // 此处指明http安装依赖到的apr和apr-util,这里要指明apr安装的路径
--enable-modules=most //支持大多数常用的模块
--enable-mpms-shared=all //把所有支持mpm机制共享模块都编译进来,
--with-mpm=prefork //默认使用prefork
# make && make install
#rpm -qc httpd
启动服务:
1、 /usr/local/apache/bin/apachectl
或者
2、#vim /etc/profile.d/httpd.sh
export PATH=/usr/local/apache/bin:$PATH
#source /etc/profile.d/httpd.sh //重读这个配置文件
#echo $PATH //可以看到/usr/local/apache/bin/apachectl在前面
#which apachectl
#apachectl start // 启动httpd
#ss -tnl //查看80端口是否开启
AH00557: httpd: apr_sockaddr_info_get() failed for bogon
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
开启apache时报上面的错误。这里需要把httpd.conf的#ServerName www.example.com:80前面的符号#去掉即
/etc/rc.d/init.d/functions脚本文件
为编译安装的httpd配置服务脚本 #cd /etc/rc.d/init.d/httpd文件 这个脚本好好读一读
#cd /etc/rc.d/init.d/
#cp httpd httpd24 //把系统自带的httpd服务脚本复制一份进行修改,当作编译安装的httpd24的服务脚本
#vim httpd24
apachectl=/usr/local/apache/bin/apachectl //httpd的编译安装路径
httpd=/usr/local/apache/bin/httpd //httpd的默认程序
prog=httpd
pidfile=${PIDFILE-/var/run/httpd/httpd24.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
#chkconfig --add httpd24 //将httpd加进到服务列表中去
#chkconfig --list httpd24
#chkconfig httpd24 on //设置在2345开机启动
#service httpd start
#ss -tnl // 查看是否有80端口

centos7的展示
鉴于上面的配置需要改动以下地方:
#vim /etc/httpd/conf.modules.d/00-mpm.conf
1 # Select the MPM module which should be used by uncommenting exactly
2 # one of the following LoadModule lines:
3
4 # prefork MPM: Implements a non-threaded, pre-forking web server
5 # See: http://httpd.apache.org/docs/2.4/mod/prefork.html
6 LoadModule mpm_prefork_module modules/mod_mpm_prefork.so //是prefork模式
7
8 # worker MPM: Multi-Processing Module implementing a hybrid
9 # multi-threaded multi-process web server
10 # See: http://httpd.apache.org/docs/2.4/mod/worker.html
11 #
12 #LoadModule mpm_worker_module modules/mod_mpm_worker.so
13
14 # event MPM: A variant of the worker MPM with the goal of consuming
15 # threads only for connections with active processing
16 # See: http://httpd.apache.org/docs/2.4/mod/event.html
17 #
18 #LoadModule mpm_event_module modules/mod_mpm_event.so
#vim /etc/httpd/conf/httpd.conf
156 <RequireAll>
157 Require not ip 192.168.108.163//这个要去掉
158 Require all granted
159 </RequireAll>
下面开始搭建LAMP服务器
1、首先安装php php-mysql(php链接MySQL的驱动) mariadb-server,
#yum install php php-mysql mariadb
#rpm -ql mariadb-server
/usr/lib/systemd/system/mariadb.service //这个文件可以启动文件
#systemctl start mariadb.service
#ss -tnl //查看3306端口是否启动
#mysql //使用MySQL客户端
#rpm -ql php //这里php作为apache的子模块
/etc/httpd/conf.d/php.conf
/etc/httpd/conf.modules.d/10-php.conf
/usr/lib64/httpd/modules/libphp5.so
/usr/share/httpd/icons/php.gif
/var/lib/php/session
php和apache结合有三种模式:
httpd+php:
modules //把php作为apache的子模块进行运行,无需子进程
cgi //很少用,但用python和Perl代替php时,就用CGI
fastcgi(也称为fpm方式)
#systemctl start httpd.service
#httpd -M // 查看是否安装了php模块
cgi_module (shared)
php5_module (shared)
#cd /www/htdocs //根据上面的配置修改
#mv index.html index.php
#vim index.php
<?php
phpinfo();
?>
在浏览器中输入IP地址192.168.。。。。就可以看到php 的测试页面了

下面测试php是否可以链接MySQL服务器?
#vim index.php 修改此文档
<?php
$link=mysql_connect('127.0.0.1','mysql',''); //$link创建链接,条用mysql_connect()的函数,这是php-mysql驱动提供的调用,指明地址,对应的用户名是mysql,密码为空
if ($link) //用if做判断
echo "success";
else
echo "fail";
mysql_close(); //调用结束接口,关闭连接
?>
再次刷新网页,显示:
success
#systemctl stop mariadb.service //关闭mysql服务器,刷新网页,显示:
fail
这是LAMP组合就安装完毕
在centos6中搭建LAMP服务
#apachectl stop //停掉之前编译安装的apache
#ss -tnl // 查看是否还有80端口
#chkconfig httpd --list
#service httpd start //开启系统自动安装的httpd
#yum install httpd php php-devel mysql-server -y
#service httpd restart //查看有没有 php5_module (shared)模块
#service mysqld start //开启mysql
#mysql // 用mysql客户端链接或者
#ss -tnl // 查看3306端口
#vim /var/www/html/index.php
<?php
$conn = mysqli_connect('127.0.0.1','root','');
if ($conn)
echo "yes";
else
echo "failure";
mysqli_close();
?>
在浏览器中输入ip就可以了
# 关闭SELINUX
chkconfig --level 12345 iptables off
chkconfig --level 12345 ip6tables off
service iptables stop
service ip6tables stop
查看SELinux状态:
1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2、getenforce ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
基于LAMP创建wordpress
在https://cn.wordpress.org/txt-download/网页中下载wordpress,
#unzip wordpress-4.9.4-zh_CN.zip
#cp wordpress /var/www/html中
#cp wp-config-sample.php wp-config.php
#vim wp-config.php //修改如下
define('DB_NAME', 'wpdb');
/** MySQL数据库用户名 */
define('DB_USER', 'wpuser');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'wppasswd');
#mysql //添加数据块用户和密码
MariaDB [(none)]> GRANT ALL ON wpdb.* TO 'wpuser'@'localhost' IDENTIFIED BY 'wpasswd';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL ON wpdb.* TO 'wpuser'@'127.0.0.1' IDENTIFIED BY 'wpasswd';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> CREATE DATABASE wpdb;
MariaDB [(none)]> FLUSH PRIVIEGES;
这是在浏览器中输入IP/wordpress就可以了
安装phpMyAdmin
#unzip phpMyAdmin-4.8.1-all-languages.zip
#cp -a phpMyAdmin-4.8.1-all-languages /www/htdocs //因为之前把DocumentRoot的目录更改到/www/htdocs
#cd /www/htdocs/phpMyAdmin-4.8.1-all-languages
#cp config.sample.inc.php config.inc.php
#tr -d 'a-zA-Z0-9' < /dev/urandom | hand -30 | md5sum
#vim config.inc.php //添加随机密码
$cfg['blowfish_secret'] = '3b52aefc4e2347d4b7648c3950ba412f';
#ln -sv phpMyAdmin-4.8.1-all-languages phpMyAdmin //为了访问方便
在数据库中添加用户和密码
在浏览器中输入IP/phpMyAdmin
出现mbstring错误
#yum remove php-common
#yum install php-mbstring
在centos6中编译安装httpd-2.4/搭建LAMP的更多相关文章
- CentOS6.3编译安装Nginx1.4.7 + MySQL5.5.25a + PHP5.3.28
[准备工作] #在编译安装lnmp之前,首先先卸载已存在的rpm包. rpm -e httpd rpm -e mysql rpm -e php yum -y remove httpd yum -y r ...
- CentOS6.3 编译安装LAMP(2):编译安装 Apache2.2.25
所需源码包: /usr/local/src/Apache-2.2.25/httpd-2.2.25.tar.gz 编译安装 Apache2.2.25 #切换到源码目录 cd /usr/local/src ...
- CentOS6.3 编译安装LAMP(2):编译安装 Apache2.4.6
Apache官方说: 与Apache 2.2.x相比,Apache 2.4.x提供了很多性能方面的提升,包括支持更大流量.更好地支持云计算.利用更少的内存处理更多的并发等.除此之外,还包括性能提升.内 ...
- CentOS6.3 编译安装LAMP(4):编译安装 PHP5.2.17
所需源码包: /usr/local/src/PHP-5.2.17/libmcrypt-2.5.8.tar.gz /usr/local/src/PHP-5.2.17/mhash-0.9.9.9.tar. ...
- CentOS6.3 编译安装LAMP(4):编译安装 PHP5.3.27
所需源码包: /usr/local/src/PHP-5.3.27/libmcrypt-2.5.8.tar.gz /usr/local/src/PHP-5.3.27/mhash-0.9.9.9.tar. ...
- 【PHP升级】CentOS6.3编译安装 PHP5.4.38
先前安装的PHP5.3.28(参考:CentOS6.3编译安装Nginx1.4.7 + MySQL5.5.25a + PHP5.3.28),现在准备升级PHP到5.4.38,有如下几个地方需要重新编译 ...
- CentOS6.3 编译安装LAMP(1):准备工作
卸载yum或rpm安装的amp软件 #在编译安装lamp之前,首先先卸载已存在的rpm包. rpm -e httpd rpm -e mysql rpm -e php yum -y remove htt ...
- CentOS6.3 编译安装LAMP(3):编译安装 MySQL5.5.25
所需源码包: /usr/local/src/MySQL-5.5.25/cmake-2.8.8.tar.gz /usr/local/src/MySQL-5.5.25/mysql-5.5.25.tar.g ...
- 编译安装HTTPD 2.4.9版本
编译安装HTTPD 2.4.9版本 服务脚本:/etc/rc.d/init.d/httpd 脚本配置文件路径:/etc/sysconfig/httpd 运行目录:/etc/httpd ...
随机推荐
- LDA的Gibbs Sampling求解
<LDA数学八卦>对于LDA的Gibbs Sampling求解讲得很详细,在此不在重复在轮子,直接贴上该文这部分内容. Gibbs Sampling 批注: 1. ...
- MongoDB-Java的两个基本操作Upsert和insertMany
此文只是为了记录几个基本操作,首先Upsert,有多种方法可以进行,但是都需要指定UpdateOptions.upsert(true),其中最简单的办法如下(eqq是一个用来filter的BSON,具 ...
- [转载]C#中IndexOf的使用
注:此方法无法找出目标字符串第二次.第三次等出现的位置. 具体代码如下所示: 1 2 3 4 5 var array=['REG','2018','2018']; array.indexOf(‘R ...
- 搭建ELK日志分析(亲测无毒!)截图没有附上。。凑合看。搭建出来没有问题
( 1 )安装 Logstash 依赖包 JDK Logstash 的运行依赖于 Java 运行环境, Logstash 1.5 以上版本不低于 java 7 推荐使用最新版本的 Java .由于我们 ...
- JS笔记—01
1.JS的代码一般在头部写2.当页面载入时,会执行位于body部分的JavaScript当被调用时,位于head部分的JavaScript被执行.3.要对外部的JS文件的一个变量操作,代码是写在内部J ...
- 4-20mA电流环路发送器入门(转)
4-20mA电流环路发送器入门 作者:Collin Wells, 德州仪器精密模拟应用工程师 在现代工业控制系统中,4-20 mA电流环路发送器一直是在控制中心和现场传感器/执行器之间进行数据传输最为 ...
- Linux的简单介绍.
Linux操作系统概述: Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境.Linux是由Linux Torvalds(林纳斯·托瓦兹)起初开发 ...
- mysql执行计划查看工具explain
在优化sql语句时,我们经常会用到explain语句,这里对explain语句做一个详细的总结说明. The EXPLAIN statement provides information about ...
- jquery的$post方法不发送空数组的解决办法
问题:jquery里的ajax在提交post请求时,如果数据里有一个空数组,则这个空数组不会提交上去 技术上的解决办法如下: 源代码: var params = { type : , ids:[] } ...
- ORA-16038 ORA-19809 ORA-00312
问题表现: 连接数据库启动报错,ORA-03113, 查看详细的alert日志发现更多报错,如下 ORA-19809: 超出了恢复文件数的限制ORA-19804: 无法回收 209715200 字节磁 ...