基于编译安装LAMP架构---模块化

一、程序包和安装环境准备

1、程序版本:

apr-1.5.0.tar.bz2
apr-util-1.5.3.tar.bz2
httpd-2.4.10.tar.bz2
mariadb-5.5.43-linux-x86_64.tar.gz
php-5.6.4.tar.xz
phpMyAdmin-4.0.5-all-languages.zip
Discuz_X3.2_SC_GBK.zip

2、准备安装开发环境

yum groupinstall  "Server Platform Development"  "Development tools" -y
yum install pcre-devel -y
yum install bzip2-devel libmcrypt-devel -y
yum install libxml2-devel -y

二、安装LAMP架构程序

在一台主机进行安装LAMP架构,分别提供BBS论坛业务和通过浏览器来管理MySQL数据库。

1、安装httpd程序

1)安装httpd程序依赖apr程序包

tar xf apr-1.5.0.tar.bz2
cd apr-1.5.0
./configure --prefix=/usr/local/apr
make && make install

2)安装httpd程序依赖apr-util程序包

tar xf apr-util-1.5.3.tar.bz2
 cdapr-util-1.5.3
 ./configure --prefix=/usr/local/apr-util--with-apr=/usr/local/apr/
 make&& make install

3)安装http程序包

[[email protected] httpd-2.4.10]# ./configure--prefix=/usr/local/apache-2.4.10 --sysconfdir=/etc/apache24--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-so--enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre--enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
[[email protected] httpd-2.4.10]# make &&make install

4)创建apahce软链接

[[email protected] ~]# ln -s /usr/local/apache-2.4.10//usr/local/apache
[[email protected] ~]# ll /usr/local/apache
lrwxrwxrwx 1 root root 25 May  3 11:27 /usr/local/apache ->/usr/local/apache-2.4.10/

5)提供服务脚本/etc/rc.d/init.d/httpd

修改httpd的配置文件中指定pid文件存放路径
         PidFile"/var/run/httpd.pid"
服务脚本通过复制系统原有的httpd服务脚本,在此基础上进行简单的修改,修改的内容如下:
[[email protected] ~]# cp/etc/rc.d/init.d/httpd /etc/rc.d/init.d/httpd24
         apachectl=/usr/local/apache/bin/apachectl
         httpd=${HTTPD-/usr/local/apache/bin/httpd}
添加到开机自启动服务中:
[[email protected] ~]# chkconfig --add httpd24
[[email protected] ~]# chkconfig httpd24 on

6)设置httpd环境变量

[[email protected] httpd-2.4.10]# vim/etc/profile.d/httpd.sh
         PATH=/usr/local/apache/bin/:$PATH
[[email protected] httpd-2.4.10]# ./etc/profile.d/httpd.sh

 

2、安装通用二进制MariaDB

1)创建MariaDB运行的用户

[[email protected] ~]# groupadd -r mysql
[[email protected] ~]# useradd -r -g mysql mysql

2)创建数据库存放目录并设置属主、属组

[[email protected] ~]# mkdir /data/mysql -p
[[email protected] ~]# chown -R  mysql.mysql /data/mysql/

3)解压MariaDB程序包到/usr/local目录下

[[email protected] tools]# tar xfmariadb-5.5.43-linux-x86_64.tar.gz -C /usr/local/

4)创建软链接

[[email protected] tools]# cd /usr/local/
[[email protected] local]# ln -smariadb-5.5.43-linux-x86_64/ mysql

5)初始化数据库

[[email protected] local]# cd mysql
[[email protected] mysql]# chown -R  root.mysql ./*
[[email protected] mysql]#scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql

6)提供MySQL的主配置文件

[[email protected] mysql]# mkdir /etc/mysql
[[email protected] mysql]# cpsupport-files/my-large.cnf /etc/mysql/my.cnf

7)编辑/etc/mysql/my.cnf配置文件

在/etc/mysql/my.cnf配置文件中在[mysqld]标签中添加数据库存放目录。

datadir = /data/mysql

8)为MySQL提供服务脚本

[[email protected] mysql]# cpsupport-files/mysql.server /etc/rc.d/init.d/mysqld
[[email protected] mysql]# chmod +x/etc/rc.d/init.d/mysqld
[[email protected] mysql]# chkconfig --add mysqld
[[email protected] mysql]# chkconfig mysqld on

9)设置mysql命令的环境变量

[[email protected] mysql]# vim/etc/profile.d/mysql.sh
         PATH=/usr/local/mysql/bin:$PATH
[[email protected] mysql]# ./etc/profile.d/mysql.sh

10)设置mysql命令的man帮助手册

在/etc/man.cnf中添加如下一行

         MANPATH/usr/local/mysql/man

11)导出mysql头文件至/usr/include

[[email protected] mysql]# ln -s /usr/local/mysql/include/mysql//usr/include/
12)输出MySQL库文件
[[email protected] mysql]# echo‘/usr/local/mysql/lib‘ > /etc/ld.so.conf.d/mysql.conf
[[email protected] mysql]# ldconfig

3、编译安装PHP

1)编译安装php

tar xf php-5.6.4.tar.xz
cd php-5.6.4
./configure --prefix=/usr/local/php--with-mysql=/usr/local/mysql --with-openssl--with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring--with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib--with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs--with-mcrypt --with-config-file-path=/etc/php--with-config-file-scan-dir=/etc/php/php.d --with-bz2  --enable-maintainer-zts
make && make install

2)提供php配置文件

[[email protected] php-5.6.4]# mkdir/etc/php/php.d -p
[[email protected] php-5.6.4]# cpphp.ini-production /etc/php/php.ini

3)编辑apache配置文件httpd.conf,以apahce支持php

在/etc/apache24/httpd.conf添加如下两行:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source.phps

定位至DirectoryIndex:

DirectoryIndex index.php  index.html

三、配置LAMP

1、解压Discuz和phpMyadmin程序

[[email protected] tools]#mkdir /web
[[email protected] tools]# unzipDiscuz_X3.2_SC_GBK.zip
[[email protected] tools]# mv upload/ /web/discuz
[[email protected] tools]# unzipphpMyAdmin-4.0.5-all-languages.zip
[[email protected] tools]# mv phpMyAdmin-4.0.5-all-languages  /web/pma

2、提供httpd虚拟机为www.blog.com和www.phpmysql.com

修改/etc/apache24/httpd.conf的配置文件,开启虚拟文件:

Include/etc/apache24/extra/httpd-vhosts.conf

在编辑/etc/apache24/extra/httpd-vhost.conf文件,内容如下:

<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot "/web/discuz"
   ServerName www.bbs.com
   ServerAlias bbs.com
   ErrorLog "logs/bbs.com-error_log"
   CustomLog "logs/bbs.com-access_log" combined
   <Directory "/web/discuz">
     AllowOverride None
     Options None
     Require all granted
  </Directory>
</VirtualHost>
 
<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot "/web/pma"
   ServerName www.phpmysql.com
   ServerAlias phpmysql.com
   ErrorLog "logs/phpmysql.com-error_log"
   CustomLog "logs/phpmysql.com-access_log" combined
   <Directory "/web/pma">
     AllowOverride None
     Options None
     Require all granted
   </Directory>
</VirtualHost>

3、重新加载httpd服务的配置文件

[[email protected] extra]# service httpd24 reload

4、添加用于BBS的数据库和设置管理MySQL的用户名和密码

MariaDB [(none)]> CREATE DATABASE bbs;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> GRANT ALL ON bbs.* TO‘userbbs‘@‘localhost‘ IDENTIFIED BY ‘bbspass‘;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL ON bbs.* TO‘userbbs‘@‘127.0.0.1‘ IDENTIFIED BY ‘bbspass‘;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> SET PASSWORD FOR‘root‘@‘localhost‘ =PASSWORD(‘mysql‘);
Query OK, 0 rows affected (0.05 sec)
MariaDB [(none)]> SET PASSWORD FOR‘root‘@‘127.0.0.1‘ =PASSWORD(‘mysql‘);
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

四、浏览BBS和PHPMyAdmin

1、编辑客户端的hosts文件,添加如下内容

172.16.9.21 www.bbs.com
172.16.9.21 www.phpmysql.com

2、设置/web/discuz目录中相应目录的权限和属组

[[email protected]~]# cd /web/discuz/
[[email protected] discuz]# chown -R .daemon./config/ data/ uc_client/ uc_server/
[[email protected] discuz]# chmod g+w -R  ./config/ data/ uc_client/ uc_server/

3、在输入浏览器中输入www.bbs.com就开始初始化BBS,输入相应的数据库名和密码后,点击安装。你就可以开始布置BBS了。

4、在浏览器输入www.phpmysql.com,使用root用户名登录,密码为mysql,登录后就可以管理MySQL数据库了。

时间: 2024-10-12 01:01:16

基于编译安装LAMP架构---模块化的相关文章

编译安装LAMP架构之Discuz论坛

(写在前面:本篇内容较长,请小伙伴备好咖啡或红牛食用)源码包(无密码):https://pan.baidu.com/s/1W8WQ0RQGGY9_iKiskEdOoQ&shfl=sharepset LAMP平台概述 目前最为成熟的一种企业网站应用模式,可提供动态Web站点应用及开发环境 构成组件 Linux.Apache.MySQL. PHP/Perl/Python LAMP的优势 成本低廉可定制.易于开发 编译安装实验步骤 第一步:通过Windows下载并共享LAMP软件包 第二步:在Linu

linux架构学习第二十七天 编译安装LAMP(php-fpm)

内容: 第一部分:编译安装LAMP(php以模块的方式工作) 第二部分:编译安装LAMP(php以fpm的方式工作) 第一部分: 前面介绍我们知道, apache + php结合的方式大概几种: 第一种:把php编译时直接编译成apache的模块.module模块化的方式进行工作 第二种:CGI.通用网关接口.apache基于CGI跟hph通信 第三种:fastcgi方式,他也是一种协议,在这种模块下他们两个是这样结合的: 本来php是做为一个模块或都是php解析器运行的,不是监听在某个套接字上

编译安装LAMP[两种结合方式]

本文旨在实践编译安装LAMP环境,搭建Zblog系统,使用Xcache为PHP加速,分离PHP与Apache Server LAMP基础知识 Linux + Apache + MySQL[MariaDB] + PHP[Perl|Pyton] 是一套基础的web环境: Apache有2.2版本,和最新的2.4版本,2.4版本支持Event MPM可用作生产环境,在http2.2中有3种MPM,为不同的进程文件,切换需要重启Apache服务:而2.4中MPM做成了DSO,可动态加载切换: Apach

编译安装LAMP及分离式LAMP平台构建

前言 LAMP网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网站服务器,MySQL数据库,Perl.PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富.轻量.快速开发等特点,与微软的.NET架构相比,LAMP具有通用.跨平台.高性能.低价格的优势,因此LAMP无论是性能.质量还是价格都是企业搭建网站的首选平台.但由于MySQL作为SUN公司

实践作业之编译安装LAMP

题目1:httpd所支持的处理模型有哪些,他们的分别使用于哪些环境. (1)prefork模型: 功能:多进程模型,每个进程响应一个请求 工作方式: ①一个主进程:负责生成子进程及回收子进程(工作进程),负责创建套接字,负责接收请求,并将其派发给某子进程进行处理 ②n个子进程:每个子进程一个请求 主控进程会预先生成几个空闲子进程,随时等待用于响应用户请求.根据处理过程,可能会改变空闲进程的数量,需要定义最大空闲和最小空闲 (2)worker模型: 功能:多进程多线程模型,每个线程处理一个用户请求

fcgi模式下编译安装LAMP+xcache

php的工作模式: php在lamp环境下共有三种工作模式:CGI模式.apache模块.FastCGI模式.CGI模式下运行PHP,性能不是很好.作为apache的模块方式运行,在以前的课程中编译安装lamp已经介绍过了.FastCGI的方式和apache模块的不同点在于:FastCGI方式PHP是一处独立的进程,所有PHP子进程都由PHP的一个叫作php-fpm的组件负责管理:而apache模块化方式运行的PHP,则是apache负责调用PHP完成工作.PHP的FastCGI方式性能要比ap

在同一主机上基于编译实现lamp并构建虚拟机使用pma和discuz

在同一主机上基于编译实现lamp并构建虚拟机使用pma和discuz 目的: ①通过手动编译方式,在linux系统上安装apache http2.4,mariadb,php构建lamp;其中php与http的结合方式需要构建两种:1.php以http模块方式安装:2.php以独立守护进程方式安装 : ②在上面构建的lamp基础上设置两个虚拟机,分别使用安装phpMyAdmin和discuz 第一部分:模块话php安装lamp 一.准备工作 (一).查询有没有安装过amp的程序包: [[email

编译安装LAMP之二

在上一篇中,我们已经安装httpd,以及mysql服务.那么接下来,我们将安装php. 我们知道,php工作的模式有三种:cgi, module, fastcgi.通常,apache与php是以模块的方式结合的,鉴于fastcgi的工作模式会有更好的效率,待会儿也会讲解. 一.以模块化的方式编译php, php作为apache的模块被加载 如果我们先前没有安装: libxml2 libxml2-devel bzip2-devel libmcrypt libmcrypt-devel 需要安装这些包

ubuntu10.04编译安装LAMP

ubuntu10.04编译安装LAMP以及简单wordpress的使用 : http://linuxme.blog.51cto.com/1850814/971631 一.源码安装LAMP 网上有一堆关于介绍lamp的在这里我就不罗嗦了,直接上配置过程 1.apr包的安装 apr简介: The mission of the Apache Portable Runtime (APR) project is to create and maintain software libraries that