Linux+Apache+Mysql+Php源码安装

一.安装环境:

系统:Centos6.5x64

Apache: httpd-2.4.10.tar.gz

Mysql: mysql-5.6.20-linux-glibc2.5-x86_64.tar.gz

Php: php-5.6.0.tar.gz

Apr: apr-1.5.1.tar.gz

Apr-util: apr-util-1.5.3.tar.gz

Libxml2: libxml2-2.9.1.tar.gz

默认安装路径我们统一安装到/usr/local下

二.Apache安装:

安装Apache之前先把所需要的开发包安装上,使用yum –y install gcc gcc-c++ pcre pcre-devel python python-devel

安装Apache2.4所需要用到的apr版本要在1.4以上,而Centos6.5自带的Apr版本是1.39,所以要自行到apr.apache.net网站上下载相应版本,我们这里下载的是最新的1.5.1版本,Apr-util是1.5.3版本,还需要libxml2软件,因为libxml2是一个C语言的解析器,所以我们安装Apache的时候需要用到,源码安装的时候系统识别不了Libxml2的安装路径,所以我们可以自行安装tar包,我这里下载的是2.9.1版本的。使用rpm –qa apr apr-util libxml2命令查看Centos6.5安装的版本:

创建安装目录:

创建相对应安装包目录:使用mkdir /usr/local/{apr,apr-util,libxml2,apache,php} –v

安装Apr:

Shell>tar xf apr-1.5.1.tar.gz

Shell>cd apr-1.5.1

Shell>./configure --prefix=/usr/local/apr

Shell>make && make install

安装Apr-util包:

Shell>tar xf apr-util-1.5.3.tar.gz

Shell>cd apr-util-1.5.3

Shell>./configure --prefix=/usr/local/apr-util –with-apr=/usr/local/apr

Shell>make && make install

安装Libxml2包:

Shell>tar xf libxml2-2.9.1.tar.gz

Shell>cd libxml2-2.9.1

Shell>./configure --prefix=/usr/local/libxml2

Shell>make && make install

安装Apache之前先把Centos6.5自带的apache包给删掉:

安装Apache包:

Shell>tar xf l httpd-2.4.10.tar.gz

Shell>cd httpd-2.4.10

Shell>./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-libxml2=/usr/local/libxml2 --enable-so --enable-cgi --enable-rewrite

Shell>make && make install

Apache安装完成,启动Apache服务,查看80端口,测试WEB页:

Shell>/usr/local/apache/bin/apachectl start

Shell>netstat –lntp | grep :80

Shell>curl http://127.0.0.1

三、安装Mysql

这里使用的是二进制格式的Mysql安装包,安装前先给Mysql创建用户和组:

Shell>groupadd mysql

Shell>useradd –r –g mysql mysql

Shell> tar xf mysql-5.6.20-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

Shell> ln -s /usr/local/mysql-5.6.20-linux-glibc2.5-x86_64 /usr/local/mysql #给mysql设置软链接

Shell> cd /usr/local/mysql  ##进入mysql目录

Shell> chown -R mysql.mysql .   ##给mysql目录设置所属主和组

Shell> scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --user=mysql  ##初始化mysql数据库并指定mysql的安装目录,数据库存放目录和所属用户

Shell> chown -R root .  ##为了安全将mysql目录下的mysql主改为root用户主

Shell> chown -R mysql data/   ##因为我们的数据库默认保存在data目录下,所以因该给data目录的主为mysql,否则创建数据库为失败。

Shell> cp support-files/mysql.server /etc/init.d/mysqld  ##将mysql自带的服务启动文件拷贝到系统启动目录下

Shell> chmod +x /etc/init.d/mysqld  ##给启动服务添加执行权限

Shell> chkconfig --add mysqld    ##将服务添加到系统启动中

Shell> chkconfig --list mysqld     ##查看mysql服务启动项

Shell> rm -rf /etc/my.cnf     ##要删除/etc/my.cnf文件,因为这是Centos6.5自带的文件,当我们启动mysql服务的时候,mysql服务会先去找/etc下的my.cnf文件,然后也会在数据库安装目录查找my.cnf文件,可以不删除/etc下的my.cnf文件,但是记得修改配置文件,这里为了图方便,所以将其删掉,这样系统会自动查找数据库安装目录下的my.cnf文件

Shell> service mysqld start   ##启动mysql服务

Shell> /usr/local/mysql/bin/mysqladmin -u root password '123456'; ##给mysql中的root用户设置密码,默认为空

Shell> /usr/local/mysql/bin/mysql -u root –p  ##以root用户登录mysql数据库

四、安装PHP

Shell> tar xf php-5.6.0.tar.gz

Shell>cd php-5.6.0

Shell> ./configure --prefix=/usr/local/php --with-libxml-dir=/usr/local/libxml2 --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/etc

Shell> make && make install

Shell> cp php.ini-production /etc/php.ini  ##将安装目录下的php.ini-production复制到/etc下作为配置文件

五、配置Apache,使其和Php结合

编辑vi /usr/local/apache/conf/httpd.conf文件,查看LoadModule模块中有没自动添加PHP模块:

使apache与扩展名为.php的文件类型相关联:在/usr/local/apache/conf/httpd.conf文件中添加一句:AddType application/x-httpd-php .php

添加index.php网页为默认访问页:

重启Apache服务,并添加php和mysql测试网页:

六、测试LAMP网页

关掉mysql服务,并重新访问网页:

至此,LAMP搭建完成。

最新文章

  1. IoC组件~Autofac将多实现一次注入,根据别名Resove实例
  2. Net设计模式实例之简单工厂模式(Simple Factory Pattern)
  3. POJ2342 树形dp
  4. Spring 通过配置文件注入 properties文件
  5. VMware虚拟机Mac OS X无法调整扩展硬盘大小,更新xcode时出现磁盘空间不足
  6. 自制工具:迅速打开一个Node 环境的Playground
  7. Leetcode: All O`one Data Structure
  8. 10秒视频转局部GIF动画
  9. op cache config
  10. 纯CSS二级纵向菜单
  11. gdb学习(一)[第二版]
  12. Java Base64 加解密
  13. DIYer最担心的事来了!CPU降价彻底无望
  14. Sitecore xDB基础知识 - 识别用户,联系人,访客,客户
  15. hihoCoder week13 最近公共祖先·一
  16. 4.HTTP入门.md
  17. Mysql之数据表操作
  18. OCP-1Z0-051-题目解析-第22题
  19. MVC视图布局页常用代码
  20. shell 环境变量的知识小结

热门文章

  1. nginx的优点
  2. Vue 引入ElementUI 2.0.11:依赖未发现的问题
  3. 国内云引擎平台概览——新浪SAE,阿里ACE,百度BCE
  4. js向后台传递对象
  5. java类库中的设计模式
  6. Hibernate学习三----------session详解
  7. 微服务之旅:从Netflix OSS到 Istio Service Mesh
  8. oauth学习
  9. c# .net Global.asax文件的作用
  10. SQLite 数据库安装与创建数据库