目录
Linux系统——Apache服务器——Mysql数据库——PHP环境(PHP一般放在最后,其他的没有严格要求)
Apache需要apr、pcre等软件包的支持,从系统光盘预安装这些软件及开发工具包
一、LAMP平台概述
- LAMP架构:
LAMP平台是协同工作的一整套系统和相关软件,能够提供动态Wen站点服务以及应用开发环境,是目前最为成熟也是比较传统的一种企业网站应用模式
- 构成组件:
(1)Linux系统: LAMP架构的基础,提供用于支撑Web站点的操作系统
(2)Apache网站服务: LAMP架构的前端,向用户提供网站服务、发送网页、图片等文件内容
(3)MySQL数据库服务: LAMP架构的后端,存储各种账号信息、产品信息、客户资料、业务数据等,其他程序可以通过SQL语句进行查询、更改
(4)PHP/Perl/Python编程语言: 负责解释动态网页文件,提供Web应用程序开发和运行环境
- LAMP服务平台的优势:
(1)成本低廉: 开源,可快速获得免费使用
(2)可定制: 拥有大量的额外组件和扩展功能模块,可以根据需要定制或者自行开发添加新功能
(3)易于开发: 代码简洁,与HTML语言结合度高,容易修改网页代码
(4)方便易用: PHP、Perl属于解释性语言,开发的程序不需要编译,可以直接移植使用
(5)安全和稳定: 开源优势,发现问题能够很快解决
二、安装LAMP平台
- 安装顺序
Linux系统——Apache服务器——Mysql数据库——PHP环境
(PHP一般放在最后,其他的没有严格要求)
(1)安装Linux系统(略)
(2)安装Apache服务器软件
Apache服务器软件安装
httpd服务的默认监听端口: 80(为了避免端口冲突,先用rpm的方式卸载已安装的httpd)
[root@centos7-007 ~]# rpm -e httpd --nodeps
错误:未安装软件包 httpd
-
Apache需要apr、pcre等软件包的支持,从系统光盘预安装这些软件及开发工具包
[root@centos7-007 ~]# mkdir /media (创建挂载目录)
[root@centos7-007 ~]# mount /dev/cdrom /media/cdrom (把镜像文件挂载)
[root@centos7-007 ~]# vim /etc/yum.repos.d/centos.repo
(写一个yum库,写之前,进去目录中,先用rm -rf * 删除一下文件在创建,后缀是.repo就行)
[aaa]
name=这是一个本地YUM
baseurl=file:///media/cdrom (这里写镜像挂载的目录即可)
enabled=1
gpgcheck=0
[root@centos7-007 ~]# yum -y install apr apr-devel cyrus-sasl-devel expat-devel libdb-devel apr-util-devel apr-util pcre-devel pcre openldap-devel
为了避免系统中存在一些依赖性关系包没有安装的问题,可以使用yum装,方便一点
源码编译安装Apache
[root@centos7-007 ~]# ll (上传源码包)
总用量 8268
-rw-------. 1 root root 1220 9月 3 18:16 anaconda-ks.cfg
-rw-r--r-- 1 root root 8460433 12月 9 17:25 httpd-2.4.25.tar.gz
[root@centos7-007 ~]# tar zxvf httpd-2.4.25.tar.gz -C /usr/src/ (解压到指定目录)
[root@centos7-007 ~]# cd /usr/src/httpd-2.4.25/ (切换到解压的目录)
[root@centos7-007 httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi && make && make install
(根据需要进行配置,加载相应的模块,&&是执行完前一个命令在执行后一个命令,直接使用&&编译及安装)
[root@centos7-007 httpd-2.4.25]# cd
[root@centos7-007 ~]# ls /usr/local/httpd/ (确认安装结果,安装完成会有12个文件)
bin cgi-bin error icons logs manual
build conf htdocs include man modules
[root@centos7-007 ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/ (创建软连接)
[root@centos7-007 ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
(把Apache的服务脚本复制到/etc/init.d下并且命名为httpd)
[root@centos7-007 ~]# vi /etc/init.d/httpd
(进入刚刚复制的文件,再第二行写入chkconfig: 35 85 21 ,用于添加系统服务时识别)
#!/bin/sh
#chkconfig: 35 85 21
。。。。。
添加chkconfig 识别配置,将该服务在3、5 级别启动;启动和关闭的顺序分别为85 、21
保存退出
[root@centos7-007 ~]# chkconfig --add httpd (添加httpd为系统服务)
发现已经可以通过systemctl管理http服务
[root@centos7-007 ~]# systemctl start httpd
[root@centos7-007 ~]# systemctl status httpd
● httpd.service - (null)
Loaded: loaded (/etc/rc.d/init.d/httpd; bad; vendor preset: disabled)
Active: active (running) since 三 2020-12-09 17:36:45 CST; 11s ago
Docs: man:systemd-sysv-generator(8)
Process: 18095 ExecStart=/etc/rc.d/init.d/httpd start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/httpd.service
├─18098 /usr/local/httpd/bin/httpd -k start
├─18099 /usr/local/httpd/bin/httpd -k start
├─18100 /usr/local/httpd/bin/httpd -k start
└─18101 /usr/local/httpd/bin/httpd -k start
12月 09 17:36:45 centos7-007 systemd[1]: Starting (null)...
12月 09 17:36:45 centos7-007 httpd[18095]: AH00558: httpd: Co...
12月 09 17:36:45 centos7-007 systemd[1]: Started (null).
Hint: Some lines were ellipsized, use -l to show in full.
[root@centos7-007 ~]#
(3)安装mysql数据库
MySQL数据库的安装
为了避免端口冲突、程序冲突等问题,得先确定本机没有使用rpm的方式安装mysql-server和mysql的软件包
[root@mysql ~]#rpm -q mysql-server mysql
- 使用yum安装ncurses-devel 插件包,如果没有本地yum源,可以先写一份本地yum源
- 挂载光盘镜像
[root@mysql ~]#mount /dev/cdrom /media/cdrom
[root@mysql ~]#yum -y install ncurses-devel
[root@mysql~]#tar zxvf cmake-2.8.6.tar.gz
[root@mysql cmake- 2.8.6]#cd cmake-2.8.6/
[root@mysql cmake- 2.8.6]#./configure
[root@mysql cmake- 2.8.6]#gmake && gmake install
[root@mysql ~]#tar zxvf mysql-5.6.36.tar.gz -C /usr/src
[root@mysql mysql-5.6.36]#cd /usr/src/mysql-5.6.36/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
- 安装后得对数据库的目录权限、主配置文件做一些调整
递归改变mysql的主目录的属主和属组用户为mysql,删除默认配置文件,在主目录里重新拷贝一份 -
[root@mysql ~]#chown -R mysql:mysql /usr/local/mysql/ [root@mysql ~]#rm -rf /etc/my.cnf [root@mysql ~]#cd /usr/local/mysql [root@mysql mysql]#cp support-files/my-default.cnf /etc/my.cnf
创建配置文件
-
[root@mysql mysql]# vim /usr/lib/systemd/system/mysqld.service [Unit] Description=Mysql Server After=network.target [Service] User=mysql Group=mysql Type=forking PIDFILE=/usr/local/mysql/data/www.pid ExecStart=/usr/local/mysql/bin/mysqld.sh start ExecStop=/usr/local/mysql/bin/mysqld.sh stop [Install] WantedBy=multi-user.target `保存退出`
(4)安装PHP软件包
-
******避免发生程序冲突,先卸载用RPM方式安装的PHP以及相关依赖包 [root@LAMP ~]# rpm -e php php-cli php-ldap php-common php-mysql –nodeps 错误:未安装软件包 php 错误:未安装软件包 php-cli 错误:未安装软件包 php-ldap 错误:未安装软件包 php-common 错误:未安装软件包 php-mysql 错误:未安装软件包 –nodeps ******挂载镜像文件 [root@LAMP ~]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载 ******安装PHP的依赖包 [root@LAMP ~]# yum -y install zlib-devel xz-devel libxml2-devel 。。。。。 完毕! ******安装扩展工具库(libmcrypt、mhash、mcrypt 等) (1)安装libmcrypt(上传源码包libmcrypt-2.5.8.tar.gz) [root@LAMP ~]# tar zxvf libmcrypt-2.5.8.tar.gz -C /usr/src/ [root@LAMP ~]# cd /usr/src/libmcrypt-2.5.8/ [root@LAMP libmcrypt-2.5.8]# ./configure && make &&make install (配置编译安装) [root@LAMP libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/ (优化执行路径) (2)、安装mhash(上传源码包mhash-0.9.9.9.tar.gz)(记得要cd到家目录) [root@LAMP ~]# tar zxvf mhash-0.9.9.9.tar_20190806_170830.gz -C /usr/src/ [root@LAMP ~]# cd /usr/src/mhash-0.9.9.9/ [root@LAMP mhash-0.9.9.9]# ./configure && make && make install (配置编译安装) [root@LAMP mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.* /usr/lib/ (优化执行路径) (3)、安装mcrypt(上传源码包mcrypt-2.6.8.tar.gz)(记得cd到家目录) [root@LAMP ~]# tar zxvf mcrypt-2.6.8.tar.gz -C /usr/src/ [root@LAMP ~]# cd /usr/src/mcrypt-2.6.8/ [root@LAMP mcrypt-2.6.8]# ./configure (发现报错了) 解决报错:export LD_LIBRARY_PATH=/usr/local/lib 再次配置: [root@LAMP mcrypt-2.6.8]# ./configure (发现成功) [root@LAMP mcrypt-2.6.8]# make && make install (编译并安装) ******编译安装PHP(上传源码包php-5.5.38.tar.gz)(记得cd到家目录) [root@LAMP ~]# tar zxvf php-5.5.38.tar.gz -C /usr/src/ [root@LAMP ~]# cd /usr/src/php-5.5.38/ [root@LAMP php-5.5.38]# ./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php5 --enable-mbstring && make && make install (配置编译安装) 至此,安装PHP软件包完成