【0】写在最前

  由于准备实习原因,今天又重温了Lamp的搭建过程,之前一直是看燕十八老师2012年的教程学习,因此今天也是拿了十八哥的lamp搭建笔记作参考。但这次按照笔记重新搭建,发现了很多问题,由于该笔记已时隔多年,部分软件已经更新几代,网上也少有部分问题的解决方法,因此趁刚搭建好lamp环境,于此整理一下步骤。

【0.1】本人操作环境

  ubuntu 15.04

  软件存放路径 /root/lamp_need/

  安装路径 /usr/local/

【0.2】软件准备

  1. zlib-1.2.7.tar.gz   zlib压缩库
  2. httpd-2.2.29.tar.gz  apache
  3. mysql-5.5.40-linux2.6-i686.tar.gz mysql5.5 (选择Linux - Generic 2.? (x86, ??-bit), Compressed TAR Archive)
  4. libxml2-2.7.8.tar.gz
  5. libpng-1.4.3.tar.bz2
  6. freetype-2.3.5.tar.bz2
  7. jpegsrc.v7.tar.gz
  8. libgd-2.1.1.tar.bz2 GD库(选择2.1以上版本)
  9. php-5.6.8.tar.bz2 PHP

【0.2】基本解压命令

//tar.gz格式
tar -zxvf xxx
//tar.bz2格式
tar -jxvf xxx

【1】安装Mysql

 groupadd mysql
useradd -r -g mysql mysql
cd /usr/local
tar -zxvf /root/lamp_need/mysql-5.5.40-linux2.6-i686.tar.gz -C ./mysql5.5
ln -s /usr/local/mysql5.5 mysql
cd mysql
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql #如果提示error while loading shared libraries: libaio.so.1等错误
13 #是缺少了libaio 安装即可
#sudo apt-get install libaio-dev chown -R root .
chown -R mysql data
#可选
cp support-files/my-medium.cnf /etc/my.cnf
bin/mysqld_safe --user=mysql &
#可选
cp support-files/mysql.server /etc/init.d/mysql.server

【1.1】以下是手册中的说明:

如果想开机启动mysqld,可以复制support-files/mysql.server文件到你系统的正确位置(按照手册翻译,具体位置不清楚)

你可以用下面方法设置mysql密码:

./bin/mysqladmin -u root password 'new-password'

./bin/mysqladmin -u root -h ubuntu password 'new-password'

或者也可以运行:
./bin/mysql_secure_installation

你也可以删除测试数据库和匿名用户,作为产品服务时,强烈推荐此做法

使用下面命令启动mysql进程:
cd . ; ./bin/mysqld_safe &

可以使用下面命令测试mysql进程:
cd ./mysql-test ; perl mysql-test-run.pl

【1.2】测试登录mysql,修改登录密码

#登录mysql
./bin/mysql -uroot -p #显示数据库,当你看到此表,则mysql已经安装成功
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+ #用户名和登录密码都存储在mysql数据库中
#因此可以通过update直接修改登录密码 #切换数据库
mysql> use mysql; #展示所需的列
mysql> select Host,User,Password from user;
+-----------+------+-------------------------------------------+
| Host | User | Password |
+-----------+------+-------------------------------------------+
| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| ubuntu | root | |
| 127.0.0.1 | root | |
| ::1 | root | |
| localhost | | |
| ubuntu | | |
+-----------+------+-------------------------------------------+ #修改密码
mysql> update user set Password=password('') where Host='localhost' and User='root'; #刷新权限
mysql> flush privileges; #重新登录即可

至此Mysql 暂告一段落。

【2】安装apache

【2.1】编译安装 zlib压缩库

cd /root/lamp_need
tar -zxvf zlib-1.2.7.tar.gz
cd zlib-1.2.7
./configure #这个配置编译命令不要加目录参数
make && make install

【2.2】编译安装httpd2(apache)

cd /root/lamp_need
tar -zxvf httpd-2.2.29.tar.gz
cd httpd-2.2.29
./configure --prefix=/usr/local/httpd2 \
--enable-modules=all \
--enable-rewrite \
--enable-mods-shared=all \
--enable-so
make && make install

【2.3】启动apache

/usr/local/httpd2/bin/apachectl start

默认使用127.0.0.1

【2.4】测试apache

浏览器打开: http://虚拟机IP
看到 "it works!",即为成功

至此Apache暂告一段落

【3】安装图形库

【3.1】libxml2

cd /root/lamp_need
tar -zxvf libxml2-2.7.8.tar.gz
cd libxml2-2.7.8
./configure --prefix=/usr/local/libxml2
make && make install

【3.2】jpeg7

cd /root/lamp_need
tar -zxvf jpegsrc.v7.tar.gz
cd jpeg-
./configure --prefix=/usr/local/jpeg7/ --enable-shared --enable-static
make && make install

【3.3】libpng

cd /root/lamp_need
tar -jvxf libpng-1.4.3.tar.bz2
cd libpng-1.4.3
./configure #和zlib一样不要带参数,让它默认安装到相应目录
make && make install

【3.4】freetype

cd /root/lamp_need
tar -jvxf freetype-2.3..tar.bz2
cd freetype-2.3.
mkdir -p /usr/local/freetype
./configure --prefix=/usr/local/freetype
make && make install

上面几个基本都是一气呵成。

【3.5】编译安装GD库

cd /root/lamp_need
tar -jvxf libgd-2.1..tar.bz2
cd libgd-2.1.
mkdir -p /usr/local/gd
./configure --prefix=/usr/local/gd \
--with-jpeg=/usr/local/jpeg7/ \
--with-png --with-zlib \
--with-freetype=/usr/local/freetype
make && make install

至此,图形库基本安装完成。

【4】编译安装PHP

cd /root/lamp_need
tar -jxvf php-5.6..tar.bz2
cd php-5.6.
./configure --prefix=/usr/local/php5. \
--with-apxs2=/usr/local/httpd2/bin/apxs \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-freetype-dir=/usr/local/freetype \
--with-gd=/usr/local/gd \
--with-zlib --with-llsibxml-dir=/usr/local/libxml2 \
--with-jpeg-dir=/usr/local/jpeg7 \
--with-png-dir \
--enable-mbstring=all \
--enable-mbregex \
--enable-shared
make && make install

【4.1注】遇到问题了。在./configure没有提示错误警告的下 make install 中途提示:

ext/gd/.libs/gd.o: In function `zm_info_gd':
/root/phpneed/php-5.6.8/ext/gd/gd.c:1345: undefined reference to `XpmLibraryVersion'
collect2: error: ld returned 1 exit status
Makefile:255: recipe for target 'sapi/cli/php' failed
make: *** [sapi/cli/php] Error 1

【4.2】安装libXpm后再编译安装PHP

无奈,只能安装libXpm

apt-get install libXpm-dev

查找出libXpm的安装位置

shell>dpkg -L libxpm-dev
/.
/usr
/usr/lib
/usr/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu/pkgconfig
/usr/lib/i386-linux-gnu/pkgconfig/xpm.pc
/usr/lib/i386-linux-gnu/libXpm.a
/usr/include
/usr/include/X11
/usr/include/X11/xpm.h
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libxpm-dev
/usr/share/doc
/usr/share/doc/libxpm-dev #此处就是安装位置(以你的系统查找出的目录为准)
/usr/share/doc/libxpm-dev/copyright
/usr/share/doc/libxpm-dev/xpm.PS.gz
/usr/lib/i386-linux-gnu/libXpm.so
/usr/share/doc/libxpm-dev/changelog.Debian.gz

于是make clean,再重新configure

cd /root/lamp_need
tar -jxvf php-5.6..tar.bz2
cd php-5.6.
./configure --prefix=/usr/local/php5. \
--with-apxs2=/usr/local/httpd2/bin/apxs \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-freetype-dir=/usr/local/freetype \
--with-gd=/usr/local/gd \
--with-zlib --with-llsibxml-dir=/usr/local/libxml2 \
--with-jpeg-dir=/usr/local/jpeg7 \
--with-png-dir \
--enable-mbstring=all \
--enable-mbregex \
--enable-shared \
#------------加上下面这句----------------
--with-xpm-dir=/usr/share/doc/libxpm-dev
make && make install

OK,一顿饭时间,完成。

【4.3】复制php.ini到安装目录

#复制后缀为development的php.ini文件到php的etc目录
cp /root/lamp_need/php-5.6./php.ini-development /usr/local/php5./etc/php.ini
#有的教程说是放到lib目录,鉴于此,我都复制到这两个目录下
cp /root/lamp_need/php-5.6./php.ini-development /usr/local/php5./lib/php.ini

【4.4】检查PHP是否安装完成

cd /usr/local/php5.
./bin/php -v

正常显示:

PHP 5.6.8 (cli) (built: Mar 6 2016 04:53:35)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

如果正常显示php版本信息,则安装成功。

【5】配置Apache的httpd.conf使其支持PHP

vi /usr/local/httpd2/conf/httpd.conf

【5.1】在httpd.conf(Apache主配置文件)中增加:
   AddType application/x-httpd-php .php

【5.2】找到下面这段话:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

在index.html 前面添加index.php

【5.3】建立php测试网页
vi /usr/local/httpd2/htdocs/index.php
输入如下内容:
<?php
phpinfo();
?>

【5.4】重启apache
/usr/local/httpd2/bin/apachectl restart

【5.5】再次浏览器查看http://虚拟机IP
如果看到php信息,工作就完成了!

  

【Lamp】 Linux 下安装PHP+Apache+Mysql 手记的更多相关文章

  1. 在linux下安装并配置mysql数据库

    在linux下安装并配置mysql数据库 工具/原料   MySql5.6 CentOS 方法/步骤   1 查找以前是否安装有mysql,使用下面命令: rpm -qa|grep -i mysql ...

  2. MySQL入门——在Linux下安装和卸载MySQL

    MySQL入门——在Linux下安装和卸载MySQL 摘要:本文主要学习了如何在Linux系统中安装和卸载MySQL数据库. 查看有没有安装过MySQL 使用命令查看有没有安装过: [root@loc ...

  3. 在Linux下安装和使用MySQL

    [简 介] 想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的MySQL.本以为有Windows下使用SQL Server的经验,觉得在Linu ...

  4. Linux下安装以及使用MySQL数据库

    1.官网下载mysql数据库:https://dev.mysql.com/downloads/mysql/ 2.linux 下可直接下载:wget https://cdn.mysql.com//Dow ...

  5. Linux下安装及使用mysql

    (注:本人在centos7进行的安装及使用) 1.安装wget yum install wget 2.下载mysql安装包 wget http://repo.mysql.com/mysql57-com ...

  6. linux编译安装php apache mysql (已试过)

    阅读目录 (全部使用源码安装方式,先安装mysql,然后是apache,再是php,这样好像能防止挺多问题的,期间出现问题基本是依赖没有或者版本不对) 1.简介 2.安装apache 2.1.yum方 ...

  7. linux下安装和卸载mysql

      卸载: 1 . rpm -qa | grep -i mysql命令查看已经安装过的组件.   2. 使用yum -y remove命令卸载已经安装的MySQL组件,使用下面的命令,对于上面已经安装 ...

  8. linux下安装nginx+php+mysql环境 详细教程

    话不多说上代码 linux环境:centos 7.0 64位 nginx:nginx-1.8.0.tar.gz php: php-7.1.1.tar.gz mysql: mysql-5.6.21.ta ...

  9. Linux下安装配置Apache+PHP+MariaDB

    一.安装apache 1.下载并安装apache yum install httpd 2.启动apache systemctl start httpd.service 3.停止apache syste ...

随机推荐

  1. Android js相互调用

    一.webview相当于android中的浏览器,基于webkit开发,可以浏览网页文件,支持css javas cript 以及html webview.getSettings().setJavaS ...

  2. C#操作XML文档---基础

    增查改删代码如下 public void CreateXML() { XmlDocument xml = new XmlDocument(); xml.AppendChild(xml.CreateXm ...

  3. ckedit 文本编辑器

    Ckeditor是一个功能非常强大的富文本编辑器,博客园有使用此编辑器,其功能完全可以与MS的Word媲美. 用起来也非常方便.下面是本人总结的安装步骤: 第一步,从http://ckeditor.c ...

  4. CAS单点登录配置

    见http://download.csdn.net/detail/u010786672/6942715下载.

  5. android中versionCode&versionName

    原文来自:http://blog.csdn.net/wh_19910525/article/details/8660416 ,略有修改 一.概述 Android的版本可以在androidmainfes ...

  6. [LintCode] Coins in a Line II 一条线上的硬币之二

    There are n coins with different value in a line. Two players take turns to take one or two coins fr ...

  7. [LintCode] Move Zeroes 移动零

    Given an array nums, write a function to move all 0's to the end of it while maintaining the relativ ...

  8. php链接mysql数据库

    php连接数据库有三种方法,刚刚发现通过mysql_connect,mysql_query连接已被废弃,而现在推荐的是通过“面向对象方法”和“PDO方法”连接数据库. 而我在使用面向对象的方法连接时, ...

  9. MVC VS2012 Code First 数据库迁移教程

    1.在“服务资源管理器”连接数据库 2.打开工具-Nuget程序包管理器“程序包管理器控制台” 3.控制台输入命令:PM> Enable-Migrations -StartUpProjectNa ...

  10. acm常见算法及例题

    转自:http://blog.csdn.net/hengjie2009/article/details/7540135 acm常见算法及例题  初期:一.基本算法:     (1)枚举. (poj17 ...