老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略


Posted in PHP onMarch 20, 2016

一、首先安装MySql:
对于MySql来讲在整个过程中是相对独立的安装,并且我的ubuntu在以前做开发的时候就已经安装了MySql,所以以下只给出安装步骤:
 
1、安装MySql的服务:

sudo apt-get install mysql-server

      要注意的是安装过程中会提示你设置mysql的root账户的密码;其他就没什么需要注意的地方了。

2、安装MySql的客户端:

sudo apt-get install mysql-client

直接输入安装

3、安装MySql的lib依赖库:

sudo apt-get install libmysqlclient15-dev

进行安装。
        如果不安装的话会在系统中找不到mysql.h
       
4、MySQL的一些简单管理:

       启动MySQL服务:

sudo start mysql

       停止MySQL服务:

sudo stop mysql

       修改 MySQL 的管理员密码:

sudo mysqladmin -u root password newpassword

       设置远程访问(正常情况下,mysql占用的3306端口只是在IP 127.0.0.1上监听,拒绝了其他IP的访问(通过netstat可以查看到)。取消本地监

     听需要修改 my.cnf 文件:):   

sudo vi /etc/mysql/my.cnf

    bind-address = 127.0.0.1 //找到此内容并且注释

      
5、MySQL安装后的目录结构分析(此结构只针对于使用apt-get install 在线安装情况):

      数据库存放目录:/var/lib/mysql/

      相关配置文件存放目录:/usr/share/mysql

      相关命令存放目录:/usr/bin(mysqladmin mysqldump等命令)

      启动脚步存放目录:/etc/rc.d/init.d/

以上就是MySql的基本安装了。

二、安装apache2:

1、官网下载http://httpd.apache.org/download.cgi,Unix Source: httpd-2.2.24.tar.gz,我下的是2.2.24版本的tar.gz,然后解压tar.gz

tar zxvf httpd-2.2.24.tar.gz

      把解压出来的文件移动到/usr/src/apache2
 

sudo mv -r httpd-2.2.24 /usr/src/apache2

如果没有apache2文件无法移动的话 手动创建一个

sudo mkdri /usr/src/apache2

由于修改/usr/下的文件需要root权限,所以需要加上sodu命令,加输入密码。

2、进入/usr/src/apache2/httpd-2.2.24,并且编译安装

cd /usr/src/apache2/httpd-2.2.24
   ./configure -prefix=/usr/local/apache -enable-module=so -enable-rewrite=shared -enable-authn-dbm

                                
      编译完成没错之后
      输入make命令,完成后输入:make install开始安装。

3、安装完成后配置httpd.conf:

vim /usr/local/apache2/conf/httpd.conf  #用编辑器打开httpd.conf 我用的是vim打开的

      找到#ServerName 将前面的注释符号#去掉  并且将后面的内容改成localhost:80 整句就是:
      ServerName localhost:80
      这样服务启动的时候可以通过localhost来进行访问。
      如果要修改服务器的监听端口的话可以在httpd.conf中查找Listen 80把 后面的80改成你想要的端口,在把ServerName localhost:80 后面的80改成你想要的端口。

4、启动服务:

cd /usr/local/apache2/bin #进入/usr/local/apache2/bin目录
   sudo ./apachectl start      #启动apache 服务

      然后打开游览器,输入访问地址localhost看看能否显示It Works,如果可以显示就说明已经安装完成。

三、安装配置PHP5

1、首先安装libxml2库,用来解析xml的的lib库输入:sudo apt-get install libxml2-dev 进行安装

2、官网下载php http://www.php.net/downloads.php 然后解压下载来的tar.gz包

tar zxvf php-5.4.15.tar.gz           #解压
    sudo mv -r php-5.4.15 /usr/src/php5 #移动到/usr/src/php5目录下

3、编译安装php

cd /usr/src/php/php-5.4.15  #进入php所在目录
    ./configure  
    -prefix=/usr/local/php5   #php安装目录
    -with-apxs2=/usr/local/apache2/bin/apxs  #apxs所在的目录,如果没有就sudo find / -name apxs 查询一下所在的目录
    -with-mysql=/usr/   #这个是查找mysql.h的目录,不知道为什么我的mysql.h在/usr/include/中 但是 写这个路径没用必须写/usr/ 如果不知道mysql.h在哪就 sudo find / -name mysql.h查找一下
    -with-mysqli=/usr/bin/mysql_config #mysql_config所在的目录,如果不再这个目录就find一下。
    -with-gd  #打开对gd库的支持,如果应为这个报错,就安装一下gd库
    -with-pear #打开pear命令的支持
    -with-libxml-dir  #打开对刚刚安装的libxml2的支持

       整条编译语句是:

./configure -prefix=/usr/local/php5 -with-apxs2=/usr/local/apache2/bin/apxs -with-mysql=/usr/  -with-mysqli=/usr/bin/mysql_config -with-gd  -with-pear -with-libxml-dir

      如果编译时出现error的话 一般都是 依赖库lib 出问题,看提示缺少什么依赖库,然后安装一下就行。
      完成后make一下 然后再输入make install进行安装。
 
4、手动指定php.ini文件:
      打开/usr/local/apache2/conf/httpd.conf,在LoadModule php_module     modules/libphp5.so这行下面加入PHPIniDir /etc/php.ini 指定php.ini的路径,然后进入你解压的php-5.4.15.tar.gz的目录将php.ini-development复制到你指定的路劲/etc里并且重命名为php.ini:
cd /usr/src/php/php-5.4.15 #进入php目录
   sudo cp php.ini-development /etc #复制到/etc
   sudo mv php.ini-development php.ini #重命名为php.ini

5、修改httpd.conf中的php支持和默认访问index.php:
      打开/usr/local/apache2/conf/httpd.conf,把<Directory />中的内容改成:

<Directory  />
   Options FollowSymLinks
   DirectoryIndex index.php index.html  #指定默认先查找index.php 如果没有就查找index.html
   AllowOverride None
   Order deny,allow
   Deny from all
   </Directory>

     接着在AddType application/x-gzip .gz .tgz下面一行中加入:

AddType application/x-httpd-php .php
   AddType application/x-httpd-php-source .phps

     完成后保存文件,如果提示文件是只读模式无法保存的话,那么肯定是权限不够在用打开httpd.conf的命令时 要加上sudo
 
6、启动\重启apache服务,在服务器根目录下编写php文件

sudo /usr/local/apache2/bin/apachectl stop #停止服务
   sudo /usr/local/apache2/bin/apachectl start #启动服务
   sudo /usr/local/apache2/bin/apachectl rstart #重启服务

     
cd /usr/lcoal/apache2/htdocs #进入apache2默认根目录

      创建一个index.php文件 在里面编写<?php echo phpinfo();?>然后打开游览器输入localhost看看能否显示php的信息,如果可以则配置成功。

四、其他配置:
    
1、手动配置apache的默认的根目录
      用编辑器打开/usr/local/apache2/conf/httpd.conf目录然后找到DocumentRoot /usr/lcoal/apache2/htdocs把这个路径改成你要的路径 然后在往下一点找到<Directory "/usr/lcoal/apache2/htdocs">把里面的路径也改成你想要指定的路径就可以了。

2、查看php.ini所在的路径:
      很多时候不知道指定php.ini的路径在哪看,只要编写<?php echo phpinfo();?>文件 然后用游览器访问,看到php所有信息之后 找到:Loaded Configuration File这一行的 右边的路径信息 就是指定的php.ini路径的地址了。
      
     

PHP 相关文章推荐
DedeCms模板安装/制作概述
Mar 11 PHP
一些常用的php简单命令代码集锦
Sep 24 PHP
在命令行下运行PHP脚本[带参数]的方法
Jan 22 PHP
关于尾递归的使用详解
May 02 PHP
PHP操作MongoDB GridFS 存储文件的详解
Jun 20 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
Jul 28 PHP
如何让搜索引擎抓取AJAX内容解决方案
Aug 25 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
Nov 24 PHP
将FCKeditor导入PHP+SMARTY的实现方法
Jan 15 PHP
WordPress中对访客评论功能的一些优化方法
Nov 24 PHP
PHP实现简易blog的制作
Oct 24 PHP
如何用RabbitMQ和Swoole实现一个异步任务系统
May 29 PHP
Zend Framework入门知识点小结
Mar 19 #PHP
Zend Framework缓存Cache用法简单实例
Mar 19 #PHP
Zend Framework基本页面布局分析
Mar 19 #PHP
Zend Framework连接Mysql数据库实例分析
Mar 19 #PHP
Zend Framework+smarty用法实例详解
Mar 19 #PHP
ThinkPHP使用Smarty第三方插件方法小结
Mar 19 #PHP
smarty学习笔记之常见代码段用法总结
Mar 19 #PHP
You might like
理解PHP5中static和const关键字的区别
2007/03/19 PHP
基于Discuz security.inc.php代码的深入分析
2013/06/03 PHP
PHP图片上传代码
2013/11/04 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
JavaScript 面向对象的 私有成员和公开成员
2010/05/13 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
jquery图片播放浏览插件prettyPhoto使用详解
2014/12/19 Javascript
JQuery中上下文选择器实现方法
2015/05/18 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
[01:06:26]全国守擂赛第二周 Team Coach vs DeMonsTer
2020/04/28 DOTA
python k-近邻算法实例分享
2014/06/11 Python
python随机生成指定长度密码的方法
2015/04/04 Python
Python中用max()方法求最大值的介绍
2015/05/15 Python
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
python脚本监控docker容器
2016/04/27 Python
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
快速了解Python中的装饰器
2018/01/11 Python
python用列表生成式写嵌套循环的方法
2018/11/08 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
matplotlib教程——强大的python作图工具库
2020/10/15 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
python-地图可视化组件folium的操作
2020/12/14 Python
行政执法队伍作风整顿个人剖析材料
2014/10/11 职场文书
教师批评与自我批评剖析材料
2014/10/16 职场文书
2014年英语教研组工作总结
2014/12/06 职场文书
Maven学习----Maven安装与环境变量配置教程
2021/06/29 Java/Android
Android自定义ScrollView实现阻尼回弹
2022/04/01 Java/Android