当你看到标题里的“手动搭建”,你是不是会想,难不成还有“自动搭建”?当然......不是,这里的“手动搭建”是指按部就班的搭建Apache、MySQL、PHP环境,是相对于集成软件包而言的。所以你是不是能够猜到,我后续还会整理一篇通过集成软件包搭建LAMP环境的文章呢?

  其实关于LAMP环境,我到现在都没有用过,好多东西也都不懂为什么要这么做,当初只是心血来潮,想自己搭建一个wiki,所以才着手研究的。我不是搞PHP的,也不是搞后端的,额......是不是暴露的太多了,仅仅是为了搭建环境而搭建环境的,写这篇文章呢,也只是想记录一下当初自己折腾的过程,说不定以后我也开始搞PHP了,或许可以回来瞅瞅。

Linux下安装Apache

  一、准备

  1、安装apr

    下载地址:http://apr.apache.org/download.cgi

    [root@iZ28wslixcoZ work]# tar -zxvf apr-1.5.2.tar.gz
    [root@iZ28wslixcoZ apr-1.5.2]# ./configure --prefix=/usr/local/apr // 自己的地址
    [root@iZ28wslixcoZ apr-1.5.2]# make
    [root@iZ28wslixcoZ apr-1.5.2]# make install

  2、安装apr-util

    下载地址:http://apr.apache.org/download.cgi

    [root@iZ28wslixcoZ work]# tar -zxvf apr-util-1.5.4.tar.gz
    [root@iZ28wslixcoZ apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util // 自己的地址
    [root@iZ28wslixcoZ apr-util-1.5.4]# make
    [root@iZ28wslixcoZ apr-util-1.5.4]# make install

  3、安装pcre

    下载地址:http://pcre.org/

    [root@iZ28wslixcoZ work]# tar -zxvf pcre-8.36.tar.gz
    [root@iZ28wslixcoZ pcre-8.36]# ./configure --prefix=/usr/local/pcre // 自己的地址
    [root@iZ28wslixcoZ pcre-8.36]# make
    [root@iZ28wslixcoZ pcre-8.36]# make install

  二、安装

    下载地址:http://httpd.apache.org/

    [root@iZ28wslixcoZ work]# tar -zxvf httpd-2.4.16.tar.gz
    [root@iZ28wslixcoZ httpd-2.4.16]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
    [root@iZ28wslixcoZ httpd-2.4.16]# make
    [root@iZ28wslixcoZ httpd-2.4.16]# make install

  三、配置

  1、修改配置文件

    打开conf/httpd.conf,将# ServerName www.example.com:80改为ServerName localhost:80 // ip:80。

  2、启动

    [root@iZ28wslixcoZ /usr/local/apache]# ./bin/apachectl start

    在浏览器中输入http://ip,正常的话即可查看到“It works!”。

  3、设置开机启动

    [root@iZ28wslixcoZ ~]# vi /etc/rc.local

    添加:/usr/local/apache/bin/apachectl start

  4、修改Apache的默认站点目录

    Apache HTTP Server安装好后,默认的站点目录位于其安装目录下的htdocs文件夹内,默认首页是该文件夹的index.html文件。
    修改方法:
    (1)到Apache的安装目录下找到conf文件夹,该文件夹内会有httpd.conf这样一个文本文档,它是Apache的配置文件,负责指挥Apache的运行。
    (2)打开该文本文档,查找“DocumentRoot "”(带英文双引号),查找出来之后,将字符串“DocumentRoot”后面双引号内的字符串修改为自己想要设定的网站目录。
    (3)完成上述第2步之后,暂不要关闭httpd.conf文件,继续查找,查找“<Directory "” (带英文双引号),查找到“<Directory "”之后,将第一个“Directory”字符串后面双引号内的字符串修改为自己想要设定的网站目录。
    (4)保存退出,重启apache服务器即可。

Linux下安装MySQL

  一、准备

  1、查看系统是否已经安装了mysql

    [root@iZ28wslixcoZ ~]# rpm -qa | grep mysql

    // 这个命令就会查看该操作系统上是否已经安装了mysql数据库

    如果没有安装,则不会输出任何内容;如果已经安装了,会显示相应的版本信息。

    [root@iZ28wslixcoZ ~]# rpm -e mysql

    // 普通删除模式

    [root@iZ28wslixcoZ ~]# rpm -e --nodeps mysql

    // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

  二、安装

    [root@iZ28wslixcoZ ~]# yum list | grep mysql
    我们通过命令可以查看yum上提供下载的mysql的版本信息,然后通过下面的命令进行数据库的安装,
    [root@iZ28wslixcoZ ~]# yum install -y mysql-server mysql mysql-deve
  但是,
    CentOS 7的yum源中貌似没有正常安装mysql时的mysql-sever文件,需要去官网上下载:
    [root@iZ28wslixcoZ ~]# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    [root@iZ28wslixcoZ ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm
    [root@iZ28wslixcoZ ~]# yum install mysql-community-server
    成功安装之后重启mysql服务:
    [root@iZ28wslixcoZ ~]# service mysqld restart
    MySQL安装之后是没有密码的,可以直接通过
    [root@iZ28wslixcoZ ~]# mysql
    登录,如果显示Welcome to the MySQL monitor等信息,则说明MySQL安装成功。

  三、配置

    MySQL安装之后只能通过本机登录,是不能远程连接的,如果用Navicat等MySQL客户端连接,会报错ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server。说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录,需更改 MySQL 数据库里的 user表里的host项,把localhost改为%
    具体步骤:
      登录到MySQL,
      mysql > user mysql;
      mysql > update user set host='%' where user = 'root';
      (这时候会报错ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' ,这个不用管)
      mysql > select host from user where user = 'root';
      +-----------------------+
      | host |
      +-----------------------+
      | % |
      | 127.0.0.1 |
      | localhost.localdomain |
      +-----------------------+
      3 rows in set (0.00 sec)
      host已经有了%这个值,所以直接运行命令:
      mysql > flush privileges;
      再用Navicat连接即可成功。
  或者可以通过以下较通用的命令更改MySQL的权限:

    1、设置访问单个数据库权限
      mysql>grant all privileges on test.* to 'root'@'%';
      说明:设置用户名为root,密码为空,可访问数据库test
    2、设置访问全部数据库权限
      mysql>grant all privileges on *.* to 'root'@'%';
      说明:设置用户名为root,密码为空,可访问所有数据库*
    3、设置指定用户名访问权限
      mysql>grant all privileges on *.* to 'liuhui'@'%';
      说明:设置指定用户名为liuhui,密码为空,可访问所有数据库*
    4、设置密码访问权限
      mysql>grant all privileges on *.* to 'liuhui'@'%' IDENTIFIED BY 'liuhui';
      说明:设置指定用户名为liuhui,密码为liuhui,可访问所有数据库*
    5、设置指定可访问主机权限
      mysql>grant all privileges on *.* to 'liuhui'@'10.2.1.11';
      说明:设置指定用户名为liuhui,可访问所有数据库*,只有10.2.1.11这台机器有权限访问

Linux下安装PHP

  一、准备

  1、安装libxml2  

    1)、下载libxml2:http://xmlsoft.org/downloads.html
    2)、安装:
      [root@iZ28wslixcoZ work]# tar -zxvf libxml2-2.7.2.tar.gz
      [root@iZ28wslixcoZ work]# cd libxml2-2.7.2
      [root@iZ28wslixcoZ libxml2-2.7.2]# ./configure --prefix=/usr/local/libxml2
      [root@iZ28wslixcoZ libxml2-2.7.2]# make
      [root@iZ28wslixcoZ libxml2-2.7.2]# make install
      如果安装成功以后,在/usr/local/libxml2/目录下将生成bin、include、lib、man和share五个目录。在后面安装PHP5源代码包的配置时,会通过在configure命令的选项中加上"--with-libxml-dir=/usr/local/libxml2"选项,用于指定安装libxml2库文件的位置。

  二、安装

  1、下载php5
    http://www.php.net/downloads.php
  2、安装
    [root@iZ28wslixcoZ work]# tar -zxvf php-5.6.14.tar.gz
    [root@iZ28wslixcoZ work]# cd php-5.6.14
    [root@iZ28wslixcoZ php-5.6.14]# ./configure --prefix= /usr/local/php \
      --with-mysql=/usr/local/mysql \
      --with-apxs=/usr/local/apache/bin/apxs \
      --with-libxml-dir=/usr/local/libxml2
      (如果安装的是apache2,请使用--with-apxs2=/usr/local/apache/bin/apxs)
      (如果报错:Note that the MySQL client library is not bundled anymore! 则说明php编译支持mysql时有问题,如果不知道mysql库在哪,可以这样配置:
      --with-mysql=mysqlnd \
      --with-mysqli=mysqlnd \
      --with-pdo-mysql=mysqlnd
      )
    [root@iZ28wslixcoZ php-5.6.14]# make
    [root@iZ28wslixcoZ php-5.6.14]# make install
  3、配置
    重新配置apache2让他支持php。
    配置 httpd.conf 让apache支持PHP:
    [root@iZ28wslixcoZ ~]# vi /usr/local/apache/conf/httpd.conf
    找到AddType application/x-gzip .gz .tgz在其下添加如下内容
    AddType application/x-httpd-php .php (.前面有空格)
    AddType application/x-httpd-php-source .phps (.前面有空格)
    保存退出。
    copy PHP的配置文件:
    [root@iZ28wslixcoZ ~]# cp /usr/work/php-5.6.14/php.ini.dist /usr/local/php/lib/php.ini
    (如果没有php.ini.dist,则把php.ini-development php.ini-production中的任何一个重命名为php.ini.dist即可)
  4、测试
    写一个php测试页info.php,放到apache2/htdocs中。
    <?php
      phpinfo();
    ?>;
    启动apache,在浏览器中输入:http: //服务器地址/info.php,如果能正常显示出php的信息,则说明Apche+Mysql+PHP安装成功!

Linux手动搭建LAMP环境的更多相关文章

  1. linux下搭建lamp环境以及安装swoole扩展

    linux下搭建lamp环境以及安装swoole扩展   一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源  我安装的环境是:apache2.2.15+mysql5 ...

  2. CentOS linux系统搭建LAMP环境

    准备工作: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state –state NEW -m tcp -p tcp –dpo ...

  3. Linux下搭建LAMP环境(YUM)

    安装Apache 1.安装Apache yum -y install httpd 2. Apache配置httpd.conf 通过命令 find / -name httpd.conf 找到Apache ...

  4. linux(Ubuntu) 搭建LAMP环境

    1.更新源 sudo apt- get update 2.安装常用软件 SSH.Vim.Git.Tree ①SSH sudo apt-get install openssh-server 管理命令:s ...

  5. Linux 18.04 搭建lamp环境

    Linux 18.04 下搭建lamp环境 一.      安装服务器 a)     在配置好sources.list文件后,apt-get updata&upgrade更新软件: 二.    ...

  6. Centos7+Apache2.4+php5.6+mysql5.5搭建Lamp环境——为了wordPress

    最近想搭建个人博客玩玩,挑来挑去发现口碑不错的博客程序是wordpress,简称wp.虽然是学java路线的程序员,但因入行时间太短,至今没有发现较为称手开源的博客程序,如果各位大神有好的推荐,也希望 ...

  7. CentOS 6.5 下源码搭建LAMP环境

    参考网站: http://wenku.baidu.com/link?url=Cvkqss2E9mnxXOZigMWPaCfqwsBxnm0sZ4aKE2oLAgQ888XxeC0DWOChxVqiHz ...

  8. CentOS6.5下搭建LAMP环境(源码编译方式)

    CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL) 学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP ,WAMP,MAMP等.这里我介 ...

  9. CentOS下编译搭建LAMP环境

    搭建LAMP环境须知 搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装,我们按照Apache->MySQL->PHP的顺序安装.但是在安装PHP之前,应先安装PHP5需要的最新 ...

随机推荐

  1. python 主机宝

    需求:开发一个主机批量管理系统,要求按saltstack方式执行命令 #!/usr/bin/env python3. # -*- coding:utf8 -*- import os,sys,pickl ...

  2. .net MVC 中“MvcPager” 插件的简单使用。

    .net MVC 中提供了一个分页组件"MvcPager",用起来还算方便,实用性较强. 简单写一下使用方法,如有不足的地方,请各位大大给小弟指正出来. 一.准备工作 使用这个组件 ...

  3. java练习 - 字符串反转

    思路: 1. 首先将字符串转换成数组,一个数组元素放一个字符. 2. 循环遍历字符串,将所有字符串前后字符调换位置,比如:第一个和最后一个调换,第二个和倒数第三调换,第三个和倒数第三调换,直到所有字符 ...

  4. appium元素集合定位

    概念:某一类型元素的集合 list对象 来源:-控件复用 -相同的控件类型 -取名重复 语法:driver.findElements(By.id("text1")).get(0) ...

  5. C#调用托管C++类(DLL)

    毕设是做一个网络摄像头的相关应用.界面用WPF,图像处理部分是OpenCV.没用EmguCV的原因是国内EmguCV的资料相对比较少,EmguCV虽然提供了Winform的控件,在做UI上有一定优势, ...

  6. python自动化Traceback (most recent call last):报错

    今天使用python.然而遇见了Traceback (most recent call last):的报错.抓狂的一笔.有说path写错的,有说是...网上查到的资料也是很少.后来突然发现,页面上我暂 ...

  7. Linux下TFTP的安装,配置和操作

    注:转载他人,仅供自己研究学习使用 TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现.嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支 ...

  8. css display属性介绍

    none此元素不会被显示. block此元素将显示为块级元素,此元素前后会带有换行符. inline默认.此元素会被显示为内联元素,元素前后没有换行符. inline-block行内块元素.(CSS2 ...

  9. lr_save_var() 截取任意字符串长度,以参数形式输出(参数转变量)

    Action() { char * desc=(char *)malloc(10);  //定义指针变量,以变量形式存放截取到的参数值 // char * aa = "jadkshfkasd ...

  10. php 5.5 xhprof for windows

    今天看到一个好的性能优软件xhprof(有facebook开发的类库)在国内找了很多网站都没有找到相关php5.5的扩展,只好FQ还是外面的世界精彩一下就找到了link (http://windows ...