一、首先安装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路径的地址了。
      
     

老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略的更多相关文章

  1. 从iOS应用程序发送帖子到PHP脚本不工作…简单的解决方案就像

    我之前已经做了好几次了但是由于某些原因我无法通过这个帖子…我尝试了设置为_POST且没有的变量的PHP脚本……当它们未设置为发布时它工作精细.这是我的iOS代码:这里是PHP的一大块,POST变量不在正确的位置?我想这对于更有经验的开发人员来说是一个相当简单的答案,感谢您的帮助!解决方法$_POST是一个数组,而不是一个函数.您需要使用方括号来访问数组索引:

  2. IOs Cordova长按显示文本选择放大镜即使禁用文本选择,如何删除?

    是否有任何可能导致此问题的插件?任何帮助深表感谢.Cordova插件:>com.mbppower.camerapreview>cordova-plugin-statusbar>cordova-plugin-whitelist>离子插件键盘>org.apache.cordova.camera>org.apache.cordova.console>org.apache.cordova.device>org.apache.cordova.dialogs>org.apache.cordova.file>org.a

  3. swift学习2 元组 tuples

    swift中出现了一种新的数据结构,非常牛掰的元组tuples如果懂PHP的猿,会发现这个元组和PHP的数组非常类似,同样是可以默认不指定key,也可以指定key目前的学习疑问是,如何进行元组的遍历?

  4. 尝试使用swift mailer,gmail smtp,php发送邮件

    这里是我的代码:在运行时出现此错误…

  5. android – org.apache.cordova.api不存在. PhoneGap 3.0

    我正在尝试将VideoPlayer插件(https://github.com/macdonst/VideoPlayer)添加到我的phonegapAndroid应用程序中.在编译时遇到问题:第25行:解决方法将您的导入更改为:

  6. 如何将android客户端连接到我的笔记本电脑内的Apache服务器(php)的localhost?

    我的笔记本电脑中的localhost-127.0.0.1或android10.0.0.1中的localhost?>那么,如果我想从android访问localhost来调用PHP来运行?哪个ip地址/url我需要放在Android应用程序?我需要在httpconfig中为XAMPP修改任何内容吗?解决方法使用ipconfig在笔记本电脑中找到您的IP地址.在手机中使用该地址而不是127.0.0.1.

  7. android – 在android工作室中的proguard错误

    我想在我的应用程序中使用proguard,我启用它但是当我想生成apk文件时,它给了我这个错误:我正在使用最新版本的sdk23,这是我的gradle文件:怎么了?我在这段代码中做错了什么?谢谢解决方法只需在proguard上添加:

  8. 无法修复Android Proguard返回错误代码1错误

    当我尝试在我的Android应用程序中使用proguard时只需添加到我的project.properties文件,APK导出失败并显示消息Proguard返回错误代码1这是我的project.properties文件这是错误堆栈:解决方法将这些行添加到proguard配置文件(proguard-android.txt)见ProguardTroubleshooting请注意,如果您使用您的配置文件

  9. Phonegap 2.4 Android Proguard配置

    有人有主意吗???

  10. android – 如何在sharedPreferences中分析ANR

    在sharedPreferences中遇到ANR,不知道如何定位问题.以下是trace的三个部分,其他大多数线程都是“WAIT”或“TIMED_WAIT”.由于countdownlatch.await(),“主”线程被阻止.第二个线程“pool-1-thread-1”等待fsync.最后一个是试图读一些东西.我认为第二个线程已经阻塞了主线程,因为如果这个无法完成,它将不会调用countdownla

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部