lamp(Web应用软件)


Linux +Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案.


Linux

Linux 是免费开源软件,这意味着源代码可用的操作系统。

Apache

Apache 是使用中最受欢迎的一个开放源码的WEB服务器软件。

MySQL

MySQL 是多线程、多用户的SQL数据库管理系统。

MySQL 已由Oracle公司自 2010 年 1 月 27 日通过SUN购买。SUN 最初于 2008 年 2 月 26 日收购 MySQL。

PHP,Perl 或 Python

PHP 是一种编程语言最初设计生产动态网站。PHP 是主要用于服务器端的应用程序软件。Perl 和 Python 类似。





环境:centos 6.5   32位

          阿里云主机  

          mysql:5.1版本

      Apache:2.2版本

      php:5.4.45版本

           

      安装:1.mysql的安装

                2.mysql的安装

                3.php的安装

                4.GD库的安装

                5.搭建discuz论坛


mysql安装




1.进入到cd /usr/local/src/目录下



2.用wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz 下载安装包


3.解压安装 tar zxvf mysql-5.1.73-linux-i686-glibc23.tar.gz



4.创建mysql的账户

useradd -s /sbin/nologin -M mysql

-s:shell 

-M:不建立使用者目录



5.把解压后的文件移到并重命名/usr/local/mysql目录下

mv mysql-5.1.73-linux-i686-glibc23 /usr/local/mysql


6.进入到/usr/local/mysql下


cd /usr/local/mysql



7.创建一个存放数据库的文件夹并更改用户权限


mkdir -p /data/mysql


chown -R mysql /data/mysql



8.初始化数据库

进入数据库的目录


--user 创建的用户

--datadir 存放数据库的路径


cd /usr/local/mysql

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql


图文详解阿里云下lamp+discuz搭建实例_第1张图片


注:如何查看初始化有没有完成,只要出现2个ok就表示成功了

或者echo $?结果为0即表示成功



9.把不同的文件放到不同的目录下,先进入配置文件里

cd support-files/



10.拷贝my-large.cnf文件到/etc/my.cnf下


cp my-large.cnf /etc/my.cnf 按y



vi /etc/my.cnf 可以查看端口信息




11.拷贝mysql.server文件到/etc/init.d/mysqld目录下

cp mysql.server /etc/init.d/mysqld


 chmod 755 /etc/init.d/mysqld


vim !$可以打开刚拷贝的文件

修改basedir=/usr/local/mysql   ---mysql所在的位置

       datedir=/data/mysql  ----数据库所在的位置



12.把mysqld加入到系统启动中

chkconfig --add mysqld

把mysqld打开

chkconfig mysqld on

启动mysqld

/etc/init.d/mysqld start



13.查看mysqld的启动状态

ps aux |grep mysqld



查看port

netstat -lnpe |grep mysqld






apache安装




1.进入到/usr/local/src文件下


cd /usr/local/src



2.下载apache安装包


wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.31.tar.gz


图文详解阿里云下lamp+discuz搭建实例_第2张图片


3.解压Apache压缩包


tar zxvf httpd-2.2.31.tar.gz


4.进入Apache目录


cd httpd-2.2.31

图文详解阿里云下lamp+discuz搭建实例_第3张图片


5.配置apache参数


如果不知道如何编译先查看


vim install



安装依赖包


yum install -y pcre pcre-devel apr apr-devel zlib-devel  gcc openssl-devel openssl  gcc-c++ 


编译安装


./configure --prefix=/usr/local/apache2 --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --with-pcre


wKioL1hT_9vDbM_zAAAWPEJl93w536.png-wh_50


prefix=/usr/local/apache2 \  #----指安装路径


with-included-apr \ #---Apache依赖的包,可以跨平台使用





6.make 

 make install 继续安装

用echo $?检查有没有错误输出为0即正确


图文详解阿里云下lamp+discuz搭建实例_第4张图片


7.启动apache


/usr/local/apache2/bin/apachectl start


出现以下错误的解决办法


wKiom1hUAB3gBtLlAAAUd0TZDKQ918.png-wh_50



打开 配置文件


vi /usr/local/apache2/conf/httpd.conf


添加一行

ServerName localhost:80


图文详解阿里云下lamp+discuz搭建实例_第5张图片





检测apache是否开启

ps aux |grep httpd


wKiom1hUAOejG9gIAABOygEHJkc220.png-wh_50


查看hhtpd端口


netstat -lnpe 


图文详解阿里云下lamp+discuz搭建实例_第6张图片



8.常用选项

-M:把模块列出来 (绿色的为动态模块,shared表示共享的,static静态)


/usr/local/apache2/bin/apachectl -M


图文详解阿里云下lamp+discuz搭建实例_第7张图片


-l:把静态的模块给列出来


/usr/local/apache2/bin/apachectl -l


图文详解阿里云下lamp+discuz搭建实例_第8张图片


-t:查看配置文件有没有语法错误


/usr/local/apache2/bin/apachectl -t


wKioL1hUASDD85L5AAALDkKnxBA559.png-wh_50


重启

/usr/local/apache2/bin/apachectl  restart


stop:关闭


/usr/local/apache2/bin/apachectl  stop


graceful:重加载


/usr/local/apache2/bin/apachectl  graceful


工作模式:./configure --help |less

/--with-mpm可以指定工作模式







Php安装





1.先进入/usr/local/src目录


cd /usr/local/src


2.下载php文件包


wget http://cn2.php.net/get/php-5.4.45.tar.bz2/from/this/mirror


图文详解阿里云下lamp+discuz搭建实例_第9张图片



3.解压mirror文件


tar jxf mirror


4.进入php-5.4.45下


cd php-5.4.45


图文详解阿里云下lamp+discuz搭建实例_第10张图片


5.安装php环境


安装依赖包 yum    install -y libxml2* bzip2-devel bzip2 libjpeg-devel libpng libpng-devel freetype-devel


图文详解阿里云下lamp+discuz搭建实例_第11张图片



6.编译安装


./configure   --prefix=/usr/local/php   --with-apxs2=/usr/local/apache2/bin/apxs   --with-config-file-path=/usr/local/php/etc   --with-mysql=/usr/local/mysql   --with-libxml-dir --with-mysqli --with-gd   --with-jpeg-dir   --with-png-dir   --with-freetype-dir   --with-iconv-dir   --with-zlib-dir   --with-bz2   --with-openssl   --with-mcrypt=/usr/local/libmcrypt   --enable-soap   --enable-gd-native-ttf   --enable-mbstring   --enable-sockets   --enable-exif   --disable-ipv6 


wKioL1hUAX2zwm4rAABT-1iMwco656.png-wh_50





注: configure: error: mcrypt.h not found. Please reinstall libmcrypt

解决方法:

rpm -ivh 'http://www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_32.noarch.rpm' 如果无法解压http需手动输入



查看 yum list |grep -i mcrypt


安装 yum install -y libmcrypt-devel


重新安装php环境  


./configure   --prefix=/usr/local/php   --with-apxs2=/usr/local/apache2/bin/apxs   --with-config-file-path=/usr/local/php/etc   --with-mysql=/usr/local/mysql   --with-libxml-dir --with-mysqli --with-gd   --with-jpeg-dir   --with-png-dir   --with-freetype-dir   --with-iconv-dir   --with-zlib-dir   --with-bz2   --with-openssl   --with-mcrypt=/usr/local/libmcrypt   --enable-soap   --enable-gd-native-ttf   --enable-mbstring   --enable-sockets   --enable-exif   --disable-ipv6


图文详解阿里云下lamp+discuz搭建实例_第12张图片


6.make安装php

出现 Don't forget to run 'make test'用echo $?验证


图文详解阿里云下lamp+discuz搭建实例_第13张图片


7.make install安装



ls /usr/local/php/查看有几个文件


bin etc include lib php


wKioL1hUAg-jJWKKAAAKKDIkfvM081.png-wh_50


安装顺序:先安装mysql 再安装Apache 最后安装php




GD库的安装





安装用到的源码:gd-2.1.0.    freetype-2.1.10   libpng-1.2.8  jpegsrc.v9a zlib-1.28


进入 cd /usr/local/src 目录 把×××到此目录下


wget https://bitbucket.org/libgd/gd-libgd/downloads/libgd-2.1.0.tar.gz GD库安装包

wget http://zlib.net/zlib-1.2.8.tar.gz

wget http://nchc.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.8-config.tar.gz libpng(gd库需要)

wget http://prdownloads.sourceforge.net/freetype/freetype-2.1.10.tar.gz?download  freetype(gd库需要)

wget http://www.ijg.org/files/jpegsrc.v9a.tar.gz  jpegsrc(gd库需要)





安装zlib


1.解压文件


tar  -zxvf zlib-1.2.8.tar.gz


2.进入目录


cd zlib-1.2.8



3.执行编译安装


./configure 


图文详解阿里云下lamp+discuz搭建实例_第14张图片


4.make 


make install


图文详解阿里云下lamp+discuz搭建实例_第15张图片






安裝 freetype


cd ../进入下载文件的目录


1.解压文件


tar -zxvf tar -zxvf freetype-2.1.10.tar.gz\?download


2.进入目录


cd freetype-2.1.10



3.执行编译安装


./configure  --prefix=/usr/local/freetype



4.make


make install


图文详解阿里云下lamp+discuz搭建实例_第16张图片








安装  libpng


cd ../进入下载文件的目录


1.解压文件


tar -zxvf libpng-1.2.8-config.tar.gz


2.进入目录


cd libpng-1.2.8-config



3.执行编译安装


./configure 


图文详解阿里云下lamp+discuz搭建实例_第17张图片


4.make


make install


图文详解阿里云下lamp+discuz搭建实例_第18张图片





安装   jpegsrc


cd ../进入下载文件的目录


1.解压文件


tar -zxvf jpegsrc.v9a.tar.gz


2.进入目录


cd cd jpeg-9a


3.执行编译安装


./configure -prefix=/usr/local/jpeg --enable-shared --enable-static


图文详解阿里云下lamp+discuz搭建实例_第19张图片


4.make


make install









安装   gd库


cd ../进入下载文件的目录


1.解压文件


tar -zxvf libgd-2.1.0.tar.gz


2.进入目录


cd libgd-2.1.0


3.执行编译安装


./configure -prefix=/usr/local/gd -with-jpeg=/usr/local/jpeg -with-png -with-zlib -with-freetype=/usr/local/freetype


图文详解阿里云下lamp+discuz搭建实例_第20张图片


4.make


make install


图文详解阿里云下lamp+discuz搭建实例_第21张图片




5.返回上一层,进入php目录重新编译安装



cd ../


cd php-5.4.45/


重新安装php环境  


./configure   --prefix=/usr/local/php   --with-apxs2=/usr/local/apache2/bin/apxs   --with-config-file-path=/usr/local/php/etc   --with-mysql=/usr/local/mysql   --with-libxml-dir  --with-mysqli  --with-gd  --with-jpeg-dir=/usr/local/jpeg  --with-png-dir   --with-freetype-dir=/usr/local/freetype  --with-iconv-dir   --with-zlib-dir   --with-bz2   --with-openssl   --with-mcrypt=/usr/local/libmcrypt   --enable-soap   --enable-gd-native-ttf   --enable-mbstring   --enable-sockets   --enable-exif   --disable-ipv6 



6.make


make install


图文详解阿里云下lamp+discuz搭建实例_第22张图片



/usr/local/php/bin/php -m 查看是否安装了gd库


图文详解阿里云下lamp+discuz搭建实例_第23张图片



7.在浏览器里输入ip/1.php显示不出结果怎么办


打开配置文件 vim /usr/local/apache2/conf/httpd.conf


 在AddType application/x-gzip .gz .tgz 下面增加一行


    AddType application/x-httpd-php .php


wKiom1hUA2SB7KlQAAAa0-NIkN0411.png-wh_50


/输入index.html  后面添加一个index.php


图文详解阿里云下lamp+discuz搭建实例_第24张图片


修改好后重启Apache

/usr/local/apache2/bin/apachectl restart




安装discuz






1.新建一个存放网站路径的文件夹


mkdir /data/www


2.进入www盘然后下载安装文件


cd /data/www


下载版本为gbk版本


wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip


3.解压zip文件


unzip Discuz_X3.2_SC_GBK.zip


3.把upload下的所有文件移到根目录下


mv upload/* ./


图文详解阿里云下lamp+discuz搭建实例_第25张图片



4.把多余的文件给删除


rm -rf readme/ utility/  upload/ Discuz_X3.2_SC_GBK.zip 


wKiom1hUA-jR5t-sAAArrp1zaqI269.png-wh_50



5.配置主配置文件


vi /usr/local/apache2/conf/httpd.conf


打开一个配置,搜索vhost,把这个配置给开启,保存退出


wKiom1hUA_vztTCAAAAgSu-LYKc420.png-wh_50



继续编辑虚拟主机配置文件,把第二个配置文件给删除,修改第一个配置文件内容


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


图文详解阿里云下lamp+discuz搭建实例_第26张图片


vi /usr/local/apache2/conf/httpd.conf修改



6.配置完成后检查是否有错误


/usr/local/apache2/bin/apachectl -t


出现以下错误解决办法


打开vi /usr/local/apache2/conf/httpd.conf 配置文件 把servername这行开启即可


7.访问前先配置hosts


在windows下hosts下面配置 自己的域名


C:\Windows\System32\drivers\etc




在浏览器输入www.audient925.com出现错误怎么办


8.打开主配置文件,修改参数


vi /usr/local/apache2/conf/httpd.conf


图文详解阿里云下lamp+discuz搭建实例_第27张图片



修改完后检查下是否有错误


/usr/local/apache2/bin/apachectl -t


把服务重新启动


/usr/local/apache2/bin/apachectl restart


9.刷新浏览器,发现出现安装界面




点同意发现有很多选项打X,不可写,如何解决




查看httpd是由哪个用户在运行,发现是daemon用户运行的


ps aux |grep http


图文详解阿里云下lamp+discuz搭建实例_第28张图片



把config(配置文件的属组修改成daemon组即可)


chown -R daemon config uc_client/data uc_server/data data


wKiom1hUBYHhMadtAAALf-n-ln8866.png-wh_50



刷新页面,页面都变成可写,点下一步,点全新安装,出现关于mysql的页面


图文详解阿里云下lamp+discuz搭建实例_第29张图片



配置mysql相关的文件



如何想要直接使用mysql,需要写一个变量


vi /etc/profile.d/path.sh  


输入

#!/bin/bash

export PATH=$PATH:/usr/local/mysql/bin

 

  图文详解阿里云下lamp+discuz搭建实例_第30张图片     

   



source !$


wKioL1hUBf-D6xq7AAAKscvfRk4794.png-wh_50


2.输入mysql,可以正常进入


create database discuz;


图文详解阿里云下lamp+discuz搭建实例_第31张图片


3.创建用户和密码


grant all on discuz.* to 'lizheng'@'localhost' identified by 'lizheng123';


wKioL1hUBkCBRdM-AAAP9MyaSAo212.png-wh_50


网页上操作


图文详解阿里云下lamp+discuz搭建实例_第32张图片


4.输入信息


管理员 密码xxxx


mysql:错误


1.出现以下错误的解决办法


wKiom1hUBoHymeTMAAAZe5G-XyE335.png-wh_50


刷新数据库后重新创建用户和密码


flush privileges;


grant all on discuz.* to 'lizheng'@'localhost' identified by 'lizheng123';


wKioL1hUBoiS6ScdAAAaPfo1bgc801.png-wh_50




2.输入mysql,出现下面的错误解决方法


wKioL1hUBu3wppvpAAAR4ir7ByQ592.png-wh_50


打开 配置文件


vi /etc/my.cnf


找到mysql文件添加一行


skip-grant-tables


图文详解阿里云下lamp+discuz搭建实例_第33张图片



3.重新启动mysql


 /etc/rc.d/init.d/mysqld restart






域名解析


登录阿里云


打开申请的域名点解析,添加几个记录


wKioL1hUBxejFhHPAAB98N_VYSM463.png-wh_50


出现以下错误,是yum在自动更新,解决办法


直接输入  rm -f    /var/run/yum.pid