LAMP环境配置安装注意安装步骤及说明事项。

Linux + apache+mysql+php

附件:

1. 访问ftp报错

解决:

关闭selinux

vi  /etc/selinux/config

内容修改为:   selinux=disable

之后重启reboot。

下图分别为selinux关闭前 和 关闭后:

2. 依赖软件查询

http://rpmfind.net

一.安装gcc

gcc

cloog-ppl

ppl(libppl.so.7/libppl_c.so.2)

cpp

mpfr(libmpfr.so.1)

gcc-c++

libstdc++-devel

mpfr-2.4.1-6.el6.i686.rpm和ppl-0.10.2-11.el6.i686.rpm

快捷键rz  sz:

rz、sz命令没找到?

安装lrzsz即可:

shell># yum -y install lrzsz

二.安装zlib压缩库

shell>## cd /home/jinnan/tar

shell># tar –zxvf zlib-1.2.5.tar.gz

shell># cd zlib-1.2.5

shell># ./configure //这个配置编译命令不要加目录参数

shell>#make && make install

三.安装apache

shell># cd /home/jinnan/tar

shell># tar -jxvf httpd-2.2.19.tar.bz2

shell># cd httpd-2.2.19

shell>#./configure --prefix=/usr/local/http2  \

--enable-modules=all \

--enable-mods-shared=all \

--enable-so

shell># make && make install

启动Apache

shell># /usr/local/http2/bin/apachectl start/stop/restart

#测试apache

浏览器打开: http://虚拟机IP

看到 "it works!",即为成功

配置虚拟主机

1)配置host文件

打开C:/windows/system32/drivers/etc/hosts 文件

增加域名记录

如:

192.168.9.38       www.ec1.com

192.168.9.38       www.ec2.com

2) 增加虚拟主机

vi /usr/local/http2/conf/httpd.conf

取消#  Include conf/extra/httpd-vhosts.conf

这一行前面的#号

保存退出

vi /usr/local/http2/conf/extra/httpd-vhosts.conf

增加虚拟主机记录

<VirtualHost *:80>

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot "/usr/local/http2/htdocs/ec1"

ServerName www.ec1.com

ServerAlias www.dummy-host.example.com

ErrorLog "logs/dummy-host.example.com-error_log"

CustomLog "logs/dummy-host.example.com-access_log" common

</VirtualHost>

<VirtualHost *:80>

ServerAdmin webmaster@dummy-host2.example.com

DocumentRoot "/usr/local/http2/htdocs/ec2"

ServerName www.ec2.com

ErrorLog "logs/dummy-host2.example.com-error_log"

CustomLog "logs/dummy-host2.example.com-access_log" common

</VirtualHost>

<VirtualHost *:80>

DocumentRoot "/var/www/shop"

ServerName www.ec1.com

</VirtualHost>

注意:/var/www/shop  以上三个目录var  www  shop 的其他用户必须有x可执行权限

3)

shell># cd /usr/local/http2/htdocs

shell># mkdir ec1 ec2

shell># echo this is ec1.com > ec1/index.html

shell># echo this is ec2.com > ec2/index.html

4)重启apache

/usr/local/http2/bin/apachectl restart

5)浏览器打开www.ec1.com,和www.ec2.com

看到不同的网站内容,虚拟主机创建完毕!

安装图形库,为编译PHP做准备

libxml2-2.7.2.tar.gz

jpegsrc.v8b.tar.gz

libpng-1.4.3.tar.gz

freetype-2.4.1.tar.gz

gd-2.0.35.tar.gz

四.安装libxml2

shell># cd /home/jinnan/tar

shell># tar zxvf libxml2-2.7.2.tar.gz

shell># cd libxml2-2.7.2

shell>#./configure --prefix=/usr/local/libxml2  \

--without-zlib

shell># make && make install

五.安装jpeg8

shell># cd /home/jinnan/tar

shell># tar -zxvf jpegsrc.v8b.tar.gz

shell># cd jpeg-8b

shell>#./configure --prefix=/usr/local/jpeg \

--enable-shared --enable-static

shell># make && make install

--enable-shared  把jpeg需要的函数库程序都编译到该软件里边

优点:函数调用速度快

缺点:软件本身比较大

--enable-static   静态方式函数处理,需要什么函数,马上include来

优点:软件本身比较小

缺点:函数调用速度慢

六.安装libpng

shell># cd /home/jinnan/tar

shell># tar zxvf libpng-1.4.3.tar.gz

shell># cd libpng-1.4.3

shell>#./configure  #和zlib一样不要带参数,让它默认安装到相应目录

shell># make && make install

七.安装freetype(字体库)

shell># cd /home/jinnan/tar

shell># tar zxvf freetype-2.4.1.tar.gz

shell># cd freetype-2.4.1

shell>#./configure --prefix=/usr/local/freetype

shell># make && make install

八.安装GD库

shell># cd /home/jinnan/tar

shell># tar -zvxf gd-2.0.35.tar.gz

shell># mkdir -p /usr/local/gd

shell># cd gd-2.0.35

shell>#./configure --prefix=/usr/local/gd  \

--with-jpeg=/usr/local/jpeg/    \

--with-png --with-zlib \

--with-freetype=/usr/local/freetype

shell># make && make install

九.安装 php5

shell># cd /home/jinnan/tar

shell># tar -jxvf php-5.3.6.tar.bz2

shell># cd php-5.3.6

shell>#./configure --prefix=/usr/local/php \

--with-apxs2=/usr/local/http2/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-libxml-dir=/usr/local/libxml2 \

--with-jpeg-dir=/usr/local/jpeg \

--with-png-dir \

--enable-mbstring=all \

--enable-mbregex \

--enable-shared

shell># make && make install

复制php.ini配置文件到指定目录

shell># cp php.ini-development /usr/local/php/lib/php.ini

配置Apache使其支持php

vi /usr/local/http2/conf/httpd.conf

1)        在httpd.conf(Apache主配置文件)中增加:

AddType application/x-httpd-php .php

2)        找到下面这段话:

<IfModule dir_module>

DirectoryIndex index.php

DirectoryIndex index.html

</IfModule>

在index.html 前面添加index.php

3)        建立php测试网页

vi /usr/local/apache2/htdocs/index.php

输入如下内容:

<?php

phpinfo();

?>

4)        重启apache

shell># /usr/local/http2/bin/apachectl restart

5)        再次浏览器查看http://虚拟机IP

如果看到php信息,工作就完成了!

十.安装MySQL

1.安装cmake(更先进的configure)

shell># cd /home/jinnan/tar

shell># tar zxvf cmake-2.8.5.tar.gz

shell># cd cmake-2.8.5

shell># ./bootstrap

shell># make && make install

2.编译安装MySQL

shell># cd /home/jinnan/tar

shell># tar zxvf mysql-5.5.17.tar.gz

shell># cd mysql-5.5.17

shell># cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

(准备安装到那里

数据存储目录

默认的字符集

校对字符集)

(报错就安装ncurses-devel)

shell># mount .....挂载光盘/

shell># rpm -ivh
ncurses-devel-5.7-3.20090208.el6.i686.rpm

shell># rm -f CMakeCache.txt    //删除该文件

shell># cmake 。。。 。。。            //重新cmake

shell># make && make
install

shell># cp
support-files/my-medium.cnf /etc/my.cnf

3.配置并初始化MySQL

shell># useradd  mysql   (该mysql用户会存在于同名的组下)

shell># chmod +x /usr/local/mysql

(数据库用户信息不小心删除光了,删除data目录,从此开始执行以下指令,直至结束)

shell># chown -R mysql.mysql
/usr/local/mysql

初始化mysql数据库

shell># /usr/local/mysql/scripts/mysql_install_db
\

--user=mysql
\

--basedir=/usr/local/mysql
\

--datadir=/usr/local/mysql/data
&

把mysql安装文件(除了data)的主人都改为root,避免数据库恢复为出厂设置。

shell># chown -R root /usr/local/mysql

shell># chown -R mysql /usr/local/mysql/data

& 后台运行mysql服务

shell>#
/usr/local/mysql/bin/mysqld_safe --user=mysql &

//查看mysql是否有启动

shell>#
ps –A | grep mysql

测试数据库

shell># /usr/local/mysql/bin/mysql –u root

mysql> show databases;

接上步,修改mysql密码(可不做此步,默认无密码)

mysql> UPDATE user SET Password=password('123456')
WHERE user='root';

mysql> flush
privileges;

4.配置开机自启动服务项

shell># cp 安装包解压目录/support-files/mysql.server
/etc/init.d/mysqld

shell># chmod +x /etc/init.d/mysqld

shell># chkconfig --add mysqld

shell># chkconfig mysqld on    //设置开机自启动

配置文件路径:

shell># vi /etc/rc.d/rc.local

在  文件中增加启动相关服务的命令如下:

/usr/local/http2/bin/apachectl
start

/usr/local/mysql/bin/mysqld_safe
--user=mysql &

service
vsftpd start

重新安装apache启动失败

[root@localhost
httpd-2.2.19]# /usr/local/http2/bin/apachectl
restart

httpd not running,
trying to start

(98)Address already in
use: make_sock: could not bind to address [::]:80

(98)Address already in
use: make_sock: could not bind to address 0.0.0.0:80

no listening sockets
available, shutting down

Unable to open logs

原因是80端口被占用

解决:

查看80端口使用情况

[root@localhost
httpd-2.2.19]# netstat -lnp|grep 80

tcp        0     
0 :::80                      
:::*                        LISTEN      28195/httpd

unix  2     
[ ACC ]     STREAM     LISTENING     6580  
1957/gpm            /dev/gpmctl

unix  2      [ ACC ]    
STREAM     LISTENING     5422  
1800/pcscd         
/var/run/pcscd.comm

查看80的使用者是谁端口

[root@localhost httpd-2.2.19]# ps 28195

PID
TTY      STAT   TIME COMMAND

28195 ?        Ss    
0:00 /usr/local/http2/bin/httpd -k restart

经过分析知道了80端口被系统的一个进程占用,这个进程是旧的apache服务

将这个进程杀之

[root@localhost
httpd-2.2.19]# kill -9 28195

[root@localhost
httpd-2.2.19]#

十一.卸载操作系统自带apache

  1. 删除默认apache进程
  • ps –A | grep  http
  • 杀死apache对应进程

killall  httpd  杀死全部的httpd进程

  1. 把默认apache服务给删除
  1. 启动自己的apache

LAMP安装教程的更多相关文章

  1. Lamp 安装教程

    Ubuntu 14.04 麒麟版安装:Apache+php5+mysql+phpmyadmin. LAMP是Linux web服务器组合套装的缩写,分别是Linux+Apache+MySQL+PHP. ...

  2. Lamp环境的详细安装教程

    原文:Lamp环境的详细安装教程 架构LAMP环境 1.布置LAMP环境之前的准备工作 在架构LAMP环境时,确保你的Linux系统已经安装了make.gcc.gcc-c++(使用rpm -q xxx ...

  3. HHvm建站环境搭建方法:Nginx,Mariadb,hhvm及lnmp/lamp安装部署

    HHVM起源于Facebook公司,是一个开源的PHP虚拟机,使用JIT的编译方式以及其他技术,让PHP代码的执行性能大幅提升.HHVM提升PHP性能的途径,采用的方式就是替代Zend引擎来生成和执行 ...

  4. 宝塔Linux面板安装教程

    宝塔Linux面板安装教程 安装要求: 内存:512M以上,推荐768M以上(纯面板约占系统60M内存) 硬盘:300M以上可用硬盘空间(纯面板约占20M磁盘空间) 系统:CentOS 7.1+ (U ...

  5. Linux+apache+mono+asp.net安装教程

    Linux+apache+mono+asp.net安装教程(CentOS上测试的) 一.准备工作: 1.安装linux系统(CentOS,这个就不多讲了) 2.下载所需软件 http-2.4.4.ta ...

  6. Greenplum 源码安装教程 —— 以 CentOS 平台为例

    Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...

  7. git 安装教程

    昆,简单说下安装教程1,安装Git2,安装TortoiseGit3,打开第一步安装的git工具GIT BASH

  8. Docker和Docker-compose安装教程以及docker-elk,docker-storm安装教程

    此安装教程仅供我自己安装配置时查看,其他的人不可以偷看!!! 安装Docker 1. Update package information, ensure that APT works with th ...

  9. RHEL 6.3 详细安装教程

    以前刚接触linux时,什么都不懂,为了学习,在电脑上安装双系统(原系统为Win7),吃过不少苦头,在网上搜教程,很多都是语焉不详,导致安装过程中战战兢兢.最近朋友面试运维,面试官有考他对linux安 ...

随机推荐

  1. linux命令总结----转载

    1.终端是个奇妙的东西,一开始它的低颜值,高难度可能会令我们灰心气馁. 但是入门之后,你会发现终端命令行是如此强大,简直飞一般的感觉.就是这个feel,倍儿爽~ 享受“弹指间,一切尽在掌握”的感觉. ...

  2. Python开发【初始篇】:Linux下安装Python3

    Linux系统默认自带python2.6的版本,这个版本被系统很多程序所依赖,所以建议不要轻易删除,除非你能解决其他程序的依赖问题.如果使用最新的Python3需要进行编译安装源码包,这样就对系统默认 ...

  3. flutter Dialog里ListView的问题

    showDialog( context: context, builder: (ctx) { return // Dialog( // child: Container( // padding: Ed ...

  4. leetcode26: 删除排序数组中的重复项

    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例 1 ...

  5. 用SAX解析xml文件,java

    (此文为(https://www.imooc.com/video/4482)之随笔) 1.用SAX解析xml文件大致分为三步 写了一个XML文件作为例子 (1)main方法代码如下: import j ...

  6. GUI学习之十——QFrame和的QAbstractScrollArea学习总结

    上一章我们学习了单行的文本框QLineEdit类,下面我们要为多行的文本框的学习坐下准备,总结一下QFrame类和QAbstractScrollArea类 一.QFrame类 1.描述 QFrame的 ...

  7. SDK更新

    虽然国内google被墙了,但仍可利用国内的某些镜像网站实现Android SDK在线更新,使用方法如下: 1.启动 Android SDK Manager ,打开主界面,依次选择『Tools』.『O ...

  8. mysql too many connection 解决

    最近的项目用了动态切换数据源起初感觉还好,后来发现每次切换数据库都会创建一个新的连接,这样就导致大量的sleep线程.而mysql的默认sleep时间是28800秒....默认最大连接数为151,这就 ...

  9. java之路 把1到100之间的数的偶数相加

    /** *把1到100之间的数的偶数相加 */ class Demo{ public static void main(String[] args){ int i =1; int sum = 0; d ...

  10. 别人的Linux私房菜(17)进程管理与SELinux初探

    程序在磁盘中,通过用户的执行触发.触发事件时,加载到内存,系统将它定义成进程,给予进程PID,根据触发的用户和属性,给予PID合适的权限. PID和登陆者的UID/GID有关.父进程衍生出来的进程为子 ...