LAMP环境搭建 (原创帖,转载请注明出处)
=============================说在前面的话==========================
第一安装Mysql
第二安装Apache-httpd
第三安装PHP
第四配置PHP和apache-httpd结合
1:之所以要把PHP放在最后一个安装是因为PHP在安装的时候需要用到Mysql的驱动(PHP5.3以后在装PHP的机器上不需要提前安装Mysql,因为PHP出了自己的mysqlnd驱动)和Apache-httpd的apxs。
2:所有安装包均放在/usr/local/src下面,所有程序均安装在/usr/local下面。
3:本文档使用系统版本是CentOs 6.2 X64 ,内核版本2.6.32-220.el6.x86_64
useradd -s /sbin/nologin mysql
# -s参数是指定用户shell,这里的nologin是指该用户无法登录。
2:建立数据库存放目录
mkdir -p /data/mysql
# -p参数的意思是创建目录树,如果上级目录不存在使用-p可以自动创建出上级目录。
3:给数据库存放目录赋予权限
chown -R mysql:mysql /data/mysql
/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql
cp -f /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
# -f选项是不询问强制覆盖的意思。在support-files这个目录下有好几个.cnf文件,这些都是针对主机内存大 小的。内存小于等于64M时使用my- small.cnf,内存在128M左右时使用my-medium.cnf,内存在512左右时使用 my-large.cnf,内存在1G-2G时使用my-huge.cnf,还有一个my-innodb- heavy-4G.cnf这个文件是大企业才需要 用到的,在mysql5.6以后已经将所有的配置文件移除了,只是用一个配置文件。
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod /etc/init.d/mysqld
vim /etc/init.d/mysqld
chkconfig --add mysqld
#这里的mysqld就是之前我们拷贝的脚本名,这个命令的意思是将mysqld加入到系统服务当中。
chkconfig --level mysqld on
service mysqld start
mysqladmin -u root password ''
tar zxvf httpd-2.4.23.tar.gz
/usr/local/src/httpd-2.4./configure --prefix=/usr/local/apache --enable-mods-shared=most --enables-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-mpms-shard=all --with-mpm=prefork
make && make install
vim /etc/rc.local
/usr/local/apache/bin/apachectl start
#将apache启动命令写入rc.local文件
/usr/local/apache/bin/apachectl start
注意:如果访问不了要用 setenforce 0 关掉selinux或者用 iptables -F 清空防火墙规则
/usr/local/src/php-5.6./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=mysqlnd --with-libxmal-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6
# --prefix 选项指定PHP安装路径
# --with-mysql 选项指定mysql驱动(这里使用php自己研发的mysqlnd驱动,5.3版本以上才可以)
rm -rf /etc/yum.repos.d/*
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-6.repo
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/Centos-6.repo
#下载阿里云yum源文件
yum repolist
#重新加载yum源文件
②编译并安装
make && make install
2:拷贝配置文件
cp /usr/local/src/php-5.6./phpini-development /usr/local/php/etc/php.ini
#在php源码包下有两个配置文件,一个是生成环境使用的php.ini-production,一个是开发环境使用的phpini-development。
第四:配置PHP和apache结合
思路:检查php模块是否生成并加载>在httpd.conf中加入php类型>在http.conf中加入.php后缀文件类型
1.检查php模块文件是否生成
ls /usr/local/apache/modules | grep libphp5.so
#如果有libphp5.so文件,则说明生成成功。
cat /usr/local/apache/conf/httpd.conf | grep libphp5.so
#如果有显示,说明libphp5.so加载成功。
/usr/local/apache/bin/httpd -M | grep php5_module
#如果有显示,说明libphp5.so加载成功。
2.在httpd.conf中加入php类型
vim /usr/local/apache2/conf/httpd.conf
#编辑httpd.conf文件,在
AddType application/x-gzip .gz .tgz
下面添加一行
AddType application/x-httpd-php .php
3.在httpd.conf中添加index.php
vim /usr/local/apache2/conf/httpd.conf
#编辑httpd.conf文件,在
DirectoryIndex index.html
后面加上 index.php变成
DirectoryIndex index.html index.php
第五:测试PHP脚本是否解析成功
①在apache/htdocs下新建一个1.php的文件,内容如下
<?php echo "Hello World"; ?>
②通过浏览器访问1.php,看网页是否显示Hello World。
LAMP环境搭建 (原创帖,转载请注明出处)的更多相关文章
- Apache2.4权限配置(原创帖-转载请注明出处)
==================说在前面的话================= 1:这次实验使用的php项目是Discuz,Discuz的安装请参照:http://www.cnblogs.com/ ...
- Java程序员面试宝典1 ---Java基础部分(该博文为原创,转载请注明出处)
(该博文为原创,转载请注明出处 http://www.cnblogs.com/luyijoy/ by白手伊凡) 1. 基本概念 1) Java为解释性语言,运行过程:程序源 ...
- 后端Apache获取前端Nginx反向代理的真实IP地址 (原创贴-转载请注明出处)
====================说在前面的话==================== 环境:前段Nginx是反向代理服务器:后端是Apache是WEB项目服务器 目的:让后端Apapche获取 ...
- Apache开启状态查看页面(原创贴-转载请注明出处)
=================写在前面的话================== 场景描述:有时候我们需要查看apache的运行状态,只需要开启apache的status功能就可以实现,但是stat ...
- Apache设置页面认证(原创贴-转载请注明出处)
================写在前面的话============== 1.本试验使用的apache版本是2.4.24 场景描述:网站后台管理页面比较重要,不应该任何人都让访问,所以对后台页面做认证 ...
- 转载请注明出处: https://github.com/qiu-deqing/FE-interview
转载请注明出处: https://github.com/qiu-deqing/FE-interview Table of Contents generated with DocToc FE-inter ...
- Discuz的安装 (原创帖,转载请注明出处)
========================写在前面的话========================= 1.LAMP环境搭建请查看这篇日志:http://www.cnblogs.com/yic ...
- 阿里云服务器SQLSERVER 2019 远程服务器环境搭建【原创】【转载请注明出处】
之前做过本地服务器SQLSERVER环境搭建.局域网环境SQLSERVER搭建.一直没有尝试自己完成一个云端服务器的环境搭建.今天就根据一个成功的例子给大家分享一下. 一.云端数据库安装与搭建 我的服 ...
- 移动端H5页面遇到的问题总结(转载请注明出处)
最近刚做完一个移动端的项目,产品之无敌,过程之艰辛,我就不多说了,记录下在这个项目中遇到的问题,以防万一,虽然这些可能都是已经被N多前辈解决掉了的问题,也放在这里,算是为自己漫漫前端路铺了一颗小石子儿 ...
随机推荐
- iOS用户信息单例的创建
UserInfo.h + (UserInfo *) sharedInstance; UserInfo.m #import "UserInfo.h" static UserInfo ...
- ES6 基础知识
let:用来定义变量特点:只能在代码块里面使用,let拥有块级作用域;并且let不允许重复声明; 比如: var a = 12; var a = 5; alert(a); //5; let a = 1 ...
- iOS蓝牙开发CoreBluetooth快速入门
在iOS开发中,实现蓝牙通信有两种方式,一种是使用传统的GameKit.framework,另一种就是使用在iOS 5中加入的CoreBluetooth.framework. 利用CoreBlueto ...
- itertools模块
itertools模块中有很多函数,返回的是一个迭代器 参考: http://www.wklken.me/posts/2013/08/20/python-extra-itertools.html#_1
- 谈谈LoveLive SIF以及即将诞生的LL练习器
由于课程需要和自身需求以及广大的LLer的需求,这个学期我将做一个造福全世界LLer的安卓app,它的名字是——还没想好(喂),总之是个LL SIF的练习器.什么?你问我LL SIF是什么?看来你不是 ...
- CentOS 7 启动、重启、chkconfig等命令已经合并为systemctl
CentOS 7系统服务启动.重启.设置服务启动项命令以合并为,systemctl . 现在用service 或/etc/init.d/命令,重启,重新启动,停止等没效果,因为命令合并为systemc ...
- Windows Phone 十三、吐司通知
弹出通知对话框 <Grid> <Button Content="弹出通知" Click="Button_Click"/> </Gr ...
- struts2中的jsp值传到后台action接收的三种方法
struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: <form action="login" method="pos ...
- Html5shiv
说明编辑 越来越多的站点开始使用 HTML5 标签.但情况是还有很多人在使用IE6,IE7,IE8.为了让所有网站浏览者都能正常的访问网站, 2解决方案编辑 有下面两个: 为网站创建多套模板,通过程序 ...
- NIO SelectionKey中定义的4种事件
SelectionKey.OP_ACCEPT —— 接收连接继续事件,表示服务器监听到了客户连接,服务器可以接收这个连接了 SelectionKey.OP_CONNECT —— 连接就绪事件,表示客户 ...