LAMP架构介绍
LAMP是 Linux、Apache、MySQL、PHP的简写,即把Apache MySQL PHP 安装在linux系统上,组成一个环境来运行php网站。这里的Apache是httpd服务。这些可以安装在一个机器上,也可以安装在多台机器上,但是httpd和php安装在一台机器上(php作为httpd的一个模块存在, 他们两者必须要在一起,才能实现效果)。
1:apache主要实现如下功能:
(1):处理http的请求、构建响应报文等自身服务
(2):配置让Apache支持PHP程序的响应
(3):配置Apache具体处理php程序的方法
2: mysql主要实现如下功能:
(1):提供PHP程序对数据的存储
(2):提供PHP程序对数据的读取
3: php主要实现如下功能:
(1):提供apache的访问接口,即CGI或Fast CGI
(2):提供PHP程序的解释器
(3):提供mairadb数据库的连接函数的基本环境
由此可知,要实现LAMP在配置每一个服务时,安装功能需求进行配置,即可实现LAMP的架构。
一:源码手工编译安装Apache
Apache源于A Patchy Server,是著名的开源Web服务软件,支持多种网页编程语言,官方站点:http://httpd.apache.org/;由Apache软件基金会(ASF)负责维护,
Apache服务器的源码包 参考地址:httpd://httpd.apache.org/download.cgi
1,准备工作
卸载httpd及相关依赖包:
[root@localhost ~]#rpm -e httpd --nodeps
2,源码包共享
所需软件包:httpd-2.4.29源码包 及 apr-1.6.2、apr-util-1.6.0 两个底层运行的环境包,作用是支撑apache能够跨平台访问。
首先自行下载源码包,放在一个文件夹share(自行定义),通过共享share文件,能够让Linux系统同样可使用共享的软件包,是比较简便有效的方式。
3,开始编译安装
(1)查看windows共享出哪些文件,把windows共享的文件share,挂载到/mnt上。 最后查看是否挂载成功
[root@localhost ~]# smbclient -L //192.168.56.1/
[root@localhost ~]# mount.cifs //192.168.56.1/share /mnt
[root@localhost ~]# df -h
(2) 把这3个软件包解压到/opt下:
[root@localhost mnt]# tar zxvf apr-1.6.2.tar.gz -C /opt
[root@localhost mnt]# tar zvxf apr-util-1.6.0.tar.gz -C /opt
[root@localhost mnt]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt
(3)把2个底层运行的软件包 移动到源码包的srclib中,并重名为apr、apr-util。然后下载所需要的环境包
[root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util
[root@localhost opt]# yum install gcc gcc-c++ make pcre pcre-devel expat-devel perl -y
(4)手工编译脚本configure配置:(注意路径,要在源码包下进行配置)
[root@localhost httpd-2.4.29]# ./configure
–prefix=/usr/local/httpd
–enable-so
–enable-rewrite
–enable-charset-lite
–enable-cgi
(5)make 编译过程是把刚才的配置文件装换成机器可识别可执行的二进制文件。make install 是安装的过程。
[root@localhost httpd-2.4.29]# make
[root@localhost httpd-2.4.29]# make install
(6)把apache的启动脚本复制到/etc/init.d底下,命令为httpd,便于服务器管理。
[root@localhost httpd-2.4.29]# cd /usr/local/httpd
[root@localhost bin]# cp apachectl /etc/init.d/httpd
(7)编辑启动脚本:添加两行声明。
[root@localhost bin]# vim /etc/init.d/httpd
(8)把httpd加入到server管理器中,这样用service才能管理控制httpd。
[root@localhost init.d]# chkconfig --add httpd
(9)修改httpd服务的主配置文件:把监听地址开启并更改,把域名开启并更改。
[root@localhost init.d]# vim /usr/local/httpd/conf/httpd.conf
(10)为主配置文件与命令文件 建立软连接 便于更改管理,并用#httpd -t 查看语法是否正确。
[root@localhost init.d]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost init.d]# ln -s /usr/local/httpd/bin/* /usr/local/bin
[root@localhost init.d]# httpd -t
(11)关闭防火墙及增强性安全功能,开启httpd服务并查看服务是否开启。
[root@localhost init.d]# systemctl stop firewalld
[root@localhost init.d]# setenforce 0
[root@localhost init.d]# systemctl start httpd
[root@localhost init.d]# netstat -ntap | grep 80
(12)到网站站点,查看默认首页内容。并用浏览器访问网站,查看是否能看到首页内容。
[root@localhost init.d]# cd /usr/local/httpd/htdocs
打开网页输入ip地址访问网站首页,可看到首页内容,源码编译安装成功。
二:mysql手工编译安装
1,解压共享文件中的mysql源码包。
[root@localhost ~]# cd /abc
[root@localhost ~]# tar zvxf mysql-5.6.26.tar.gz -C /opt
(2)首先下载环境包,然后 cmake配置功能:指定安装路径、字符集、mysql数据目录
[root@localhost mysql-5.6.26]# yum install ncurses-devel autoconf cmake -y
[root@localhost mysql-5.6.26]# cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DEXTRA_CHARSETS=all
-DSYSCONFIDIR=/etc
-DMYSQL_DATADIR=/home/mysql/
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
(3)make编译及make install安装,把配置文件复制到系统自带的配置文件,把启动脚本复制到init.d底下,便于管理。
[root@localhost mysql-5.6.26]# make
[root@localhost mysql-5.6.26]# make install
[root@localhost mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@localhost mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld
(4)给启动脚本可执行权限,并把mysqld加入到SERVER管理器中,便于管理。
然后修改环境变量,使系统可识别命令文件。
[root@localhost mysql-5.6.26]# chmod 755 /etc/init.d/mysqld
[root@localhost mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld
[root@localhost mysql-5.6.26]# vim /etc/profile
(5)source命令是更改生效,查看新环境变量。新环境变量生成之后,mysql的命令就可以用TAB键补全,即可使用mysql的命令。
[root@localhost mysql-5.6.26]# source /etc/profile
[root@localhost mysql-5.6.26]# echo $PATH
(6)mysql用户不存在,需要创建,且不允许登录。属主属组改为mysql。
[root@localhost mysql-5.6.26]# useradd -s /sbin/nologin mysql
[root@localhost mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql
(7)初始化数据库操作,配置数据库。
[root@localhost mysql-5.6.26]# ls /usr/local/mysql/scripts
mysql_install_db
[root@localhost mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db
–user=mysql
–ldata=/var/lib/mysql
–basedir=/usr/local/mysql
–datadir=/home/mysql
(8)修改启动脚本,把文件路径 数据库保存路径添加进去。
[root@localhost mysql-5.6.26]# vim /etc/init.d/mysqld
(9)开启服务,并查看3306端口是否开启。
(10)给root账号设置新密码。并登录进去,输入密码。
[root@localhost mysql-5.6.26]# mysqladmin -uroot -p password “111”
[root@localhost mysql-5.6.26]# mysql -uroot -p
mysql>show databases; 查看数据库用户
mysql>exit
三:php手工编译安装
(1)把php源码包从共享文件解压到/opt下。
[root@localhost mysql-5.6.26]# cd /abc
[root@localhost abc]# ls
[root@localhost abc]# tar jvxf php-5.6.11.tar.bz2 -C /opt
[root@localhost abc]# cd /opt
(2)下载所需的环境包,然后在当前路径下执行脚本配置。
[root@localhost opt]# cd php-5.6.11/
[root@localhost php-5.6.11] yum install gd libpng libpng-devel pcre pcre-devel libxml2-devel libjpeg-devel -y
[root@localhost php-5.6.11]# ./configure
–prefix=/usr/local/php5
–with-gd
–with-zlib
–with-apxs2=/usr/local/httpd/bin/apxs
–with-mysql=/usr/local/mysql
–with-config-file-path=/usr/local/php5
–enable-mbstring
(3)进行make编译 和make install安装,然后把php的配置文件放到/usr/local/php5/php.ini
[root@localhost php-5.6.11]# make
[root@localhost php-5.6.11]# make install
[root@localhost php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini
[root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin
(4)修改apache的配置文件,添加两行,意思是支持php文件和模块。并把php首页index.php添加进去,放到index.html后面。
[root@localhost php-5.6.11]# vim /etc/httpd.conf
(5)进入网站站点,把默认首页更改为index.php ,并重写编辑符合php格式的文件内容。
[root@localhost php-5.6.11]# cd /usr/local/httpd/htdocs
[root@localhost htdocs]# ls
index.html
[root@localhost htdocs]# mv index.html index.php
[root@localhost htdocs]# vim index.php
(6)重启两个服务,在浏览器上输入IP,可以打开php首页。
[root@localhost htdocs]# systemctl restart httpd
[root@localhost htdocs]# service mysqld restart
Shutting down MySQL. SUCCESS!
Starting MySQL. SUCCESS!
LAMP架构搭建成功。
四:安装论坛
(1)首先用create 命令创建数据库。
[root@localhost htdocs]# mysql -uroot -p 进入数据库:
(2)给数据库用户bbs创建密码及提权。
(3)把源码包解压到/opt下,并把php自带的upload 复制到apache的网站站点中的bbs里。
[root@localhost abc]# unzip Discuz_X2.5_SC_UTF8.zip -d /opt
[root@localhost opt]# cd /usr/local/httpd/htdocs
[root@localhost htdocs]# ls
bbs index.php
(4)在浏览器中再次刷新,在ip地址后跟/bbs ,显示论坛Discuz的安装程序向导,点击我同意,显示无法继续安装,是因为数据库的属主问题。
(5)把数据里这4个目录及文件的属主更改为daemon,数据库是由daemon用户进行管理的。
[root@localhost bbs]# cd /usr/local/httpd/htdocs/bbs
[root@localhost bbs]# ls
[root@localhost bbs]# chown -R daemon ./config
[root@localhost bbs]# chown -R daemon ./data
[root@localhost bbs]# chown -R daemon ./uc_client
[root@localhost bbs]# chown -R daemon ./uc_server/data